Как подготовиться к 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

  1. Interviewer daёт задачу
  2. Вы уточняете schema / требования
  3. Talks through approach
  4. Write SQL
  5. 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.

Связанные темы

FAQ

Меньше 7 дней?

3-4 дня — survival mode. Skip advanced, focus on basics + JOIN + windowing.

Без experience?

Практика не readings. Пишите код каждый день.

Можно без LeetCode?

Карьерник на Russian + hackerrank basics — нормально.


Готовьтесь — откройте тренажёр с 1500+ вопросами для собесов.