Собрал то, что спрашивают чаще всего, и что за этим хотят услышать.
- Индексы. "Что такое индекс и когда он не сработает". Хотят не определение из учебника, а понимание: индекс ускоряет поиск строк, но его легко обойти — обернув колонку в WHERE функцией или написав LIKE с процентом в начале шаблона. Если скажешь, когда индекс НЕ используется — ты уже выше половины кандидатов.
- Уровни изоляции транзакций. Классика — "чем Read Committed отличается от Serializable и какие аномалии каждый ловит". Грязное чтение, неповторяющееся чтение, фантомы. Не зубри таблицу — разбери на примере с двумя параллельными переводами денег, и сам всё выведешь.
- N+1. Любимое в дотнете из-за EF. Ты дёргаешь список заказов, а потом в цикле по каждому лезешь за клиентом — сто запросов вместо одного. Должен уметь объяснить, как ловится (по логам SQL видно эту простыню запросов) и как лечится — Include, проекция, ручной джойн.
- Дедлоки. "Откуда берётся и как избежать". Две транзакции берут одни и те же ресурсы в разном порядке и встают намертво, ожидая друг друга. Лечится — брать блокировки в одном и том же порядке.
- Нормализация и денормализация. "Зачем намеренно ломать нормальную форму". Правильный ответ — ради скорости чтения, осознанно, а не от незнания, как её строить.
Это не весь список, но если ты уверенно закрываешь эти пять — по базам тебя уже не уронят 🥰
Сохрани и пробегись глазами вечером перед собесом. Десять минут, а закрывает половину типичных вопросов по БД.
👍 — Сохранил, разберу
🌟 — Я И ТАК ВСЁ ЗНАЮ А СОБЕСЕДОВАНИЯ НЕ ПРОХОЖУ
Дискуссия