Как вы оцениваете свои знания по базам данных?
HR вопросыPythonбазы данныхоценка знанийразработка
Что проверяют
Насколько трезво вы оцениваете себя. Завышенная оценка сразу проверяется вопросом, а заниженная выглядит неуверенностью.
Как отвечать
Не давайте абстрактную оценку в баллах, разложите по областям и подкрепите примерами:
- SQL: соединения, группировка, подзапросы, общие табличные выражения, оконные функции. Скажите, что писали сами, а где обращались за помощью;
- проектирование: нормализация до третьей формы, выбор ключей, индексы под конкретные запросы, осознанная денормализация ради чтения;
- производительность: чтение плана через
EXPLAIN (ANALYZE, BUFFERS), поиск медленных запросов в статистике, понимание, почему индекс не используется; - транзакции: уровни изоляции и какие аномалии они допускают, блокировки, взаимные блокировки,
FOR UPDATEиSKIP LOCKED; - эксплуатация: миграции без простоя, партиционирование больших таблиц, реплики для чтения, резервные копии;
- что рядом: работа из Go через
database/sqlиpgx, пул соединений, контекст с таймаутом,NULLв сканировании строк.
Закончите честной границей: например, «уверенно пишу запросы и разбираю планы, партиционирование настраивал один раз, шардированием не занимался». Такая формулировка вызывает больше доверия, чем «знаю на восемь из десяти».
Где спотыкаются
Называют цифру без содержания, и следующий вопрос обесценивает ответ.
Заявляют знание оптимизации, но не могут прочитать план запроса.
Скрывают пробелы вместо того, чтобы назвать их и сказать, как закрывают.