Перейти к основному содержимому

Вопросы на собеседовании

Вопросы на собеседовании Дата-инженера

25 вопросов на собеседовании дата-инженера: SQL и Python, DWH (ClickHouse, Greenplum), моделирование данных, Spark, Airflow, Kafka и качество данных.

Поделиться:TGVKWA
SQLPython (pandas, PySpark)ClickHouse / GreenplumМоделирование данных (Kimball, Data Vault)Apache SparkApache AirflowApache Kafkadbt и качество данных

📈 Готовитесь к собеседованию? Получайте свежие вакансии Дата-инженер на почту или в Telegram — и откликайтесь, пока подготовка свежая.

бесплатно
Бесплатно, без регистрации

Мини-собеседование: Дата-инженер

Прочитать вопросы мало — на интервью придётся говорить. Ответьте на один вопрос своими словами, 2–3 предложений хватит, и ИИ разберёт ответ по четырём критериям: структура, конкретика, релевантность, убедительность.

123
Технический вопросДля всех уровней

Чем отличается WHERE от HAVING и в каком порядке выполняется SQL-запрос?

2–3 предложения достаточно · ещё 20 симв.

Типовые вопросы и подсказки к ответам

Используйте подсказки как каркас ответа: добавьте свои проекты, метрики, ограничения и выводы. Любой вопрос можно тут же проговорить — кнопка «Ответить и получить разбор ИИ» отправит его в мини-собеседование выше.

Технический вопрос

Вопрос 1Для всех уровней

Чем отличается WHERE от HAVING и в каком порядке выполняется SQL-запрос?

Показать подсказку ▾

Как отвечать: Назовите логический порядок: FROM, JOIN, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT — и объясните, почему агрегаты нельзя фильтровать в WHERE.

Вопрос 2Middle

Задача: для каждого клиента найти три последних заказа. Как решите на SQL?

Показать подсказку ▾

Как отвечать: Используйте оконную функцию: ROW_NUMBER или RANK с PARTITION BY client_id ORDER BY order_date DESC, фильтр по номеру строки — и упомяните, чем ROW_NUMBER отличается от RANK.

Вопрос 3Middle

Запрос к большой таблице работает медленно. Как будете искать причину и оптимизировать?

Показать подсказку ▾

Как отвечать: Начните с плана запроса (EXPLAIN/EXPLAIN ANALYZE), проверьте индексы и ключи партиционирования, полные сканы, джойны по неиндексированным полям — и предложите конкретные меры.

Вопрос 4Для всех уровней

Какие типы JOIN знаете и чем LEFT JOIN отличается от INNER JOIN на практике?

Показать подсказку ▾

Как отвечать: Перечислите INNER, LEFT, RIGHT, FULL, CROSS — и приведите пример, где замена INNER на LEFT меняет результат: потеря строк без совпадений и дубликаты при джойне «один ко многим».

Вопрос 5Junior

Как в Python вы бы обработали файл в несколько гигабайт, который не помещается в память?

Показать подсказку ▾

Как отвечать: Покажите понимание потоковой обработки: чтение чанками через chunksize в pandas, генераторы, внешняя сортировка — и когда вместо pandas нужен Spark или DuckDB.

Вопрос 6Middle

Чем список отличается от генератора в Python и почему это важно для дата-инженера?

Показать подсказку ▾

Как отвечать: Объясните ленивые вычисления и потребление памяти, приведите пример: построчная обработка логов генератором против загрузки всего файла в список.

Вопрос 7Для всех уровней

Чем OLTP-системы отличаются от OLAP и почему аналитические запросы не гоняют по боевой базе?

Показать подсказку ▾

Как отвечать: Сравните строчное и колоночное хранение, паттерны нагрузки, нормализацию против денормализации — и упомяните реплики и CDC как способ разгрузить источник.

Вопрос 8Middle

Почему ClickHouse быстр на аналитике? Расскажите про устройство таблиц MergeTree.

Показать подсказку ▾

Как отвечать: Упомяните колоночное хранение, сортировку по ORDER BY-ключу, партиции, разреженный индекс, сжатие — и ограничения: слабые UPDATE/DELETE и отсутствие транзакций.

Вопрос 9Middle

Чем ClickHouse отличается от Greenplum и когда что выбрать?

Показать подсказку ▾

Как отвечать: Сравните архитектуру MPP против колоночной СУБД, сильные стороны: Greenplum — сложные джойны и соответствие SQL-стандарту, ClickHouse — скорость агрегаций и логи; привяжите к типам нагрузки.

