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

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

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

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

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

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

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

Каталог

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

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

Что такое Advisory Locks (рекомендательные блокировки) в PostgreSQL и как их использовать для бизнес-оркестрации?

Advisory locks блокируют логический ключ, выбранный приложением, а не автоматически строки таблицы. Для короткой бизнес-операции удобна блокировка до конца транзакции.

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

Как устроены WAL-архивация и потоковая репликация в PostgreSQL? Что произойдёт с основным сервером, если реплика отключится, параметр wal_keep_size настроен некорректно или заполнится диск для хранения архивных журналов?

WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.

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

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

Сначала разделите время ожидания соединения, собственно SQL и сетевую часть. Низкий CPU БД не исключает locks, насыщение пула, I/O или изменившийся маршрут после Kubernetes deployment.

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

В каких случаях вместо PostgreSQL стоит выбрать MongoDB?

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

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

Что такое MVCC в PostgreSQL?

MVCC хранит несколько версий строк и выбирает видимые для снимка транзакции. Благодаря этому обычное чтение не должно блокировать каждое конкурентное изменение той же строки.

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

Как решить ту же задачу без Redis и без увеличения памяти сервиса: как преподготовить аналитические данные средствами PostgreSQL?

Для предварительной подготовки аналитики в PostgreSQL подходят materialized views или отдельные агрегатные таблицы. Приложение читает готовые результаты вместо повторного тяжёлого расчёта.

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

Можешь привести пример плохих индексов в PostgreSQL?

Плохой индекс — индекс, стоимость которого не оправдывается запросами: дублирующий, неиспользуемый или неподходящий по составу и условию. Он занимает место и замедляет изменения данных.

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

В Kubernetes приложение иногда стартует раньше PostgreSQL. Какой вариант поставки наиболее безопасен?

Из вариантов наиболее полный — отдельный контролируемый запуск миграций и readinessProbe приложения. Readiness не допускает трафик до готовности, а миграции не конкурируют при старте каждой реплики.

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

Почему в PostgreSQL уровень Repeatable Read защищает от фантомных чтений, хотя по ANSI SQL не должен?

Стандарт не запрещает более сильные гарантии: он допускает фантомы при Repeatable Read, но не требует их появления. PostgreSQL предотвращает их стабильным MVCC-снимком транзакции.

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

Что такое Phantom Read («фантомное чтение»)? Почему в PostgreSQL на уровне изоляции транзакций Repeatable Read фантомные чтения невозможны, хотя по стандарту ANSI SQL они допускаются на этом уровне?

Phantom read — изменение набора строк того же условия из-за commit другой транзакции. PostgreSQL Repeatable Read использует стабильный MVCC-снимок и не показывает такие новые строки.

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

Вы хорошо затронули пул соединений и сравнение планов запросов, а сетевую инфраструктуру упомянули поверхностно. Расскажите, как именно вы проверите насыщение пула соединений в PostgreSQL?

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

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

Что такое Write-Ahead Log (WAL) Compression в PostgreSQL? В каких случаях включение сжатия WAL-файлов снижает нагрузку на дисковую подсистему и сеть, а в каких приводит к деградации производительности из-за чрезмерной утилизации ядер CPU?

wal_compression в PostgreSQL сжимает прежде всего полные образы страниц в WAL, а не произвольный WAL-файл целиком. Это уменьшает объём записи и передачи ценой дополнительной работы CPU.

Читать ответ