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

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

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

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

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

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

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

Каталог

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

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

Уровни изоляции

В PostgreSQL REPEATABLE READ предотвращает перезапись конкурентно изменённой строки из старого снимка, завершая такую транзакцию ошибкой. Её нужно повторить целиком; для более общих инвариантов рассмотрите SERIALIZABLE.

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

После оптимизации PostgreSQL запрос стал быстрее, но интеграционный тест иногда возвращает транзакции другого пользователя. До релиза один день, а исправление затрагивает фильтр Django ORM. Что выберешь первым: выпускать ускорение или остановиться на проверке корректности?

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

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

Как обеспечить стабильную работу PostgreSQL и как диагностировать причины деградации производительности?

Нужны наблюдаемость, проверенное резервное копирование, контроль роста данных и ограничение нагрузки. При деградации сначала определите, где ожидание: CPU, диск, locks, соединения или план запроса.

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

Объясните разницу между индексами B-Tree, GIN и GiST в PostgreSQL. Для каких типов данных и поисковых запросов (LIKE, полнотекстовый поиск, геокоординаты) эффективен каждый из них?

B-Tree подходит для равенства, диапазонов и сортировки; GIN — для поиска компонентов сложного значения; GiST — расширяемая структура для пространственных и других специализированных операторов.

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

Какой механизм базы данных предотвращает создание дублей при конкурентных запросах с одним ключом идемпотентности?

Уникальное ограничение или уникальный индекс на область операции и Idempotency-Key. Оно атомарно не позволяет двум конкурентным транзакциям создать две записи с одним логическим ключом.

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

Может ли быть два первичных ключа на одной таблице в PostgreSQL?

Нет, у таблицы PostgreSQL может быть только одно ограничение PRIMARY KEY. Оно может включать несколько колонок; дополнительные уникальные ограничения не являются вторым первичным ключом.

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

После развертывания в Kubernetes p95 запросов к PostgreSQL вырос с 40 до 900 мс, хотя CPU базы не перегружен. Откат релиза затронет важные исправленные сценарии: что проверишь первым и почему?

Сначала разделите ожидание соединения, сеть, блокировки и собственно выполнение SQL. Низкий CPU не исключает задержки из-за пула, диска или locks; откат без локализации может не помочь.

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

Уровень изоляции устанавливается для всей базы данных, конкретной таблицы, сессии или отдельной транзакции?

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

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

Что такое атака SQL-инъекции через хранимые процедуры и всегда ли использование ORM даёт стопроцентную защиту от инъекций?

Хранимая процедура уязвима, если склеивает SQL из недоверенных строк и затем выполняет его. ORM снижает риск при параметризованных операциях, но не даёт стопроцентной защиты для raw SQL и динамических фрагментов.

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

В Docker-контейнере FastAPI есть фоновые задачи AsyncIO. Kubernetes завершает Pod, а часть операций ещё пишет результаты в PostgreSQL. Что сделаешь первым, чтобы не потерять работу при остановке?

Сначала прекращайте приём новой работы и организуйте контролируемое завершение зарегистрированных задач до закрытия пула БД. Для гарантии восстановления после убийства Pod нужна сохранённая очередь или запись задания.

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

Почему физический размер outbox-таблицы в PostgreSQL может значительно превышать ожидаемый логический размер при высокой нагрузке?

Частые UPDATE и DELETE создают мёртвые версии строк и индексные записи, которые не исчезают немедленно. Размер также включает свободное место, индексы и возможные TOAST-данные.

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

GitLab CI собрал Docker-образ, но интеграционные тесты проходят только локально: в Kubernetes сервис иногда стартует раньше PostgreSQL и падает. Релиз нужен сегодня. Какой путь выберешь, чтобы не выпустить нестабильный образ?

Не выпускайте образ с невоспроизводимой готовностью зависимостей. Добавьте ограниченное ожидание/повторы подключения, корректные probes и интеграционную проверку в окружении, похожем на Kubernetes.

Читать ответ