Arenadata

Платформа данных, распределённые вычисления, ML на данных заказчика

Разработчик платформы управления данными: хранилища, озёра, потоковая обработка, инструменты аналитики. Здесь ML-инженер работает не столько с моделями, сколько с тем, что под ними: как данные хранятся, как считаются признаки на объёмах в петабайты и как это всё живёт у заказчика. Отбор соответствующий — инженерия данных весит больше, чем модели.

Этапы отбора

Порядок и состав секций меняются от команды к команде — это типовая схема, собранная по открытым источникам. Этапы, на которых проверяют знания, ведут в разбор формата: что оценивают и чем закрывать пробелы.

Все форматы проверок →
  1. Скрининг

    Рекрутер уточняет направление: ядро платформы, инструменты аналитики, внедрение у заказчиков.

  2. Алгоритмическая секция

    Алгоритмическая секция: структуры данных, сложность, понимание работы с памятью и диском.

  3. SQL-секция

    SQL-секция с уклоном в исполнение: как запрос выполняется, что такое план, где возникает перемешивание.

  4. Секция по инженерии данных

    Секция по инженерии данных: хранилища и форматы, потоки, качество, распределённые вычисления.

  5. Секция дизайна ML-системы

    На middle+ — дизайн: как устроить расчёт признаков и обучение на данных, которые не помещаются в память.

  6. Финальная встреча

    Руководитель: задачи, уровень, работа с внедрениями.

Что оценивают на любом направлении
  • Понимание того, что происходит под SQL: планы, соединения, перемешивание, статистики.
  • Опыт работы с распределёнными системами и осознание их отказов как нормы.
  • Умение объяснить заказчику, почему запрос дорогой, и предложить альтернативу.
  • Аккуратность с данными: платформа отвечает за сохранность и согласованность.

Чем проверяют себя перед отбором

4 формата проверки из отбора Arenadata — и тест атласа под каждый. Слабые места видно сразу после захода, а темы для разбора собираются автоматически.

Живое кодирование: решение вслух и код в редакторе

На чём валятся
  • Молчаливое написание кода: интервьюер оценивает ход рассуждения, а не только результат.
  • Отсутствие практики — теория известна, но простая задача пишется час.

SQL-секция

SQL interview

Соединения, оконные функции и цена запроса на большой таблице

На чём валятся
  • COUNT(*) вместо COUNT(поле) после LEFT JOIN — классическая тихая ошибка.
  • Запрос без фильтра по ключу разбиения: на боевой таблице он просто не доедет.

Пайплайны, потоки, идемпотентность и качество данных

На чём валятся
  • Схема без ответа на вопрос «что происходит при повторном запуске».
  • Поток там, где хватило бы часового батча, — и наоборот, сутки задержки там, где нужны минуты.

От постановки до эксплуатации на одной доске

На чём валятся
  • Прыжок в архитектуру с первой минуты, без требований и метрик.
  • Схема, которая заканчивается обучением модели: ни выката, ни мониторинга.
22 вопроса в банкеТест: Дизайн ML-систем

Программа подготовки под компанию

20 тем по всем направлениям Arenadata — если команда ещё не выбрана. Программа разложит их по неделям от математики к продакшену; под конкретное направление список короче, и его можно собрать ниже.

Собрать программу подготовки

Эти 20 тем можно разложить по неделям: программа выстроит их от математики к продакшену, поставит тест в конце каждой недели и вернёт тему на повторение, если вы в ней ошиблись. Выйдет примерно 4 недели под Arenadata · Все направления.

Проверяем, вошли ли вы…

Направления

Выберите направление: обязательные темы со ссылками в атлас, типовые вопросы с ответами и тест для самопроверки.

Все тесты →
Направление

Платформа данныхData Platform

Хранение и обработка больших данных: форматы, разбиение, запросы, потоки. Специфика — задачи упираются не в модель, а в физику: диск, сеть, память, распределение работы.

Пройти тест: SQL и инженерия данных (24 вопроса)
Собрать программу подготовки

Эти 10 тем можно разложить по неделям: программа выстроит их от математики к продакшену, поставит тест в конце каждой недели и вернёт тему на повторение, если вы в ней ошиблись. Выйдет примерно 2 недели под Arenadata · Платформа данных.

Проверяем, вошли ли вы…

Типовые вопросы секции (4)
Почему соединение двух больших таблиц дорого и как это уменьшить?

Из-за перемешивания: строки с одинаковым ключом должны оказаться на одном узле, а это сеть и диск. Уменьшают трансляцией маленькой таблицы, совместным разбиением по ключу соединения, предварительной агрегацией и фильтрацией до соединения. Это первое, что спрашивают в такой секции.

Разбор в атласе: Spark — Spark
Что такое перекос данных и как с ним бороться?

Неравномерное распределение по ключу: одна партиция получает большую часть строк, и вся задача ждёт одного исполнителя. Приёмы — соль к ключу с последующей доагрегацией, отдельная обработка тяжёлых ключей, трансляция. Увеличение ресурсов не помогает, потому что узкое место — одна задача.

Разбор в атласе: Partitioning — Партиционирование
Зачем нужны табличные форматы поверх файлов?

Чтобы получить атомарность записи, эволюцию схемы и снимки: читатель не должен видеть половину записи, а разработчик — переписывать всю таблицу ради нового поля. Плюс возможность читать состояние на момент времени, что важно и для отладки, и для воспроизводимости обучения.

Разбор в атласе: Open Table Formats — Табличные форматы озера
Как распределённая система решает, где лежат данные?

Хешированием ключа по кольцу: согласованное хеширование позволяет добавлять и убирать узлы, перемещая лишь часть данных, а не всё. Понимание этого нужно, чтобы отвечать на практический вопрос — что произойдёт при расширении кластера и почему часть запросов замедлится.

Разбор в атласе: Consistent Hashing — Консистентное хеширование
Что сделать руками до собеседования
  • Профилируйте распределённый запрос и найдите стадию перемешивания в плане выполнения.
  • Воспроизведите перекос по ключу и устраните его солью или трансляцией.
  • Сравните скорость чтения колоночного и строкового формата на аналитическом запросе.