Собеседование на Data Engineer в Яндекс Недвижимости

Проверь себя · 1/3разбор после ответа
Как GROUP BY обрабатывает значения NULL в столбце группировки?

Почему Яндекс Недвижимость — особенный работодатель для DE

Яндекс Недвижимость — PropTech-сервис Яндекса: объявления о покупке, аренде и новостройках. Data Engineer здесь работает не с одним чистым источником, а с зоопарком данных: XML-фиды от тысяч агентств и застройщиков (у каждого свой формат и качество), поисковый индекс объявлений, гео-данные (координаты, районы, инфраструктура), ML-фичи для AVM — модели автоматической оценки стоимости жилья.

Две вещи делают эту команду особенной. Первая — данные разнородные и грязные: фиды приходят в разном виде, с дублями, устаревшими и битыми объявлениями, и их надо приводить к единой схеме. Вторая — стек Яндекса поверх обычного DE-инструментария: внутренние хранилище и вычисления (YTsaurus / YT), Spark, ClickHouse для аналитики и ElasticSearch как поисковый движок. Актуальные вакансии смотрите на странице карьеры Яндекса.

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

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

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

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

Рекрутер знакомится с опытом, обсуждает стек (Spark, ClickHouse, ElasticSearch), объёмы данных, с которыми вы работали, и мотивацию идти в PropTech. Стоит заранее собрать питч на 90 секунд: продукт, объёмы, инструменты, ваш вклад.

2. SQL и Python (60–90 минут)

Live coding. Проверяют уверенный SQL (оконные функции, CTE, дедупликация, оптимизация) и Python для обработки данных. Задачи часто крутятся вокруг реальных сценариев: посчитать метрики по объявлениям, найти дубли, распарсить полуструктурированный источник. Готовиться — SQL для DE и SQL-тренажёр.

3. Spark и распределённая обработка (60–90 минут)

Ключевой этап: команда гоняет большие батчи через Spark. Спросят про партиционирование, shuffle, join-стратегии (broadcast vs sort-merge), skew данных и оптимизацию джобов. Готовят вопросы «почему джоба тормозит и как ускорить».

4. System design (60–90 минут)

Проектирование пайплайна на доменных кейсах: как построить обработку XML-фидов, поисковый индекс объявлений, гео-пайплайн или фичи для AVM. Смотрят на выбор хранилища, идемпотентность, обработку грязных данных и мониторинг качества. Готовиться — data modeling и ClickHouse и OLAP.

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

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

Что Яндекс Недвижимость ценит в DE

  • Spark на глубину. Не «запускал джобу», а понимание shuffle, партиционирования и оптимизации на больших объёмах.
  • ElasticSearch. Поиск объявлений держится на ES — важно понимать индексацию, мэппинги, релевантность и обновление индекса.
  • ClickHouse. Аналитика и отчётность по объявлениям и воронкам живут в ClickHouse; MergeTree и материализованные представления — базовый минимум.
  • Работа с разнородными данными. XML-фиды агентств грязные и разноформатные — ценят умение приводить их к единой схеме и валидировать.
  • DWH и моделирование. Понимание слоёв хранилища, идемпотентности загрузок и обработки поздних (late-arriving) данных.

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

  • Пайплайн XML-фидов агентств. Как надёжно принимать, парсить и валидировать тысячи разноформатных фидов, обрабатывать дубли и устаревшие объявления.
  • Поисковый индекс объявлений. Как строить и обновлять индекс в ElasticSearch, чтобы поиск оставался быстрым и свежим.
  • Пайплайн для AVM. Как готовить и обновлять фичи для модели автоматической оценки стоимости жилья.
  • Гео-пайплайны. Обогащение объявлений координатами, районами и данными об инфраструктуре.
  • Оптимизация Spark-джоб. Разобрать медленную джобу: skew, лишний shuffle, неоптимальные join-ы.
Готовишься к собесу аналитика?
4000+ человек тренируются в Карьернике — 1700+ вопросов с реальных собеседований
Открыть Карьерник в Telegram

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

За 4–6 недель:

  1. Spark. Внутреннее устройство, shuffle, партиционирование, оптимизация джоб — Spark на собесе DE.
  2. ElasticSearch. Индексация, мэппинги, релевантность, обновление индекса.
  3. ClickHouse. MergeTree, материализованные представления, аналитические запросы — ClickHouse и OLAP.
  4. DWH и моделирование. Слои хранилища, идемпотентность, поздние данные — data modeling.
  5. SQL уровня middle–senior. Оконные функции, дедупликация, оптимизация — SQL для DE.

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

  • Поверхностный ElasticSearch. «Слышал про ES» не проходит — спросят про индексы, мэппинги и обновление поискового индекса.
  • Слабый SQL. На DE-позиции много SQL для ETL и аналитики; провал на оконных функциях или дедупликации сразу заметен.
  • Spark на уровне ярлыков. Умение назвать groupBy не равно пониманию shuffle и skew — на глубоких вопросах кандидат сыпется.
  • Игнор специфики грязных данных. PropTech — это разноформатные фиды с дублями; ответ «данные приходят чистыми» звучит наивно.
  • Нет опыта продакшена. Только эксперименты без выкаток, мониторинга и обработки инцидентов — слабая позиция для DE.

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

FAQ

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

Обычно 5–6: HR-скрининг, SQL/Python live coding, Spark, system design и поведенческое с финалом. Весь процесс занимает 2–4 недели в зависимости от команды и загрузки.

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

Желателен, но не обязателен. Плюсом будет понимание специфики: разнородные фиды, гео-данные, поиск и оценка недвижимости. Если PropTech-опыта нет, компенсируйте сильной инженерной базой и умением рассуждать про грязные разноформатные источники.

Какие инструменты стоит знать?

Ядро — Spark, ClickHouse и ElasticSearch. Плюс уверенный SQL и Python, понимание DWH-моделирования и идемпотентных загрузок. Внутренний стек Яндекса (YTsaurus) осваивают уже на месте, но знание Spark и ClickHouse ожидается на входе.

Какие зарплатные вилки?

Точные цифры зависят от грейда и переговоров, ориентир по рынку 2026: middle DE — примерно 250–380 тыс. ₽, senior — 380–550 тыс. ₽ и выше. Это ориентировочные диапазоны, а не оффер — уточняйте у рекрутера.

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

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