УРОК 26 / 27· ≈ 30 мин

Задачи с собеседований

Что спрашивают на собеседовании по SQL

На позиции аналитика, BI-разработчика и тестировщика SQL проверяют почти всегда: устно, в онлайн-редакторе или тестовым заданием. Набор вопросов удивительно постоянный — ниже самые частые темы. Все они вам уже знакомы по курсу.

ТемаТипичный вопросУрок курса
Порядок выполнения запросаПочему нельзя использовать псевдоним из SELECT в WHERE?Фильтрация групп: HAVING
WHERE и HAVINGЧем отличаются и когда что использовать?Фильтрация групп: HAVING
Виды JOINЧто вернёт LEFT JOIN, если пары нет? Сколько строк получится?Внешние соединения
NULLЧем COUNT(*) отличается от COUNT(столбец)? Почему NOT IN с NULL ничего не возвращает?NULL, COALESCE и NULLIF
Вторая по величинеНайдите вторую максимальную ценуПодзапросы
ДубликатыНайдите повторяющиеся значенияHAVING
Топ-N в группеТри самых дорогих перелёта в каждом классеОконные функции
ДинамикаИзменение выручки к прошлому дню или месяцуСмещения, нарастающие итоги
«Нет пары»Рейсы, на которые не продано ни одного билетаUNION, EXISTS и NOT EXISTS

Как решать задачу на собеседовании

  1. Уточните условие. Что делать с одинаковыми значениями? Учитывать ли отменённые рейсы? Интервьюеры ценят такие вопросы.
  2. Проговаривайте план вслух: «Сначала посчитаю выручку по дням, потом возьму предыдущий день через LAG».
  3. Начните с простого решения, а потом улучшайте. Работающий запрос лучше идеального, но недописанного.
  4. Проверьте крайние случаи: NULL, одинаковые значения, пустой результат.

Ниже — задачи в формате собеседования на нашей базе. Ещё больше похожих задач — в тренажёре: ищите там сложные задачи с оконными функциями и подзапросами.

Практика

6
  1. Задача 1 — Вторая по величине сумма бронирования
  2. Задача 2 — Самые частые имена пассажиров
  3. Задача 3 — Три самых дорогих перелёта в каждом классе
  4. Задача 4 — Выручка за день и изменение к предыдущему
  5. Задача 5 — Рейсы без проданных билетов
  6. Задача 6 — День с максимальной выручкой

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

Зарегистрироваться и решитьВойти
Итоговый проект: аналитика авиакомпанииСледующий урок: Что дальше