Вопрос 10Для всех уровней

Что такое звёздная схема и чем измерения отличаются от фактов?

Показать подсказку ▾

Как отвечать: Объясните на примере: факты — события с мерами (продажи, клики), измерения — справочники (клиенты, товары, даты); упомяните, почему витрины денормализуют.

Вопрос 11Middle

Что такое медленно меняющиеся измерения (SCD) и как реализовать SCD Type 2?

Показать подсказку ▾

Как отвечать: Опишите хранение истории: новая строка с датами valid_from/valid_to и флагом актуальности, суррогатные ключи — и пример, когда бизнесу нужна история изменений атрибута.

Вопрос 12Senior

Когда стоит выбрать Data Vault вместо Kimball и наоборот?

Показать подсказку ▾

Как отвечать: Покажите понимание компромисса: Data Vault — гибкость к изменениям источников и аудит хабов/линков/сателлитов, Kimball — простота и скорость витрин для BI; привяжите к масштабу и зрелости компании.

Вопрос 13Для всех уровней

Что такое идемпотентность пайплайна и как вы её обеспечиваете?

Показать подсказку ▾

Как отвечать: Объясните: повторный запуск за ту же дату даёт тот же результат без дублей — перезапись партиции (INSERT OVERWRITE), upsert по ключу, delete+insert; объясните, зачем это нужно при падениях.

Вопрос 14Middle

Как устроен DAG в Airflow и как вы организуете backfill пропущенных дат?

Показать подсказку ▾

Как отвечать: Расскажите про задачи и зависимости, catchup и параметр execution_date/logical_date, идемпотентные таски, ограничение параллелизма — и отличие backfill от перезапуска «вручную за вчера».

Вопрос 15Middle

Что происходит внутри Spark при выполнении джойна и почему возникает data skew?

Показать подсказку ▾

Как отвечать: Объясните shuffle и партиции, sort-merge против broadcast join, перекос: одна «горячая» ключевая группа грузит один executor — и меры: соление ключей, broadcast маленькой таблицы.

Вопрос 16Middle

Как устроена доставка сообщений в Kafka и что означают семантики at-least-once и exactly-once?

Показать подсказку ▾

Как отвечать: Расскажите про топики, партиции, офсеты и consumer group, ретраи и дубликаты при at-least-once, идемпотентный producer и транзакции для exactly-once — и цену этих гарантий.

Вопрос 17Middle

Как вы контролируете качество данных в пайплайнах?

Показать подсказку ▾

Как отвечать: Назовите проверки на полноту, уникальность и валидность, dbt tests или Great Expectations, мониторинг свежести и объёмов, алерты и блокировку публикации «битой» витрины.

Резюме открывают раньше, чем зовут на собеседование. Соберите версию под «Дата-инженер» с ИИ — около 10 минут, начать можно бесплатно.

Резюме под эту роль

Кейс

Вопрос 1Senior

Кейс: нужно спроектировать DWH для маркетплейса с нуля. С чего начнёте?

Показать подсказку ▾

Как отвечать: Покажите метод: инвентаризация источников и требований аналитиков, слои (сырые данные, детальный слой, витрины), выбор стека под бюджет и команду, план миграции без остановки отчётности.

Вопрос 2Middle

Кейс: аналитики говорят, что в витрине «разъехались» цифры выручки. Ваши действия?

Показать подсказку ▾

Как отвечать: Покажите системную диагностику: сверка с источником по контрольным суммам, проверка дублей и пропусков, свежести партиций, изменений в источнике — и как сообщите результат заинтересованным.

Поведенческий вопрос

Вопрос 1Для всех уровней

Расскажите о случае, когда ваш пайплайн упал в проде и пострадала отчётность.

Показать подсказку ▾

Как отвечать: Ответьте по STAR: масштаб сбоя, ваши действия по восстановлению и backfill-у, коммуникация с аналитиками — и что изменили в пайплайне, чтобы это не повторилось.

Вопрос 2Middle

Аналитик просит «быстренько выгрузить данные напрямую из боевой базы». Как поступите?

Показать подсказку ▾

Как отвечать: Покажите баланс: не отказать, но защитить прод — реплика или готовая витрина, разъяснение рисков прямого доступа и предложение устойчивого решения вместо разового костыля.

Вопрос 3Middle

Приходилось ли вам разбираться в чужом коде пайплайнов без документации?

Показать подсказку ▾

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

Вопрос 4Для всех уровней

