← Все навыки

SQL

От DDL и SELECT до MVCC, партиционирования и репликации: писать эффективные запросы, читать планы и отвечать на вопросы по PostgreSQL на собеседовании

8 разделов, 51 тема Junior+ → Senior Индивидуально с ментором

Для кого этот курс

  • Разработчики, которые пишут запросы на автомате и хотят понять, как они работают под капотом
  • Бэкенд-разработчики, готовящиеся к секции SQL на собеседовании
  • Все, кто хочет научиться оптимизировать медленные запросы и правильно проектировать схемы

Что вы получите

Уверенные запросы JOIN, подзапросы, CTE, оконные функции — без гугла и шпаргалок
Оптимизация Чтение EXPLAIN, выбор индексов, разбор семи медленных запросов
Устройство PostgreSQL MVCC и блокировки, партиционирование, шардирование, репликация
Готовность к интервью Чеклист по уровням Junior, Middle, Senior и красные флаги

Программа курса

Введение

Как устроен курс и как с ним работать
  • Из чего состоит курс и в каком порядке идти
  • Что понадобится на входе

Основы SQL, DDL, типы данных, SELECT, NULL

Фундамент: структура, ключи, нормализация, выборка
  • Зачем нужны базы данных, DDL: создание и изменение структуры
  • Ключи и ограничения, нормализация, выбор типов данных
  • SELECT и фильтрация, сортировка и ограничение выборки
  • NULL и трёхзначная логика — и что из-за неё ломается
  • Практика 1 и шпаргалка по разделу

JOIN, агрегации, подзапросы, CTE

От отдельных строк к аналитике
  • Агрегатные функции и GROUP BY, GROUPING SETS, ROLLUP, CUBE
  • Типы JOIN, anti-join и semi-join
  • Подзапросы: где оправданы, где нет
  • CTE: структурирование сложных запросов
  • Практика 2 и шпаргалка по разделу

Оконные функции, DML, индексы, EXPLAIN

Аналитика в запросе и работа с планом выполнения
  • Оконные функции: ранжирование, накопительные значения, LAG/LEAD, скользящее среднее
  • DML: модификация данных, функции и выражения
  • Индексы: какие бывают, когда помогают и когда не используются
  • EXPLAIN ANALYZE и оптимизация
  • Практика 3 и шпаргалка по разделу

Транзакции, архитектура PostgreSQL, паттерны

Самый большой раздел: 18 тем уровня Middle+/Senior
  • Транзакции и ACID, уровни изоляции, MVCC и блокировки
  • Архитектура PostgreSQL изнутри
  • VIEW и Materialized View, триггеры
  • Партиционирование, шардирование, репликация
  • Производительность, безопасность, практические паттерны и антипаттерны
  • Чеклист Senior и чеклист перед деплоем SQL-изменений
  • Практика 4 и шпаргалка по разделу

Запросы на оптимизацию

Семь медленных запросов и методика их разбора
  • Общая методика анализа медленного запроса
  • COUNT(DISTINCT) на большой таблице, CROSS JOIN вместо INNER JOIN
  • Функция на колонке, которая убивает индекс
  • LEFT JOIN с условием на правой таблице, коррелированный подзапрос в SELECT
  • CTE с дублированием данных и рекурсивный CTE без ограничений

Готовимся к собесу

Чеклист по уровням и красные флаги
  • Что спрашивают на уровнях Junior, Middle и Senior
  • Типичные вопросы и практические задачи, которые дают на секции
  • Что сделать накануне и чего не делать на собеседовании

Справочные материалы

Остаются с вами после курса
  • Глоссарий SQL и PostgreSQL
  • Примеры реальных схем баз данных
  • Troubleshooting PostgreSQL и настройка
  • Квиз для самопроверки

Практика: 4 блока заданий + разбор медленных запросов

Готовая схема — пишете запросы, проверяете результат, разбираете ошибки с ментором

  • Основы: SELECT и фильтрация, даты, строковые функции, NULL, CASE WHEN
  • Агрегации, JOIN, anti-join и semi-join, подзапросы, CTE, GROUPING SETS
  • Оконные функции, DML, индексы, EXPLAIN ANALYZE, генерация данных
  • Транзакции и блокировки, JSONB, партиционирование, триггеры и аудит
  • Миграции без downtime и мониторинг через pg_stat_*
  • В каждом блоке — шпаргалка и разбор частых ошибок на собеседованиях