Собеседование на Data Engineer в Аэрофлоте
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 — перенос данных и логики из унаследованных систем в современное хранилище без потери консистентности.
Как готовиться: план
Ориентировочно 4-5 недель, если стек в целом знаком.
- Spark вглубь. Механика, shuffle, борьба со skew, форматы и партиционирование. Основной технический блок.
- ClickHouse и Greenplum. Как устроены, когда что выбирать, базовая оптимизация запросов.
- Моделирование DWH. Слои, витрины, историчность, качество данных.
- SQL до уверенного уровня. Оконные функции, оптимизация, работа с историческими срезами — ждут middle-senior.
- Авиадомен. Разберитесь в базовых понятиях: тарифы, бронирования, revenue management, лояльность — чтобы предметно обсуждать кейсы.
Частые ошибки
- Игнорировать legacy. Кандидаты недооценивают долю унаследованных систем; фраза «легаси меня не интересует» на собесе в авиакомпанию звучит плохо.
- Слабый SQL. На senior-грейд ждут уверенных запросов и оптимизации, а не только базовых SELECT.
- Поверхностный Spark. Ответы уровня «использовал Spark» без понимания shuffle, skew и оптимизации быстро вскрываются.
- Не понимать домен. Без базового представления об авиаперевозках сложно обсуждать кейсы биллинга и revenue management.
Связанные темы
- Собеседование на DE в Aviasales
- Собеседование на DE в Сбере
- Spark на собесе DE
- Собеседование на DS в Аэрофлоте
- Собеседование на PM в Аэрофлоте
FAQ
Сколько этапов собеседования?
Обычно 5-6: HR-скрининг, техническое интервью по SQL/Python, блок по Spark, вопросы по хранилищам (ClickHouse/Greenplum), system design и поведенческое с финалом. Весь процесс чаще всего укладывается в 2-4 недели, но зависит от команды и грейда.
Нужен ли опыт в авиации?
Не обязателен, но желателен. Знание базовых понятий домена — тарифы, бронирования, revenue management, лояльность — помогает предметно обсуждать кейсы и ускоряет онбординг. Без опыта в авиации попасть можно, если сильна инженерная часть.
Какой уровень SQL ожидают?
Уверенный, ближе к senior: оконные функции, оптимизация запросов, дедупликация, работа с историческими срезами. SQL здесь — рабочий инструмент, а не формальность.
Насколько важен Spark?
Это ключевой блок из-за объёмов данных. Ждут не только опыта использования, но и понимания механики: трансформации против action-ов, shuffle, борьба с перекосом данных, выбор форматов и партиционирования.
Это официальная информация?
Нет. Этапы и требования основаны на публичных источниках и опыте кандидатов, детали различаются по командам и грейдам. Точный формат уточняйте у рекрутера.