Подготовка к собеседованию Data Engineer

Готовишься к собесу Data Engineer?
Spark, Airflow, ClickHouse, SQL для DE — вопросы с разборами в Telegram
Тренировать DE в Telegram

Чем DE отличается от аналитика

Data Engineer строит инфраструктуру, по которой движутся данные: пайплайны, хранилища, стриминг, оркестрация. Аналитик потребляет данные, DE их доставляет в потребляемом виде.

На собесе разница принципиальная:

  • Аналитик пишет SQL для отчётов; DE пишет SQL для пайплайнов, где важна производительность и инкрементальность
  • Аналитик использует BI; DE строит то, на чём BI работает
  • Аналитик отвечает за интерпретацию; DE отвечает за доступность и качество данных

Поэтому хардкор глубже: нужно знать, как работает Spark под капотом, что такое shuffle, почему partitioning важен, как устроен Airflow scheduler, чем MergeTree отличается от других движков ClickHouse.

Этапы найма

Типичный найм DE в IT-компании средне-крупного размера занимает 3–5 недель и включает 4–6 этапов.

1. Скрининг с рекрутером

20–30 минут. Опыт, мотивация, ожидания. Уточнят знакомые технологии и масштаб данных в текущих/прошлых ролях.

2. SQL-интервью

60 минут. Не как у аналитика — задачи на оптимизацию, EXPLAIN, оконки в продвинутом стиле, partitioning, иногда window functions с edge cases. Подробно — SQL для Data Engineer.

3. Live-coding на Python

60 минут. Базовая обработка данных, но без pandas — обычно plain Python с генераторами и стримингом. Иногда — bash-задачи (sort, grep, awk).

4. Технологическое интервью

60–90 минут. Spark, Airflow, ClickHouse/Kafka — что используется в команде. Глубокие вопросы про архитектуру и edge cases.

5. System Design

60–90 минут. Спроектировать пайплайн / хранилище / стриминг под условие. Главный фильтр для middle+. Что выбираете, почему, какие trade-offs, как масштабируется.

6. Финал

С тимлидом или CTO. Behavioral, культурный фит, обсуждение прошлых проектов с архитектурными решениями.

Темы, которые проверяют

SQL продвинутый

Не «JOIN и GROUP BY», а:

  • EXPLAIN, planning, индексы и их типы
  • Оконные функции с RANGE/ROWS BETWEEN и сложными partition
  • Партиционирование таблиц, pruning
  • Транзакции, уровни изоляции, snapshot vs read committed
  • Window functions advanced — running totals, gap-fill, dedup

Подробно — SQL для DE на собесе.

Python и Unix

  • Итераторы, генераторы, чтение больших файлов чанками
  • Concurrent: threading, multiprocessing, asyncio (когда что)
  • pandas в ETL-контексте (но без BI-экзотики)
  • bash, awk, sed, jq — обработка лог-файлов

Apache Airflow

  • DAGs, операторы, зависимости
  • Идемпотентность тасков, retry, backfill
  • XCom, templating через Jinja
  • Hooks и custom operators
  • Sensor-операторы, DataAware scheduling

Подробно — Airflow на собесе DE.

Apache Spark

  • RDD vs DataFrame, lazy evaluation
  • Партиционирование, shuffle, skew и как его лечить
  • Catalyst optimizer, AQE
  • Joins (broadcast vs shuffle), UDF производительность
  • Кеширование и persist стратегии

Подробно — Spark на собесе DE.

Streaming (Kafka)

  • Топики, партиции, репликация
  • Семантика доставки: at-most-once, at-least-once, exactly-once
  • Consumer groups, offsets, rebalance
  • Windowing, watermarks, late data в стриминге

Хранилища (ClickHouse, Greenplum)

  • OLAP vs OLTP, колоночные хранилища
  • Движки ClickHouse: MergeTree и его варианты
  • Greenplum и MPP-архитектура
  • Когда что выбирать

