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

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

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

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

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

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

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

Каталог

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как в PostgreSQL называется хранилище, которое отвечает за репликацию и восстановление данных? Как это происходит?

Это WAL — журнал предзаписи, хранящий записи изменений. Он позволяет восстановить состояние после сбоя и передавать изменения физическим репликам; это не отдельная копия всех таблиц.

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

Как устроена изоляция транзакций на основе MVCC в PostgreSQL и зачем строкам скрытые поля xmin и xmax?

MVCC хранит версии строк и определяет их видимость по snapshot и состоянию транзакций. xmin связан с созданием версии, а xmax — с её удалением, заменой или блокировочными деталями.

Читать ответ