Опыт написания SQL запросов
Что проверяют
Не терминологию, а глубину: пишете ли вы запросы сами или читаете чужие. Проверяется рассказом про конкретные задачи, а следом почти всегда даётся задача на соединение и агрегацию.
Как отвечать
Отвечайте не списком ключевых слов, а через задачи. Рамка: где писали, на какой базе, какого объёма данные, что именно доставали.
> «SQL это основной инструмент подготовки выборок: собираю обучающие датасеты из нескольких таблиц, считаю агрегаты по когортам, проверяю распределения. > > PostgreSQL и ClickHouse, оконные функции, CTE, материализованные представления под витрины. Из последнего: перенесла тяжёлую агрегацию из pandas в SQL, подготовка выборки сократилась с двадцати минут до полутора».
Что стоит назвать, если действительно делали: типы соединений и поведение LEFT против INNER на строках без пары, агрегацию с GROUP BY и HAVING, оконные функции (ROW_NUMBER, LAG, SUM OVER), подзапросы и CTE, чтение плана через EXPLAIN ANALYZE.
Где спотыкаются
Говорят «уверенный уровень» и не могут вспомнить ни одного своего запроса.
Путают WHERE и HAVING. Первое фильтрует строки до группировки, второе группы после неё.
Не знают, что COUNT(*) и COUNT(колонка) считают разное: второй пропускает NULL.
Никогда не открывали план запроса, а на вопрос «как ускорить» отвечают «добавить индекс», не уточняя какой и почему именно он поможет.