Подробно — ClickHouse и DWH на собесе DE.

Моделирование

  • Нормализация vs денормализация
  • Star schema, snowflake, fact и dim таблицы (Кимбалл)
  • Inmon, Data Vault — для ширококросрочных хранилищ
  • SCD типы (Slowly Changing Dimensions)
  • dbt и его материализации

Качество данных и Architecture

  • Измерения качества, мониторинг
  • Lineage и трассировка данных
  • Lambda и Kappa архитектуры, Lakehouse
  • ETL vs ELT, медальон-архитектура (bronze/silver/gold)
  • Форматы хранения: Parquet, ORC, Avro, Iceberg/Delta
  • CDC и репликация

System Design

  • Дизайн batch-пайплайна (suburban sandbox: события → DWH → BI)
  • Дизайн стримингового пайплайна (Kafka → Spark Streaming → ClickHouse)
  • Capacity planning, trade-offs
Готовишься к собесу Data Engineer?
Spark, Airflow, ClickHouse, SQL для DE — вопросы с разборами в Telegram
Тренировать DE в Telegram

План на 4 недели

Неделя Фокус Что делать
1 SQL продвинутый + Python Карьерник: SQL для DE, Python и Unix. Прорешать 30+ задач
2 Spark + Airflow Закрыть базу + 5 кейсов оптимизации Spark, 5 типичных DAG в Airflow
3 DWH (ClickHouse) + Streaming MergeTree, partitions; Kafka — semantics, consumer groups
4 System Design + mock-интервью Спроектировать 3 пайплайна вслух, mock с другом-DE

Закрепляющая практика — короткие сессии в Карьернике, 10 минут в день. Вопросы по DE-темам в формате квиза.

Что любят в разных компаниях

Конкретные форматы меняются от команды к команде, общие тренды:

  • Яндекс, Avito — глубокий SQL, разбор реальных кейсов оптимизации, system design на стейтэйт
  • Т-Банк, Сбер — финтех специфика (regulatory data, real-time risk), много про качество и SLA
  • Wildberries, Ozon, X5 — большие объёмы данных, ClickHouse часто, маркетплейс-специфика
  • VK, Mail.ru — стриминг и большие графовые задачи, Kafka обычно
  • Стартапы — практичность важнее академичности, спрашивают про реальные пайплайны

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

Готовиться только по теории. На собесе DE спросят: «Опиши последний раз, когда ты дебажил medlennyj Spark-job». Если кейсов нет — это сигнал, что опыта мало.

Игнорировать system design. Middle+ позиция почти всегда включает design-раунд. Без подготовки на нём проваливаются даже сильные технически кандидаты.

Не уметь объяснять trade-offs. Spark vs ClickHouse, Airflow vs Dagster — на собесе важно не «что лучше», а «когда что и почему». Кандидат, который говорит «всегда X» — слабый.

Использовать pandas на live-coding. На DE-позиции pandas — не основной инструмент. Если задача на стриминговую обработку, и вы тянете pandas — это плохо. Plain Python + генераторы — норма.

Не знать как работает под капотом. «Используем Spark» — недостаточно. Нужно понимать, как работает shuffle, что такое skew и как его выявить.

FAQ

Сколько готовиться к собесу DE с нуля?

Если есть SQL и Python — 2–3 месяца. Если приходите из аналитики — 1–2 месяца, упор на Spark/Airflow/system design.

Нужно ли знать Hadoop?

В 2026 — почти нет. Spark вытеснил MapReduce, HDFS заменяется на S3-совместимые хранилища. Знать концептуально — да, погружаться глубоко — не обязательно.

Spark в большинстве компаний РФ. Flink — там, где много стриминга (некоторые телеком-, fintech-команды). Если только начинаете — Spark.

Это официальная информация?

Нет. Статья основана на публичных источниках и опыте кандидатов. Конкретные процессы могут отличаться. Актуальные требования — на карьерной странице компании.