Как подготовиться к SQL-собесу за неделю
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Зачем это знать
Интервью через 7 дней, SQL скил в средней форме — возможно ли качественно подготовиться? Да. С правильным планом 7 дней достаточно, чтобы поднять SQL с «уверенный junior» до «middle-готов». Без плана — хаотичная зубрёжка и провал.
План на 7 дней
День 1: Basics
Темы:
- SELECT, WHERE, ORDER BY
- GROUP BY, HAVING
- Агрегация (COUNT, SUM, AVG, MIN, MAX)
- DISTINCT
- Alias (AS)
Задачи: 15-20 базовых на LeetCode (Easy) или задачи на собеседование Easy.
Читать: 50 вопросов SQL.
День 2: JOIN'ы
Темы:
- INNER, LEFT, RIGHT, FULL OUTER
- CROSS JOIN
- Self-join
- Multiple joins
Задачи: 10-15 задач на JOIN'ы. Рекомендую задачи на JOIN'ы.
Шпаргалка: типы JOIN.
День 3: Subqueries и CTE
Темы:
- Subqueries (SELECT FROM subquery)
- Correlated vs non-correlated
- EXISTS vs IN
- CTE (WITH)
- Рекурсивные CTE
Задачи: 10 задач на subqueries / CTE.
Читать: как написать рекурсивный CTE.
День 4: Window functions
Критический день — здесь провалится junior.
Темы:
- ROW_NUMBER, RANK, DENSE_RANK
- LAG, LEAD
- SUM / AVG / COUNT OVER
- PARTITION BY
- ORDER BY within window
- ROWS BETWEEN ... PRECEDING
Задачи: 15 задач — задачи по оконным функциям.
Шпаргалка: оконные функции.
День 5: Продвинутые темы
Темы:
- PIVOT / UNPIVOT (или CASE WHEN)
- String functions
- Date functions
- NULL handling
- UNION / UNION ALL
- INTERSECT, EXCEPT
Задачи: разнородные — 10 задач.
Читать: как сделать PIVOT, как посчитать median.
День 6: Оптимизация + performance
Темы:
- EXPLAIN план
- Индексы
- Когда LIKE использует index
- Перезапись медленных queries
- Materialized views
Задачи: проанализировать 5 medleнных queries, ускорить.
Читать: SQL оптимизация для аналитика.
День 7: Mock interview
Симуляция:
- 60 минут SQL-задач на whiteboard / online editor
- Задачи разного уровня (junior-middle-hard)
- Запись self — review после
Pet-проект рассказ: подготовьте 1-2 минутный рассказ о своём SQL-опыте.
Материал: задачи SQL на собесе.
Что повторить
За час до собеса
Mental рефреш:
- Window functions syntax
- JOIN types и различия
- EXISTS vs IN с NULL
- GROUP BY vs window function
- Date extraction (EXTRACT, DATE_TRUNC)
Не учить
Не тратьте время на:
- Database internals (engines, WAL)
- Administration (backup, replication)
- Edge-case functions, не use daily
Ресурсы
Онлайн
- LeetCode Database — 200+ задач, Easy → Hard
- Hackerrank SQL — good для basics
- StrataScratch — real interview questions
- Карьерник — русскоязычные задачи
Книги
- «SQL for Data Analysis» — Cathy Tanimura
- «Learning SQL» — Alan Beaulieu
Online practice platforms
Use any с interactive SQL editor. Practice > theory.
Psychology
Ошибки ожидаемые
Живая SQL на whiteboard — стресс. Typos — нормально. Главное — structure и thinking process.
Вслух мыслить
«Я попробую через JOIN, но если users без заказов — LEFT JOIN лучше...» — interviewer видит reasoning.
Clarify
«Нужны все заказы или только completed?». Clarifying = maturity.
На собесе
Типичный flow
- Interviewer daёт задачу
- Вы уточняете schema / требования
- Talks through approach
- Write SQL
- Explain edge cases
Что оценивают
- Correctness
- Readability (naming, formatting)
- Efficiency (не 5 nested subqueries)
- Communication
Red flags
- Молча пишете 5 минут
- SELECT *
- Забыли JOIN condition → cross product
- Не обработали NULL
Day-after-day tracking
Day 1-3
Progression: basics ок, JOINs confident, subquery knowledge growing.
Day 4-5
Windowing — most important, dedicate time.
Day 6-7
Polishing: speed, edge cases, communication.
Если после Day 7 всё ещё неуверенность в windowing — ещё день intensively.
Связанные темы
- 50 вопросов SQL
- Задачи SQL на собесе
- Задачи по оконным функциям
- SQL оптимизация
- Чеклист подготовки к собесу
FAQ
Меньше 7 дней?
3-4 дня — survival mode. Skip advanced, focus on basics + JOIN + windowing.
Без experience?
Практика не readings. Пишите код каждый день.
Можно без LeetCode?
Карьерник на Russian + hackerrank basics — нормально.
Готовьтесь — откройте тренажёр с 1500+ вопросами для собесов.