Собеседование на Data Engineer
Что спрашивают на собесе Data Engineer
Собеседование на Data Engineer проверяет: знание SQL на высоком уровне, инструменты оркестрации (Airflow / Dagster / Prefect), streaming (Kafka, Spark Streaming), распределённые системы (Spark, Hadoop), хранилища (ClickHouse, Redshift, Snowflake, BigQuery), data-моделирование (звезда, snowflake, Data Vault, Data Mesh), CDC и интеграции.
В отличие от аналитика, где SQL — это про правильный запрос, у DE SQL — это про оптимизацию (индексы, партиционирование, materialized views), про инфраструктуру (как поток данных доходит из источника в DWH без сбоев), про корректность данных на большом масштабе. Это инженерная профессия с дата-фокусом.
Этапы собеседования
1. Скрининг с рекрутером (20-30 минут). Опыт, инструменты, ожидания.
2. SQL deep dive (60 минут). Сложные запросы на оптимизацию, оконные функции, explain plan, индексы.
3. Инструменты и архитектура (60-90 минут). Airflow / Dagster / Prefect — паттерны DAG, sensors, XCom, backfill. Spark / Kafka / ClickHouse — практические вопросы.
4. Data modeling и DWH (45-60 минут). Star schema, Snowflake schema, SCD типы, Data Vault, lakehouse. Кейс: «спроектируй DWH для маркетплейса».
5. Системный дизайн ETL/ELT (60 минут). «Спроектируй ingest 10TB/день», «как обработать поток с задержкой 1 минута».
6. Поведенческое (45 минут). STAR-вопросы.
7. Финал с лидом DE. Фит с командой.
Главные темы по разделам
SQL для DE
- SQL на собеседовании
- Оконные функции — шпаргалка
- LAG, LEAD в SQL
- CTE и подзапросы
- JSONB в PostgreSQL
- Materialized views в SQL
Хранилища и DWH
- ClickHouse vs PostgreSQL для аналитика
- Data Warehouse vs Database
- Star vs Snowflake schema для DE
- Slowly Changing Dimensions (SCD) для DE
- Data Vault 2.0 на собесе DE
- Lakehouse, Iceberg, Delta на собесе DE
Оркестрация
- Airflow для аналитика
- Airflow на собесе DE
- Airflow backfill на собесе DE
- Airflow sensors на собесе DE
- Airflow XCom на собесе DE
- Airflow vs Dagster
- Airflow vs Prefect на собесе DE
Streaming и Big Data
- Kafka на собесе DE
- Apache Spark на собесе DE
- Spark Structured Streaming на собесе DE
- Apache Flink на собесе DE
- Batch vs Stream processing
ETL / ELT и интеграции
- Airbyte vs Fivetran на собесе DE
- CDC и Debezium на собесе DE
- Идемпотентность пайплайна для DE
- CDC vs batch loading на собесе DE
Data quality и observability
Гайды по компаниям
Примеры вопросов
1. Чем OLAP отличается от OLTP?
OLTP — операционные системы: маленькие транзакции, частые INSERT/UPDATE, узкие запросы, нормализованные таблицы. PostgreSQL для биллинга. OLAP — аналитические: большие сканы, агрегаты, чтение преобладает, денормализованные таблицы. ClickHouse / Snowflake / BigQuery для аналитики.
2. Что такое идемпотентность DAG и почему важна?
Идемпотентность — повторный запуск даёт тот же результат. Для DE критично: задачи могут падать, retries и backfill — обычное дело. Достигается через: уникальные ключи (UPSERT вместо INSERT), MERGE по primary key, удаление целевых партиций перед записью, transaction guarantees.
3. Star schema vs Snowflake — когда что?
Star — denormalized, одна fact-таблица + независимые dimensions. Быстрее для аналитики (меньше JOIN). Snowflake — normalized dimensions (есть подсправочники). Экономит storage, сложнее запросы. По умолчанию start с star, переходи к snowflake только при необходимости.
4. Как обработать late-arriving facts?
Несколько подходов: (1) перезапустить нужные партиции (backfill); (2) использовать SCD-механизмы для исторической точности; (3) buffering данных перед загрузкой; (4) merge с учётом event_time, не processing_time. Каждый подход имеет trade-off-ы.
5. Spark — partitioning vs bucketing?
Partitioning — физическое разделение данных по колонке (write_time), быстрый pruning при чтении. Bucketing — деление partition на N buckets по hash колонки, ускоряет joins и aggregates. На практике: partition by date, bucket by user_id.
Как готовиться
- SQL до автоматизма. Не только запросы, но и оптимизация: explain plan, индексы, partitioning. SQL-раздел.
- Airflow / Dagster на проекте. Pet-project с реальным DAG, расписанием, sensors, retry-логикой.
- Spark. Книга «Spark: The Definitive Guide» Бил Чамберс. Practice через локальный Spark или Databricks Community.
- Хранилища. ClickHouse documentation + Snowflake / BigQuery basics.
- Data modeling. Книга Kimball «The Data Warehouse Toolkit».
- ML system design для DE. Прорешать 5+ кейсов «спроектируй pipeline».
Другие темы
FAQ
Чем DE отличается от DA и DS?
DE строит инфраструктуру: pipelines, DWH, real-time stream. DA анализирует данные. DS строит модели. DE — больше про инженерию, меньше про статистику.
Нужны ли SQL и Python оба?
SQL — must-know на senior уровне. Python — обязателен (Airflow DAG-и на Python, обработка данных, скрипты).
Сколько готовиться к DE-собесу?
Junior: 3-6 месяцев после получения базы. Middle/Senior: 1-3 месяца сфокусированной подготовки.
Нужен ли Hadoop?
В современных компаниях — нет. Hadoop legacy, чаще Spark + cloud storage (S3 / GCS / ABFS). Hive metastore остаётся.