Чему вы научитесь
- Писать боевые запросы: JOIN, CTE, оконные функции
- Проектировать схемы: типы данных, ограничения, миграции
- Ставить осознанные индексы: B-tree, GIN/GiST, частичные и по выражениям
- Читать планы EXPLAIN ANALYZE и находить, где планёр ошибся
- Диагностировать и ускорять медленные запросы на production-кейсах
- Объяснять транзакции, MVCC и уровни изоляции на собеседовании
- Разбирать блокировки и дедлоки и устранять их
- Управлять vacuum и bloat; понимать репликацию, партиции и JSONB
- Отвечать на 20 типовых вопросов middle-собеса по базам данных
О курсе
Для кого этот курс
Курс подойдёт, если:
- ты junior/middle бэкенд-разработчик и хочешь перестать бояться раздела «базы данных» на собеседовании;
- твой запрос «почему-то идёт 40 секунд», и ты хочешь понимать, что делает planner, а не гуглить «индекс не используется»;
- ты знаешь SELECT/JOIN на базовом уровне, но индексы ставишь наугад;
- ты готовишься к middle-собесу и нужно закрыть MVCC, уровни изоляции, EXPLAIN, vacuum;
- ты аналитик или тимлид, который хочет читать чужие запросы и понимать цену правки схемы.
Знать SQL до старта не обязательно: начинаем с данных и запросов, но темп рабочий, без разжёвывания «что такое таблица».
Начальные требования
Нужен компьютер с доступом в интернет и 3–5 часов в неделю. Все задачи проверяются прямо на Stepik, локальная установка PostgreSQL желательна, но не обязательна.
- Базовый опыт программирования на любом языке
- Умение пользоваться терминалом
- Желание читать планы запросов, а не гуглить «индекс не используется»
Преподаватели курса
Как проходит обучение
Каждый модуль: теория (текстовые шаги с разбором и примерами планов) → задачи. Задача = одно поле с SQL: написал, отправил, через пару секунд вердикт. Если не совпало — Stepik покажет две таблицы: твой вывод и ожидаемый, построчно; там же видно, сколько строк ты вернул. Песочнице отправляется ровно один запрос — так же, как это делает драйвер в приложении: без «сначала CREATE, потом SELECT». Часть задач — DML: правка проверяется по состоянию таблицы, а не по «запрос выполнен». 55 задач модуля-практикума («сделай локально») выполняются на твоём PostgreSQL: присылаешь вывод и объяснение, шаблон ответа внутри шага. Домашних заданий с ручной проверкой нет — весь курс проходит без ожидания преподавателя. В комментариях к каждому уроку автор отвечает.
Что вы получите
- 250 задач с мгновенной автопроверкой прямо в браузере — без кнопки «посмотреть решение»;
- 55 практических заданий «сделай локально» — навык объяснять, а не только писать;
- мини-проект «возьми медленный API и сделай быстрым» для портфолио;
- учебный датасет shop с настоящими числами, которые проверяются руками;
- материал-шпаргалку по индексам и чтению планов запросов;
- сертификат Stepik об окончании курса;
- поддержку автора в комментариях под уроками.