Быстрый переход к обучению
- Базы данных — учебный модуль
- Все учебные модули
Что нужно знать
- Реляционные и нереляционные базы: когда что выбирать.
- SQL основы: joins, group by, фильтрация, пагинация.
- Индексы, EXPLAIN/ANALYZE, N+1 и write trade-offs.
- Транзакции, изоляция, idempotency и consistency.
- Кэширование и read/write trade-offs.
Что уметь объяснить на собеседовании
- Когда SQL лучше document-store и наоборот.
- Почему индекс ускоряет один запрос и может замедлить запись.
- Что такое N+1 и как его предотвращать.
- Как проектировать API-пагинацию без деградации.
Быстрая SQL-практика
- SELECT/WHERE: Активные клиенты и Сотрудники без ментора.
- JOIN: Клиенты без потери нулевых заказов и Оплаченные заказы без дублей.
- Aggregation: Города с выручкой выше порога и Средний оплаченный чек по городам.
- Senior SQL: Следующая страница заказов и Второй заказ пользователя.
Грейд-фокус
- Junior: базовые SQL-запросы и понимание индексов.
- Middle: оптимизация запросов и моделирование данных.
- Senior: архитектурный выбор storage и стратегия масштабирования.
Глубокие кейсы собеседования
- Запрос стал медленным на проде после роста данных.
- Дубли и несогласованность из-за отсутствия транзакционной границы.
- Высокая latency из-за N+1 в API.
Практический минимум
- Решить минимум 6 задач в SQL-песочнице: 2 basic, 2 join, 1 aggregation, 1 cursor/window.
- Разобрать план запроса и предложить индекс.
- Спроектировать схему для простого домена (users/orders/payments).
Типовые ловушки
- Выбирать БД по тренду, а не по нагрузке и требованиям.
- Игнорировать влияние индексов на write path.
- Не учитывать миграции схемы и обратную совместимость.
Self-review перед собеседованием
- Я могу объяснить основы SQL join/aggregation.
- Я понимаю, как оценивать влияние индексов.
- Я умею описать storage trade-offs для продуктового кейса.
Связанные материалы
- Node.js
- NestJS
- Frontend System Design