Как вы объясняете бизнес-заказчику, что его хотелка потребует перестройки пайплайна на неделю?

Показать подсказку ▾

Как отвечать: Покажите перевод с технического на язык денег и сроков: варианты «быстро и грязно» против «правильно», прозрачные риски каждого и совместный выбор приоритета.

Вопрос 5Для всех уровней

Расскажите о технологии, которую вы осваивали самостоятельно и применили в работе.

Показать подсказку ▾

Как отвечать: Приведите конкретный пример: какую задачу решали, как учились (документация, пет-проект), как внедряли в прод и какой эффект получили в метриках или деньгах.

Вопрос 6Для всех уровней

Почему вы хотите работать дата-инженером именно у нас?

Показать подсказку ▾

Как отвечать: Изучите компанию заранее: свяжите ответ с её стеком данных, масштабом и задачами из вакансии — покажите, что понимаете, чем отличается их контуру данных от вашего текущего.

Готовы отвечать — а резюме уже под эту роль?

До собеседования резюме ещё нужно открыть. Соберите адаптированное резюме для «Дата-инженер» за ~10 минут: ИИ сформулирует опыт, навыки и достижения под требования работодателей.

Собрать резюме под эту роль
PRO

Проверьте себя: первый разбор — бесплатно

Прочитать вопросы — это старт. Настоящая подготовка — проговорить ответ и услышать, что с ним не так. Первый разбор ИИ бесплатный и без регистрации, прямо на этой странице. Полная симуляция — в PRO или разово, без подписки.

  • Реальные вопросы по вашей роли
  • Разбор ответов с ИИ
  • Оценка и советы

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

  1. 1Прорешайте SQL-задачи уровня middle: оконные функции, джойны с дедупликацией, top-N в группе — на hh.ru-интервью это обязательный лайвкодинг.
  2. 2Освежите устройство вашего DWH: колоночное хранение в ClickHouse или MPP в Greenplum, партиционирование, ключи сортировки и причины медленных запросов.
  3. 3Подготовьте связный рассказ об архитектуре своих пайплайнов: источники, слои данных, оркестрация в Airflow, идемпотентность и backfill.
  4. 4Вспомните 2–3 продакшен-инцидента с данными и разберите их по STAR: диагностика, восстановление, меры против повторения.
  5. 5Пройдите пробное интервью в ИИ-тренажёре Rabota-Help и потренируйтесь вслух объяснять компромиссы: скорость против надёжности, стоимость против гарантий.

Частые ошибки

  • Писать SQL без понимания плана запроса: не уметь объяснить, почему запрос медленный и что показывает EXPLAIN.
  • Не знать разницы между OLTP и OLAP и предлагать аналитику прямо на боевой базе.
  • Рассказывать про пайплайны без слов «идемпотентность» и «backfill» — для интервьюера это сигнал отсутствия прод-опыта.
  • Хвастаться стеком (Spark, Kafka, Airflow), но не уметь объяснить, какую бизнес-задачу он решал.
  • Игнорировать тему качества данных: ни слова о проверках, дублях и сверках с источником.
  • Не задать вопросов о стеке, объёмах данных, слоях DWH и дежурствах по инцидентам в компании.

Вы готовитесь к собеседованию. А работодатели уже ищут Дата-инженера.

Создайте анонимный публичный профиль — его найдут в Яндексе и Google, и предложения придут сами. Контакты скрыты, пока вы не решите иначе.

Создать анонимный профиль — бесплатно

Пройдите мини-собеседование, добавьте резюме на экране результата — профиль создадим за минуту, с вашего согласия.

Вы нанимаете Дата-инженера? Профили кандидатов и подбор для работодателей →

Практика интервью

От вопросов — к тренировке интервью

Прочитайте вопросы, выберите 5–7 самых сложных и пройдите пробное интервью. ИИ-интервьюер поможет структурировать ответы, проверить аргументацию и подготовиться к реальному разговору.

Открыть тренажёр для роли Дата-инженер
Навыки

Востребованные навыки Дата-инженера

Частота упоминания в вакансиях работодателей

Все навыки →
1
ClickHouse20%
2
Apache20%
3
Apache Spark10%
4
Hadoop10%
5
Apache Kafka10%
6
Docker10%
7
Kubernetes10%
8
Power BI10%
Вакансии

Свежие вакансии Дата-инженера: 114

Откройте подходящие предложения и откликнитесь после подготовки к собеседованию.

Смотреть вакансии →