Авито

Поиск и ранжирование, модерация контента, рекомендации

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

Этапы отбора

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

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

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

  2. Секция по Python и работе с данными

    Python, SQL, базовые алгоритмы. Проверяют не экзотику, а способность аккуратно решить обычную задачу.

  3. ML-секция: модели, признаки, валидация

    Глубокие вопросы по вашему направлению: ранжирование, зрение и текст в модерации, рекомендации.

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

    Спроектировать ML-систему целиком: требования, данные, архитектура, метрики, что ломается в проде.

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

    Команда, задачи, ожидания по уровню.

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

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

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

Код, который готовит данные: агрегаты, соединения, пропуски

На чём валятся
  • Код, который работает на примере и не масштабируется: построчные циклы вместо векторных операций.
  • Молчаливое отбрасывание пропусков без объяснения, почему это допустимо.

Классика табличных задач и честная проверка качества

На чём валятся
  • «Взял бустинг, получил 0.85 AUC» без бейзлайна и без объяснения, что это значит для продукта.
  • Случайное разбиение в задаче, где данные упорядочены во времени.
24 вопроса в банкеТест: Классический ML

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

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

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

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

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

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

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

Направления

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

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

Поиск и ранжированиеSearch & Ranking

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

Пройти тест: NLP (24 вопроса)
Что нужно знать: темы атласа
Собрать программу подготовки

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

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

Типовые вопросы секции (3)
Зачем к векторному поиску добавлять BM25, если эмбеддинги «понимают смысл»?

Векторный поиск проваливается на точных редких строках: артикул, модель товара, название посёлка. BM25 их находит именно потому, что работает с лексикой. Выдачи объединяют (обычно reciprocal rank fusion) и переранжируют кросс-энкодером по верхушке — так закрываются обе слабости.

Разбор в атласе: Semantic Search — Семантический поиск
Клики есть, а удовлетворённость не растёт. Как это ловить?

Клик — плохой прокси: заголовок-приманка собирает клики и портит опыт. Смотрят на цепочку целиком — время после клика, возврат в выдачу, дальнейшее действие (звонок, сообщение, сделка). В офлайн-метрику это заводят взвешенной релевантностью, а не бинарным кликом.

Разбор в атласе: NDCG — NDCG
Как оценивать качество поиска, если разметки релевантности нет?

Тремя источниками сразу: небольшая экспертная разметка на выборке запросов, поведенческие сигналы с поправкой на позицию и A/B-тест как финальный судья. Ни один из них по отдельности не достаточен — экспертная выборка мала, поведение смещено показом, A/B медленный и дорогой.

Разбор в атласе: A/B testing — A/B-тестирование
Что сделать руками до собеседования
  • Соберите гибридный поиск (BM25 + векторы) на открытом корпусе и сравните с каждым по отдельности.
  • Реализуйте переранжирование кросс-энкодером по top-50 и замерьте прирост NDCG и цену по задержке.