ГлавнаяБлогSQL-интервью: как пройти и что спрашивают
Карьера

SQL-интервью: как пройти и что спрашивают

Готовитесь к SQL-интервью? Узнайте, как проходит собеседование, что спрашивают и как подготовиться. Практические советы и план действий.

Al
Редакция Algolitalgolit.ru
7 мин чтения23 августа 2026 г.

Что проверяют на SQL-интервью

SQL-собеседование — это тест на перевод бизнес-вопроса в запрос, который выдерживает контакт с реальными данными. Интервьюеры редко дают чёткое ТЗ, потому что и в работе его не будет. По данным опроса Stack Overflow 2025, SQL используют 58,6% разработчиков — это третий по популярности язык после JavaScript и HTML/CSS. Поэтому подготовка к SQL-интервью окупается, даже если вы не претендуете на роль дата-аналитика.

Главный показатель сильного кандидата — первые шестьдесят секунд. Слабые читают задание и сразу пишут код. Сильные переформулируют вопрос, уточняют, что считать «активным пользователем» или «завершённым заказом», проверяют, нужны ли строки с NULL, и только потом пишут. Этот диалог часто важнее самого запроса.

Какие бывают вопросы на SQL-интервью

Три типа вопросов покрывают большинство собеседований, и они усложняются в предсказуемом порядке.

JOIN и агрегация

Даны две-три таблицы, нужно посчитать сумму или количество с группировкой. Выглядят просто, но ловят на типе JOIN: INNER JOIN молча отбрасывает пользователей без заказов, хотя вопрос обычно хотел посчитать их как ноль.

-- Пример: сколько заказов у каждого пользователя, включая тех, у кого их нет
SELECT u.id, COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id;

Оконные функции

Ранжирование покупок по клиентам, поиск второй транзакции, скользящая сумма, изменение месяц к месяцу. Это граница между теми, кто пишет SQL от случая к случаю, и теми, для кого это основной инструмент.

-- Пример: вторая покупка каждого клиента
SELECT user_id, purchase_date
FROM (
  SELECT user_id, purchase_date,
         ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY purchase_date) AS rn
  FROM purchases
) AS ranked
WHERE rn = 2;

Открытый бизнес-вопрос

«Улучшилось ли удержание после мартовского релиза?» Единственного правильного запроса нет. Интервьюер смотрит, как вы разбиваете вопрос, что считаете удержанием и замечаете ли, что у мартовской когорты меньше времени на отток, чем у февральской.

Как оценивают SQL-интервью

Три критерия, которые соответствуют типам вопросов.

Уточняете ли вы перед написанием?

Проходной ответ — один вопрос о схеме. Сильный ответ называет неоднозначность, которая меняет запрос, и разрешает её. «Активный пользователь — это любое событие в окне или покупка?» — разница между двумя очень разными числами, и интервьюеры намеренно её подкладывают.

Корректен ли запрос на граничных случаях?

Проходной ответ — запрос работает. Сильный — учитывает NULL, дубликаты, связи в ранжировании и строки на границе дат. Проговаривайте крайний случай вслух, потому что тихий LEFT JOIN выглядит так же, как везучий.

Можете ли вы комментировать по ходу?

Проходной ответ — молча пишете запрос. Сильный — сначала объясняете план, потом пишете, затем сверяете результат с ожиданием вслух. Интервьюер оценивает слышимые рассуждения, а правильный запрос в тишине получает более слабую оценку, чем слегка несовершенный, но объяснённый.

Различия для разных ролей

Один и тот же язык, но разные акценты. Смешивать их — частая ошибка подготовки.

Дата-аналитик

Упор на широту и перевод бизнес-вопросов. Ожидайте больше вопросов, но меньшей глубины, и оценивается, выдержат ли ваши цифры перед стейкхолдером. Точность определений важнее элегантности запроса.

Дата-сайентист

Акцент на эксперименты и когорты. Ожидайте меньше вопросов, но глубже, и хотя бы один про A/B-тест, определение когорты или сэмплирование. Вопрос про мартовскую когорту — из этой серии.

Инженер аналитики

Движение к моделированию. Спрашивают, как структурировать модель, а не разовый ответ: идемпотентность, инкрементальная логика, что будет при повторном запуске.

Программист

SQL обычно часть более широкого технического раунда, фокус на производительность и корректность в масштабе: индексы, планы запросов, последствия полного сканирования таблицы.

Продакт-менеджер

Всё чаще, но легко: достаточно вытащить свои цифры без аналитика. Один вопрос на агрегацию, без оконных функций.

Что переоценено в подготовке

Заучивание экзотического синтаксиса. Рекурсивные CTE и трюки с PIVOT встречаются в практике чаще, чем на интервью, а время на них — это время, не потраченное на оконные функции, которые спрашивают постоянно.

Скорость тоже переоценена. Кандидаты спешат, думая, что время — главный тест, и пропускают тип JOIN. Интервьюеру почти всегда важнее, заметили ли вы случай с NULL, чем закончили ли на девяносто секунд раньше.

Использование ИИ-ассистента на собеседовании — проигрышная ставка. CodeSignal сообщил в феврале 2026, что попытки мошенничества на прокторинговых тестах удвоились с 16% в 2024 до 35% в 2025. Интервьюеры заметили: 81% из 67 опрошенных interviewing.io (52 из FAANG) подозревают кандидатов в использовании ИИ. Ответ — больше живых, нарративных раундов, где кандидат, не умеющий объяснить свой запрос, разваливается.

План подготовки из пяти шагов

  1. Доведите оконные функции до автоматизма. ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD и скользящая сумма. Они дают больше веса на час занятий, чем что-либо ещё в SQL.
  2. Практикуйте переформулирование вопроса вслух. Правило: не пишите, пока не назовёте одну неоднозначность.
  3. Составьте чек-лист NULL и дубликатов. Перед завершением запроса спросите: что будет со строками с NULL, с повторяющимися строками и строками на границе дат?
  4. Решите минимум три задачи на доске или в чистом редакторе. Автодополнение скрывает пробелы, которые обнажает голый редактор, а на живых раундах часто используют именно его.
  5. Проговорите решённую задачу от начала до конца. Объяснять понятный запрос — отдельный навык, и именно его оценивают. Рекомендую провести голосовое mock-интервью, чтобы отрепетировать нарратив.

Куда движется SQL-интервью

SQL-раунды становятся всё более разговорными. Причина — та же сила, что меняет все технические собеседования: ассистенты делают тривиальным получение синтаксически корректного запроса, поэтому интервьюеры переносят акцент на то, что сложнее подделать — на решение, что вычислять, и на защиту этого выбора. Индекс найма в эпоху ИИ от Four-Leaf, исследовавший 3502 открытые вакансии в 16 крупных технологических компаниях, показал, что опыт работы с LLM указан в 57% описаний дата-вакансий против 21% инженерных. Ожидание, что кандидаты работают с такими инструментами, уже вписано в вакансии.

Это направление вознаграждает кандидата, который понял вопрос. Синтаксис никогда не был сложной частью, и скоро будет значить ещё меньше.

Практический вывод

Прямо сейчас откройте любой редактор без автодополнения и решите три задачи на оконные функции. Затем проговорите решение вслух, как на собеседовании. Это займёт час и даст больше, чем неделя чтения теории.

#SQL#интервью#подготовка#оконные функции#JOIN
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →