Какую базу данных использовали на проекте
Что проверяют
Насколько глубоко вы работали с базой, а не только её название. По ответу интервьюер решает, куда копать дальше: уровни изоляции, индексы, пул соединений, миграции. Следом обычно звучит «почему выбрали именно её» или «какая была самая неприятная проблема с базой».
Как отвечать
Это вопрос про ваш опыт, поэтому каркас строится на реальном проекте, а примеры и цифры должны быть вашими:
- что и в какой роли: например, PostgreSQL как основное хранилище, Redis для кэша и блокировок, ClickHouse для аналитики. Одной фразой, что хранили и какие объёмы;
- как работали из Go: драйвер
pgxс пуломpgxpoolилиdatabase/sql, генерация кода через sqlc или ручные запросы, GORM, если был. Миграции через goose или golang-migrate; - что делали лично: проектировали схему, добавляли индексы по результатам
EXPLAIN ANALYZE, настраивали пул, писали миграции без простоя; - одна история с проблемой: медленный запрос, N+1, исчерпание соединений, дедлок. Как заметили, чем мерили, что изменили, какой получили результат;
- выбор: если базу выбирали вы, объясните почему. Если досталась по наследству, так и скажите и назовите, что бы оставили, а что поменяли.
Если опыт скромный, например база была только через ORM и схему вела другая команда, признайте это прямо и покажите, что понимаете происходящее под ORM: какие запросы он генерирует и где появляются N+1. Это звучит лучше, чем пересказ документации от первого лица.
Где спотыкаются
Отвечают одним словом «PostgreSQL» и ждут следующего вопроса. Интервьюер вытягивает подробности сам, и разговор превращается в допрос.
Приводят круглые проценты вроде «ускорили базу на 30%» без метрики и способа замера. Первый же вопрос «как мерили?» разрушает всю историю.
Рассказывают «мы выбрали, мы оптимизировали», не отделяя свой вклад. Интервьюер нанимает вас, а не команду, и обязательно уточнит, что именно сделали вы.