Собеседование на Data Engineer

Проверь себя · 1/3разбор после ответа
Для каждой покупки пользователя нужно добавить дату следующей покупки этого же пользователя, чтобы потом посчитать интервал между покупками. Что использовать?

Что спрашивают на собесе 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

Хранилища и DWH

Оркестрация

Streaming и Big Data

ETL / ELT и интеграции

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.

Как готовиться

  1. SQL до автоматизма. Не только запросы, но и оптимизация: explain plan, индексы, partitioning. SQL-раздел.
  2. Airflow / Dagster на проекте. Pet-project с реальным DAG, расписанием, sensors, retry-логикой.
  3. Spark. Книга «Spark: The Definitive Guide» Бил Чамберс. Practice через локальный Spark или Databricks Community.
  4. Хранилища. ClickHouse documentation + Snowflake / BigQuery basics.
  5. Data modeling. Книга Kimball «The Data Warehouse Toolkit».
  6. 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 остаётся.