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

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

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

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

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

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

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

Каталог

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

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

Если передано три идентификатора товаров и кэш пустой, сколько всего будет запросов к базе данных: 3, меньше или больше?

По трём ID и пустому кешу число SQL-запросов определить нельзя: всё зависит от реализации загрузки. Может быть один пакетный запрос, три отдельных или больше из-за связанных данных.

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

Мы нашли сервис, который делает INSERT в эту таблицу. После добавления уникального ограничения сервис начал падать с ошибкой. Можем ли мы модифицировать SQL-запрос, чтобы он не падал при срабатывании уникального ограничения, не трогая логику приложения?

В PostgreSQL можно использовать INSERT ... ON CONFLICT ... DO NOTHING, если по бизнес-правилам повторную вставку допустимо пропустить. Но совместимость с ожиданиями приложения нужно проверить.

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

Как Python ORM защищает от SQL-инъекций под капотом?

ORM обычно отделяет SQL-шаблон от значений параметров и передаёт их драйверу для безопасной привязки. Пользовательские данные не должны становиться частью синтаксиса запроса.

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

Что такое Identity Map в паттерне Data Mapper (SQLAlchemy)? Как этот механизм гарантирует, что два разных запроса к одной и той же строке базы данных в рамках одной сессии вернут ссылку на один и тот же объект в памяти Python?

Identity Map хранит соответствие идентичности строки и Python-объекта внутри Session. При повторной загрузке той же ORM-сущности SQLAlchemy переиспользует уже известный экземпляр.

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

Как в PostgreSQL диагностируете медленные запросы в production? Какие инструменты используете?

Начните с pg_stat_statements, журналов медленных запросов и pg_stat_activity. Затем различите дорогой план, ожидание блокировок, I/O и чрезмерную частоту вызовов.

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

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

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

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

Как правильно, пошагово, безопасно удалить столбец из базы данных, который больше не используется, но старый код всё ещё может к нему обращаться?

Удаляйте колонку поэтапно: сначала уберите зависимости приложения и фоновых процессов, переждите окно совместимости и только отдельной миграцией удалите столбец.

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

Приходилось ли оптимизировать запросы и искать тяжёлые запросы в PostgreSQL?

Опишите реальный цикл оптимизации: найти запрос по статистике или slow log, посмотреть план, исправить причину и сравнить результат на сопоставимых данных.

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

Пожалуйста, давайте сосредоточимся на теме. Какие метрики плана выполнения PostgreSQL помогают выявить узкие места в запросах?

Сравнивайте estimated и actual rows, время узлов, loops, чтение buffers, отбрасываемые строки и выход сортировок на диск. Это помогает различать ошибку оценок, лишнюю работу и I/O.

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

Откуда данные появляются в Redis? Какая система и база данных стоит за складом?

По вопросу нельзя определить конкретную систему склада. Обычно Redis наполняется приложением из основной БД, через события/CDC либо используется как самостоятельное оперативное хранилище.

Читать ответ