Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

2523 вопроса 1634 компании 353 технологии

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 2523
Теория

В каких форматах происходит передача и хранение данных при взаимодействии с NoSQL базами данных?

Единого формата NoSQL нет: он зависит от модели БД и протокола. Документные системы, key-value, wide-column и графовые базы представляют данные по-разному.

Читать ответ
Поведенческий

У вас база данных выступала кэшем или использовался отдельный инструмент для кэширования?

Уточните, что было источником истины и какой слой ускорял чтение: Redis, память приложения, отдельная таблица или materialized view. Наличие кешей внутри СУБД не означает, что сама БД служила кешем.

Читать ответ
Лайвкодинг

Ревью декоратора: wraps, таймер и опасный return в finally

В декораторе ошибочны wrap, time.now и return в finally. Нужно functools.wraps, монотонный таймер и логирование без подмены результата; декоратор должен быть определён до применения.

Читать ответ
Теория

Что произойдёт в базе данных после добавления поля `management` в Django-модель и выполнения миграции? Приходилось ли создавать связующие таблицы вручную?

Результат зависит от типа management: обычное поле добавит столбец, ForeignKey — внешний ключ, ManyToManyField обычно создаст связующую таблицу. Одного имени поля для точного ответа недостаточно.

Читать ответ
Теория

На примере любой задачи расскажите, как вы искали узкие места в запросах к PostgreSQL: что использовали и как находили проблему?

Начните с конкретного медленного запроса и измерений, затем изучите план, фактические строки, чтение буферов и ожидания. Меняйте только выявленное узкое место и сравнивайте результат.

Читать ответ
System Design

Как синхронизировать данные в Redis-кэше и основной базе данных?

Обычно основная БД — источник истины, а Redis хранит восстанавливаемые копии. После commit изменения кеш инвалидируют или обновляют, учитывая гонки, повторы событий и допустимую устарелость.

Читать ответ
System Design

Давай порассуждаем логически: какая может быть неправильная миграция базы данных, из-за которой при переключении на старую версию приложения получаем 500 ошибку (например, если в одном деплое одновременно удалили столбец и код, который к нему обращается)? Как этого избежать?

Старая версия падает, если миграция уже удалила или переименовала используемый ею столбец. Откат кода не откатывает совместимость схемы; применяют expand–migrate–contract.

Читать ответ
Теория

Что такое «проблема разрастания индексов» (index bloat) в PostgreSQL, почему она возникает из-за механики MVCC и как с ней бороться?

Index bloat — избыточный размер индекса из-за устаревших записей и неэффективно заполненных страниц. MVCC откладывает удаление старых версий; частые изменения и задержанная очистка усугубляют рост.

Читать ответ
Теория

Как проверить команды запуска в README проекта

Сверьте каждую цель с Makefile и фактической конфигурацией. Комментарий к migrate нельзя считать доказательством запуска тестов: название и описание противоречат друг другу.

Читать ответ
Теория

Определение наилучших индексов для повышения производительности SQL‑запросов

Для AND подходит составной B-tree индекс по имени и фамилии. Для OR обычно нужны индексы с каждым из полей первым; один (lastName, firstName) не гарантирует быстрый поиск по одному firstName.

Читать ответ
System Design

Почему для ответов по транзакционной SQL-базе не стоит использовать векторный RAG как основной механизм?

Векторный поиск не гарантирует точные фильтры, суммы, JOIN и актуальное транзакционное состояние. Для числовых ответов по SQL-базе основой должны быть проверяемые запросы к данным.

Читать ответ