Собеседование на ML Engineer в ЮKassa

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Почему ЮKassa — особенный работодатель для MLE

ЮKassa — один из крупнейших платёжных сервисов в РФ для интернет-эквайринга, часть платформы ЮMoney в экосистеме Сбера. Конкурирует со СберPay, Тинькофф Касса, ЮMoney. Обслуживает десятки тысяч мерчантов, миллиарды рублей платёжного оборота, миллионы транзакций ежедневно. Для ML-инженера это работа в payments-инфраструктуре с жёсткими требованиями к low-latency и точности.

ML-системы: anti-fraud scoring транзакций (real-time классификация), chargeback prediction, anti-bot (детекция атак на checkout), dynamic 3DS-rule engine, рекомендации платёжных методов (какой метод предложить плательщику для максимизации конверсии), churn для мерчантов.

Стек: Python + Catboost для табличных задач + PyTorch для нейросетей + K8s для deployment с low-latency требованиями + ClickHouse как аналитический движок + Hadoop для тяжёлых ETL + MLflow для трекинга экспериментов.

Актуальные вакансии — на hh.ru и сайте ЮMoney / ЮKassa.

Информация основана на публичных источниках и опыте кандидатов. Команды ЮKassa используют разные процессы — уточняйте у рекрутера.

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

Цикл занимает 3-4 недели и включает 5-6 этапов. ЮKassa — крупный fintech в группе Сбер. Упор на anti-fraud, low-latency production и class imbalance.

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

Рекрутер проверяет фон: production-опыт ML (минимум 1 год моделей под реальным трафиком), fintech / payments / anti-fraud background — большой плюс, причины ухода, мотивация именно к ЮKassa, ожидания по компенсации. Если работал в Тинькофф Касса, СберPay, Robokassa, в anti-fraud-юнитах банков — упомяни в первые 30 секунд. Питч на 90 секунд: какие модели делал, эффект на бизнес-метрику.

2. ML-теория (60-90 минут)

Базовая секция с ведущим ML-инженером или DS. Темы: градиентный бустинг (как устроен CatBoost, ordered boosting, оверфит-контроль), anti-fraud / scoring (binary classification с heavy imbalance — fraud rate <1%), class imbalance (under/over-sampling, SMOTE, focal loss, class weights), calibration (Platt scaling, isotonic regression, почему raw scores из бустинга нужно калибровать), threshold optimization (precision-recall trade-off под бизнес-цель — заблокировать фрод vs не блокировать честные транзакции). Готовь ответы с цифрами: «у нас precision на топ-1% score 87%, recall на fraud 62%, threshold подбирали по cost-sensitive metric с весом 1:30». Слабые ответы — без бизнес-контекста.

Подготовка: ML-теория.

3. Python live coding (60 минут)

Live-кодинг: 1-2 задачи LeetCode Medium (массивы, хэш-таблицы, динамика — стандарт), плюс ML-pipeline-задача (например, реализовать sliding window для feature engineering или написать функцию для calibration). Чистота кода и тесты ценятся. Готовиться: минимум 50 задач LeetCode за 4-6 недель до собеса, плюс репетиция live-кодинга с другом.

Подготовка: Python для DS.

4. ML System Design (90 минут)

Самая сложная секция. Кейсы: «спроектируй anti-fraud pipeline для real-time scoring транзакций» (latency-бюджет 50-100ms), «спроектируй chargeback prediction» (отложенный label через 30-60 дней, делайт-эффекты), «спроектируй payment method recommendation» (multi-armed bandit или ranking). Структура ответа: уточнить бизнес-метрику (cost-sensitive — заблокированный фрод vs упущенная честная транзакция, false positive rate, ROI), описать архитектуру (feature pipeline, model serving, fallback на rule-engine), фичи (transaction-level, merchant-level, user-level, временные окна), данные для обучения (как лейблить, как бороться с feedback loop при блокировках), A/B-план, мониторинг. Сильные ответы — где видно опыт с production trade-off (latency vs точность, model staleness vs частые перетренировки).

Подготовка: MLOps, Model serving, Feature stores.

5. Production / scale (60 минут)

Секция с senior-инженером: как поднимал модели в прод с low-latency требованиями (квантизация, ONNX, специализированные serving-фреймворки), как мониторил drift с учётом adversarial setting (атаки эволюционируют, нужно постоянное retraining), как откатывал модели при инцидентах, как делал canary deploy на 1-5% трафика, как обрабатывал peak-нагрузки (Чёрная пятница даёт 10x обычного RPS). Заготовь 2-3 истории production-инцидентов с цифрами.

Подготовка: Monitoring drift, Deployment strategies.

6. Поведенческое (45 минут)

С тимлидом и/или представителем команды. STAR-формат: конфликт с продактом по приоритетам, факап с моделью в проде, спор по архитектуре. ЮKassa — критическая инфраструктура (платежи), поэтому проверяют ownership, готовность дежурить, способность работать в инцидентах. Не выдумывай: если факапов в проде не было, рассказывай про учебный проект, но честно.

Особенности по командам

Anti-Fraud. Ядро ML-продукта: real-time scoring транзакций в платёжном потоке. Модель должна решить за десятки миллисекунд, пропустить транзакцию или отправить на дополнительную верификацию. Adversarial setting — фродстеры адаптируются, модели быстро устаревают, нужно постоянное retraining и monitoring. Самая ответственная команда: false negative — пропустил фрод, потеряли деньги; false positive — заблокировали честную покупку, потеряли клиента. Подойдёт MLE с опытом в anti-fraud банков, e-commerce или telco.

