Собеседование на Data Engineer в Аэрофлоте

Проверь себя · 1/3разбор после ответа
Вы хотите получить одну строку на пользователя с итоговой выручкой и заменили GROUP BY на оконную SUM(amount) OVER (PARTITION BY user_id). Почему результат содержит столько же строк, сколько и исходный набор?

Почему Аэрофлот — особенный работодатель для DE

Аэрофлот — крупнейший авиаперевозчик РФ, и его данные устроены сложнее, чем у типичного диджитал-продукта. Data Engineer здесь работает с биллингом рейсов, данными revenue management (динамическое ценообразование билетов), программой лояльности «Аэрофлот Бонус», интеграциями с GDS и системами бронирования (PSS), а также с B2B-аналитикой для корпоративных клиентов и агентств.

Главная особенность — сочетание современного стека и legacy. С одной стороны Spark и ClickHouse для аналитики, с другой — исторические системы на Greenplum и DB2, доставшиеся от классической авиационной ИТ-инфраструктуры. Данные приходят из разнородных источников: бронирования, вылеты, тарифы, лояльность, финансы. Поэтому от DE ждут не только владения современными инструментами, но и умения аккуратно интегрироваться с унаследованными системами и понимать доменную специфику авиаперевозок. Актуальные вакансии — на странице карьеры Аэрофлота.

Информация в статье основана на публичных источниках и опыте кандидатов. Формат может отличаться по командам и грейдам. Уточняйте у рекрутера.

Этапы собеседования

Процесс близок к стандартному DE-собесу в крупной компании и обычно занимает 5-6 этапов, растянутых на 2-4 недели.

1. HR-скрининг (30-45 минут)

Знакомство: где работали, с какими объёмами и типами данных, почему авиация. Стоит заранее собрать питч на 60-90 секунд — какие пайплайны строили, какой стек, какой был ваш вклад.

2. SQL и Python (техническое, 60-90 минут)

Живое написание запросов и кода. SQL спрашивают уверенно — оконные функции, CTE, оптимизация, дедупликация, работа с историческими срезами. Python — обработка данных, скрипты ETL, базовые структуры данных.

3. Spark (60-90 минут)

Ключевой блок для Аэрофлота из-за объёмов. Ждут понимания механики: как устроены трансформации и action-и, что такое shuffle и как его сокращать, как бороться с перекосом данных (data skew), как выбирать формат хранения и партиционирование. Разбор — в статье про Spark на собеседовании DE.

4. Хранилища: ClickHouse и Greenplum (45-60 минут)

Вопросы про аналитические СУБД: как устроен ClickHouse (MergeTree, материализованные представления), в чём отличие MPP-хранилища Greenplum, когда что применять. Плюс общие темы моделирования DWH — слои, витрины, историчность.

5. Архитектура и system design (60-90 минут)

Проектирование пайплайна под авиационный кейс — например, витрина revenue management или биллинг рейсов. Смотрят на выбор источников, обработку late-arriving данных, идемпотентность, интеграцию legacy-систем с современным хранилищем.

6. Поведенческое + финал (45-60 минут)

Вопросы в формате STAR: как принимали архитектурные решения, как работали в кросс-командных проектах, как разбирали инциденты с данными. Иногда объединяют с общением с нанимающим менеджером.

Что Аэрофлот ценит в DE

  • Spark на уверенном уровне. Основной инструмент обработки больших объёмов, спрашивают глубоко — от механики до оптимизации.
  • ClickHouse и Greenplum. Аналитические хранилища, на которых строится отчётность и витрины; важно понимать сильные стороны каждого.
  • Умение работать с legacy. DB2, унаследованные форматы, интеграция со старыми системами бронирования и биллинга — реальная часть работы, а не экзотика.
  • Моделирование DWH. Проектирование слоёв и витрин, историчность, качество данных — база для аналитики бизнеса.
  • Понимание авиадомена. Тарифы, бронирования, лояльность, revenue management — знание предметной области ускоряет онбординг и ценится на собесе.

Типичные задачи и кейсы

  • Пайплайн биллинга рейсов — свести данные о продажах, вылетах и тарифах в согласованную витрину для финансов.
  • Витрина revenue management — данные для динамического ценообразования: загрузка рейсов, история спроса, сегменты.
  • Cohort retention по держателям карт лояльности — как считать удержание и активность участников «Аэрофлот Бонус».
  • Интеграция с GDS — приём и нормализация данных из глобальных систем дистрибуции.
  • Миграция с mainframe — перенос данных и логики из унаследованных систем в современное хранилище без потери консистентности.
Готовишься к собесу аналитика?
4000+ человек тренируются в Карьернике — 1700+ вопросов с реальных собеседований
Открыть Карьерник в Telegram

Как готовиться: план

Ориентировочно 4-5 недель, если стек в целом знаком.

  1. Spark вглубь. Механика, shuffle, борьба со skew, форматы и партиционирование. Основной технический блок.
  2. ClickHouse и Greenplum. Как устроены, когда что выбирать, базовая оптимизация запросов.
  3. Моделирование DWH. Слои, витрины, историчность, качество данных.
  4. SQL до уверенного уровня. Оконные функции, оптимизация, работа с историческими срезами — ждут middle-senior.
  5. Авиадомен. Разберитесь в базовых понятиях: тарифы, бронирования, revenue management, лояльность — чтобы предметно обсуждать кейсы.

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

  • Игнорировать legacy. Кандидаты недооценивают долю унаследованных систем; фраза «легаси меня не интересует» на собесе в авиакомпанию звучит плохо.
  • Слабый SQL. На senior-грейд ждут уверенных запросов и оптимизации, а не только базовых SELECT.
  • Поверхностный Spark. Ответы уровня «использовал Spark» без понимания shuffle, skew и оптимизации быстро вскрываются.
  • Не понимать домен. Без базового представления об авиаперевозках сложно обсуждать кейсы биллинга и revenue management.

Связанные темы

FAQ

Сколько этапов собеседования?

Обычно 5-6: HR-скрининг, техническое интервью по SQL/Python, блок по Spark, вопросы по хранилищам (ClickHouse/Greenplum), system design и поведенческое с финалом. Весь процесс чаще всего укладывается в 2-4 недели, но зависит от команды и грейда.

Нужен ли опыт в авиации?

Не обязателен, но желателен. Знание базовых понятий домена — тарифы, бронирования, revenue management, лояльность — помогает предметно обсуждать кейсы и ускоряет онбординг. Без опыта в авиации попасть можно, если сильна инженерная часть.

Какой уровень SQL ожидают?

Уверенный, ближе к senior: оконные функции, оптимизация запросов, дедупликация, работа с историческими срезами. SQL здесь — рабочий инструмент, а не формальность.

Насколько важен Spark?

Это ключевой блок из-за объёмов данных. Ждут не только опыта использования, но и понимания механики: трансформации против action-ов, shuffle, борьба с перекосом данных, выбор форматов и партиционирования.

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

Нет. Этапы и требования основаны на публичных источниках и опыте кандидатов, детали различаются по командам и грейдам. Точный формат уточняйте у рекрутера.