УРОК 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 |
Как решать задачу на собеседовании
- Уточните условие. Что делать с одинаковыми значениями? Учитывать ли отменённые рейсы? Интервьюеры ценят такие вопросы.
- Проговаривайте план вслух: «Сначала посчитаю выручку по дням, потом возьму предыдущий день через LAG».
- Начните с простого решения, а потом улучшайте. Работающий запрос лучше идеального, но недописанного.
- Проверьте крайние случаи: NULL, одинаковые значения, пустой результат.
Ниже — задачи в формате собеседования на нашей базе. Ещё больше похожих задач — в тренажёре: ищите там сложные задачи с оконными функциями и подзапросами.
Практика
6- Задача 1 — Вторая по величине сумма бронирования
- Задача 2 — Самые частые имена пассажиров
- Задача 3 — Три самых дорогих перелёта в каждом классе
- Задача 4 — Выручка за день и изменение к предыдущему
- Задача 5 — Рейсы без проданных билетов
- Задача 6 — День с максимальной выручкой
Задачи решаются прямо здесь, в браузере, на учебной базе — нужна только бесплатная регистрация, чтобы сохранялись ответы и прогресс.