Перейти к основному содержимому

Базы данных

Быстрый переход к обучению

  1. Базы данных — учебный модуль
  2. Все учебные модули

Что нужно знать

  1. Реляционные и нереляционные базы: когда что выбирать.
  2. SQL основы: joins, group by, фильтрация, пагинация.
  3. Индексы, EXPLAIN/ANALYZE, N+1 и write trade-offs.
  4. Транзакции, изоляция, idempotency и consistency.
  5. Кэширование и read/write trade-offs.

Что уметь объяснить на собеседовании

  1. Когда SQL лучше document-store и наоборот.
  2. Почему индекс ускоряет один запрос и может замедлить запись.
  3. Что такое N+1 и как его предотвращать.
  4. Как проектировать API-пагинацию без деградации.

Грейд-фокус

  1. Junior: базовые SQL-запросы и понимание индексов.
  2. Middle: оптимизация запросов и моделирование данных.
  3. Senior: архитектурный выбор storage и стратегия масштабирования.

Глубокие кейсы собеседования

  1. Запрос стал медленным на проде после роста данных.
  2. Дубли и несогласованность из-за отсутствия транзакционной границы.
  3. Высокая latency из-за N+1 в API.

Практический минимум

  1. Написать 5 SQL-запросов для типовых задач собеса.
  2. Разобрать план запроса и предложить индекс.
  3. Спроектировать схему для простого домена (users/orders/payments).

Типовые ловушки

  1. Выбирать БД по тренду, а не по нагрузке и требованиям.
  2. Игнорировать влияние индексов на write path.
  3. Не учитывать миграции схемы и обратную совместимость.

Self-review перед собеседованием

  1. Я могу объяснить основы SQL join/aggregation.
  2. Я понимаю, как оценивать влияние индексов.
  3. Я умею описать storage trade-offs для продуктового кейса.

Связанные материалы

  1. Node.js
  2. NestJS
  3. Frontend System Design