Вернуться в видеотекуПубличное собеседование ML-инженера с компанией X5 Tech
Разбор публичного технического собеседования на позицию ML-инженера в X5 Tech. Основные темы — рекомендательные системы, CatBoost, оценка моделей, обработка больших данных и архитектура офлайн- и realtime-рекомендаций.
- Направление
- Machine Learning
- Формат
- Видео
- Компания
X5 Tech- Длительность
- 1 ч 20 мин
Коротко о видео
Публичное собеседование ML-инженера Бориса с Максимом Павловым из X5 Tech посвящено рекомендательным системам, ML-моделям и system design. Кандидат рассказывает о работе в Яндекс Картах: улучшении геолокации и модели выбора push-уведомлений с предложением оставить отзыв об организации. Затем он проектирует рекомендательную ленту для продуктового приложения, а интервьюер проверяет понимание CatBoost, оценки моделей, распределённой обработки данных, Spark, хранения рекомендаций, экспериментов и масштабирования. В финале Максим в целом положительно оценивает ответы, но отмечает необходимость глубже объяснять механизмы моделей и предлагать итеративные улучшения для проблемных сегментов.
Затронутые темы
Что взять на заметку
- Для модели выбора push-уведомлений кандидат описывает задачу как ранжирование кандидатов с возможностью ничего не отправлять; целями выступают вероятность целевого действия, товарные ограничения и разные веса пользовательских реакций.
- Для честной оценки уже работающей модели, по мнению кандидата, нужен небольшой рандомизированный поток: без него обучающие данные смещены решениями предыдущего ранжировщика.
- В обсуждаемой табличной задаче кандидат выбирает CatBoost из-за смешанных признаков, гибкости постановки ранжирования или классификации и удобства добавления новых признаков; интервьюер просит глубже объяснять сам механизм лосса и настройки.
- При улучшении модели важнее качество датасета, таргетов и их весов, чем механический перебор гиперпараметров; однако интервьюер подчёркивает, что при добавлении признаков и поиске прироста гиперпараметры тоже приходится пересматривать.
- При падении join-задач в Spark по памяти нужно проверять перекос данных, слишком крупные записи, размеры партиций и явно задаваемые ресурсы, а не только уникальность ключей.
- Для офлайн-рекомендаций обсуждается ежедневный расчёт top-K и быстрое key-value-хранилище с сервисом выдачи; для realtime-варианта — многоступенчатый retrieval, быстрый предварительный ранжировщик и более дорогой reranking с онлайн-признаками.