ЮMoney

Платёжный антифрод, конверсия платежа, аналитика и эксперименты

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

Этапы отбора

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

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

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

  2. SQL-секция

    SQL-секция: транзакционные витрины, когорты, оконные функции, аккуратная работа со временем.

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

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

  4. Продуктовая секция и A/B

    Секция по экспериментам: как проверить, что изменение в платёжной форме или в правилах реально помогло.

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

    На middle+ — дизайн сервиса принятия решений в реальном времени: признаки, задержка, отказоустойчивость.

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

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

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

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

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

SQL-секция

SQL interview

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

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

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

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

Продуктовая секция и A/B

Statistics & experimentation

Дизайн эксперимента, значимость и решение по результату

На чём валятся
  • Остановка теста в момент, когда p-value впервые стало меньше 0,05.
  • Вывод по срезу, найденному после эксперимента, без поправки.

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

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

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

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

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

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

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

Направления

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

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

Антифрод платежейPayment Fraud

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

Пройти тест: Классический ML (24 вопроса)
Собрать программу подготовки

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

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

Типовые вопросы секции (4)
Какие признаки можно посчитать за 20 миллисекунд, а какие нет?

В онлайне считаются дешёвые признаки контекста операции и агрегаты из быстрого хранилища по ключам (карта, устройство, магазин). Тяжёлые исторические агрегаты предподсчитываются пакетно и обновляются по расписанию или потоком. Разделение офлайна и онлайна — главное архитектурное решение в этой задаче.

Разбор в атласе: Online and Offline Features — Онлайн- и офлайн-признаки
Как считать агрегат «число операций за последний час», чтобы не получить утечку?

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

Разбор в атласе: Data leakage — Утечка данных
Магазины разные: у одного средний чек 300 рублей, у другого 300 тысяч. Одна модель?

Одна модель с признаками магазина и относительными величинами (отклонение от типичного чека для этого продавца), но с сегментными порогами. Абсолютные суммы без нормировки заставят модель считать любой крупный платёж подозрительным, а пороги, общие для всех, ударят по дорогим сегментам.

Разбор в атласе: Feature engineering — Конструирование признаков
Как измерить ущерб от ложных отказов?

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

Разбор в атласе: Precision — Точность
Что сделать руками до собеседования
  • Соберите онлайн-признаки с окном, заканчивающимся моментом операции, и проверьте отсутствие заглядывания вперёд.
  • Постройте пороги по сегментам магазинов и сравните суммарные потери с общим порогом.
  • Оцените задержку инференса вместе с чтением признаков, а не отдельно.