Chargeback. Прогноз возвратов и претензий клиентов — критично для бизнеса, потому что chargeback бьёт по комиссиям ЮKassa перед платёжными системами (VISA/MC/MIR). Особенность: лейбл приходит с задержкой 30-180 дней, фичи нужно собирать аккуратно. Команда часто пересекается с anti-fraud, но решает другую бизнес-задачу. Подходит кандидату с интересом к labeled-delay-задачам и survival-analysis.

3DS / Risk. Динамический rule-engine для 3D-Secure: решает, какие транзакции требуют дополнительной верификации (SMS-код, биометрия), а какие можно пропустить «по скорингу». Цель — минимизировать friction (отказы от покупки на шаге верификации) при сохранении risk-уровня. Часто комбинирует ML-скоринг и бизнес-правила. Подходит MLE с интересом к UX-ориентированному ML.

Merchant analytics. Аналитика для мерчантов: churn prediction, propensity-модели для апсейла (дополнительные продукты ЮMoney), сегментация по бизнес-вертикали. Меньше real-time нагрузки, больше классической ML-аналитики. Подходит кандидату с background в banking/telco churn.

Платформа / Data. Core data team: feature store, ML-инфраструктура, эксперимент-фреймворк, мониторинг моделей в проде. Не строит модели сам, но обеспечивает остальные команды. Подходит инженерам с опытом в data engineering и MLOps.

Что ЮKassa ценит в MLE

Production ML на low-latency. Базовое требование. Слабый: «выкатил модель с latency 500ms». Сильный: «оптимизировал inference до 25ms p99 через квантизацию и batch inference, A/B показал no-regression по AUC, deployed на K8s с canary 5%». Готовь 2-3 такие истории с цифрами.

Fintech / anti-fraud context. Слабый кандидат не знает payment flow и 3DS. Сильный — изучил payment flow (issuer/acquirer, чарджбэк-цикл, 3DS 2.x), понимает специфику platform vs merchant risk, может назвать топ-3 fraud-pattern (card testing, account takeover, friendly fraud).

Class imbalance. Слабый: «использовал class_weight='balanced'». Сильный — обсуждает SMOTE vs undersampling vs focal loss, понимает разницу между метриками PR-AUC и ROC-AUC при сильном дисбалансе, умеет калибровать (Platt/isotonic) и подбирать threshold по cost-sensitive metric с реальными весами FP/FN.

K8s. Слабый: «деплоил через docker-compose». Сильный — сам поднимал модель в K8s с canary deploy, понимает HPA, ресурсные лимиты, fallback при OOM, как читать логи под нагрузкой. Минимум 1 модель в проде на K8s — необходимое условие.

Catboost / PyTorch / Python. Стандарт. Catboost — основной выбор для табличных задач в ЮKassa (категориальные фичи, scale до миллиардов транзакций). PyTorch — для нейросетей (например, sequence-модели поведения клиента). Будь готов объяснить, когда и почему выбрал именно эту модель.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

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

За 6-8 недель до собеседования:

  1. Неделя 1-2 — Python + ML + scoring. LeetCode Medium 30+ задач, anti-fraud, calibration. Параллельно прорешай вопросы по Python, ML и SQL в Карьернике: 1500+ задач с разбивкой по темам, по 10-15 минут в день закрывают пробелы перед собесом. Python для DS, ML-теория.
  2. Неделя 3 — K8s + Docker. Подними хотя бы 1 модель в K8s с low-latency.
  3. Неделя 4 — MLOps + feature stores. MLOps, Feature stores.
  4. Неделя 5 — System design + payments ML. Кейсы anti-fraud, chargeback, recommendation. Model serving.
  5. Неделя 6 — Monitoring + deployment. Monitoring drift.
  6. Неделя 7-8 — Mocks + behavioral. Mock-интервью, 5-7 STAR-историй.

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

Без fintech / payments domain. Сильный кандидат — «изучил payment flow (acquirer/issuer/processor), 3DS 2.x, цикл chargeback, разные fraud-patterns (card testing, account takeover, refund abuse)». Слабый — «делал классификацию транзакций». Прочитай хотя бы 2-3 статьи по anti-fraud в банках и payment-сервисах, blog Stripe / Adyen — отличный источник.

Без anti-fraud понимания. «Делал классификацию» — слабо. Сильный кандидат: «у нас был cost-sensitive setting, ROC-AUC не подходит, использовали PR-AUC и cost matrix, threshold подбирали по бизнес-задаче — заблокировать 60% фрода при FPR 0.5%». Это говорит о понимании реальной задачи.

Без K8s / low-latency. «Деплоил через docker-compose» — слабо. Сильный кандидат: «деплоил на K8s с HPA, canary 5%, healthcheck, fallback на rule-engine при ошибках, мониторил latency через Prometheus, оптимизировал inference через квантизацию». Хотя бы 1 модель сам в K8s до собеса — обязательно.

Только notebook. Кандидаты, которые писали только в Jupyter и никогда не модулировали код, обычно валятся на live-coding и system design. Перепиши свои свежие проекты в виде пакетов с тестами и CLI — это сразу видно по структуре кода и по тому, как ты говоришь про код в проде.

Без production опыта. «У нас была модель» — не история. Сильный кандидат: «поднял CatBoost-скоринг на 1М транзакций в день, +18% recall на fraud при том же FPR, продакшен на K8s, отловил inцидент с drift через 6 недель, перетренировал модель с обновлённым train set». Конкретика и цифры — обязательно.

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

FAQ

Удалёнка в ЮKassa для MLE?

Гибрид и удалёнка распространены.

Зарплатные вилки 2026?

Middle MLE: 300-450k. Senior: 450-680k.

Английский нужен?

Базовый — желательно.

Сколько этапов?

5-6 этапов, 3-4 недели.

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

Этапы основаны на публичных источниках и опыте кандидатов. Уточняйте у рекрутера.