Очень неожиданно, но синтаксис Go — далеко не первая вещь, на которую смотрят интервьюеры. И даже не вторая. Тема-фаворит на собеседованиях — базы данных.
Почему так
Синтаксис Go простоват, и проверить настоящий уровень разработчика на нём невозможно без дополнительных тем. Да, можно поговорить про планировщик, сборщик мусора, escape analysis — но это 10–15 минут. А что делать с оставшимися 50?
А вот у СУБД число тем для обсуждения практически безграничное. Можно начать с индексов, а закончить распределёнными транзакциями и репликацией. К тому же в большинстве проектов именно база данных является источником истины — а такое надо беречь.
И цена ошибки разная:
Забыть аллоцировать слайс — не страшно. Забыть создать индекс — привет ночные инциденты.
Топ тем по базам данных
- Индексы — какие бывают, их плюсы и минусы.
- Блокировки — пессимистичные, оптимистичные, дедлоки.
- Уровни изоляции транзакций — какие есть уровни и какие аномалии возможны на каждом.
- Производительность БД — проблема N+1, батч-запросы, когда нужны шардинг и репликация.
SELECT FOR UPDATEи race condition — как блокировать строки и не словить гонку.
Разбери эти темы — и на собеседовании по бэкенду будешь чувствовать себя уверенно.