Материал Эйч · Опубликовано 27 октября 2026
Классический ML, спрос и ассортимент в ритейле: от формулировки задачи с бизнесом до A/B и продакшена на Spark/ClickHouse.
Фишка: X5 Tech — IT-ядро X5 Group: крупные данные (Hadoop, Spark, ClickHouse), сильная инженерная культура и технические комьюнити; для этой роли акцент на retail-задачах коммерции, а не на чистом research.
| Этап | Длительность | Что проверяют |
|---|---|---|
| Скрининг / HR | 30–45 мин | опыт, формат работы, ожидания по ЗП, интерес к направлениям (поиск, рекомендации, CRM, доступность, прогноз спроса) |
| Техническое интервью | 60–90 мин | ML-теория, Python, разбор проектов, иногда live-coding (строки, декораторы) |
| Углублённое / продуктовое | 60 мин | кейсы ассортимента, метрики бизнеса, дизайн экспериментов, внедрение моделей |
| Финал с лидом / командой | 45–60 мин | культура, процессы, вопросы кандидата, согласование направления внутри коммерции |
Обязательный минимум
Плюсом будет
Расскажи про градиентный спуск: какие виды бывают?
Batch / SGD / mini-batch; momentum, Adam; learning rate schedule; когда SGD шум помогает generalization.
Зачем нужна нелинейность в нейронных сетях?
Без нелинейных активаций композиция слоёв — одна линейная модель; ReLU/GELU дают аппроксимацию сложных границ.
Расскажи про Layer Norm
Нормализация по признакам внутри одного токена/объекта; стабилизирует обучение, отличается от Batch Norm по оси агрегации.
Какую функцию потерь использовали при дообучении эмбеддера?
Contrastive (InfoNCE), triplet loss, softmax с in-batch negatives; цель — ранжирование/сходство, не классификация одного класса.
Фишка: В ассортименте чаще бустинги и линейные модели на табличных фичах, но вопросы по DL встречаются в смежных продуктах X5 Tech.
Ловушка: Не путай offline-метрику обучения с бизнес-KPI категории (маржа, оборачиваемость, out-of-stock).
Что такое дисперсия случайной величины?
E[(X−E[X])²]; мера разброса; связь со стандартным отклонением и доверительными интервалами в A/B.
Можем ли мы использовать одни и те же метрики, когда меряем качество по top-K, и метрику, которую спрашиваем у пользователя (лайк/дизлайк)? Или это разные вещи?
Разные: top-K — ранжирование и recall/precision@K, NDCG; лайк — бинарная обратная связь с смещением и низкой частотой. Нужна калибровка и отдельные offline/online срезы.
Совет: Для ассортимента полезно заранее продумать proxy-метрики (переключение спроса, сохранённый объём) и как их валидировать на истории.
Можно ли использовать декоратор без синтаксиса @?
Да: greet = log_calls(greet) — декоратор это higher-order function.
Два числа сложить в одной функции поверх декоратора, который пишет «Привет», вызывает сложение, пишет «Пока»
wrapper принимает *args, вызывает func, возвращает result; порядок print до/после вызова.
Декоратор с параметром max_tries (вложенный декоратор)
Внешняя функция принимает max_tries, возвращает decorator(func), внутри wrapper с циклом retry.
Ловушка: На live-coding проверяют замыкания и functools.wraps — не забудь сохранить __name__ и docstring обёрнутой функции.
Из озвученных направлений — поиск и ранжирование, рекомендации, CRM, доступность товаров, прогноз спроса или внепродуктовая аналитика — какое вам ближе?
Честно назови приоритет; для вакансии логично увязать ответ с моделированием спроса, новинками и выводом SKU.
Как бороться с проблемой роста контекста при активном ведении диалога пользователем?
Сжатие истории, sliding window, summarization, retrieval только релевантных фрагментов — релевантно смежным LLM-продуктам в X5.
Если бы ты был тимлидом: каждая команда пишет своего бота на своих библиотеках или единая платформа?
Баланс: общий каркас (observability, деплой, RAG), кастомизация домена; избегать N копий одного и того же.
Фишка: Команда ассортимента: ввод/вывод товаров, оценка влияния на продажи и маржу, substitution при изменении полки.
Расскажи, пожалуйста, про свой опыт
2–3 минуты: DS/ML в проде, внедрение, метрики, один сильный retail/forecast кейс если есть.
Какие направления, задачи и технологии вы рассматриваете в качестве приоритетных?
Свяжи с ML в продукте, данными X5, ассортиментом или прогнозом.
Где вы территориально проживаете и какой формат работы рассматриваете?
Москва/удалёнка/гибрид; готовность к офису на Волгоградском проспекте при гибриде.
Какие у вас зарплатные ожидания и указана ли сумма до или после вычета налогов?
Уточни gross/net; вилку можно дать диапазоном с обоснованием уровня Middle+/Senior.
Есть ли у вас вопросы по компании, командам или процессу интервью?
Спроси про данные, цикл релиза моделей, A/B в категории, состав команды ассортимента.
Самая длинная палиндромная подстрока
Дана строка s; верните самую длинную палиндромную подстроку. Только английские буквы и цифры. Пример: s = "babad" → "bab" или "aba"; s = "cbbd" → "bb".
Расширение от центра: для каждого индекса (и пары i,i+1) расширять пока симметрично совпадает. Альтернатива — DP[i][j] = палиндром ли s[i:j+1]. Вернуть подстроку с максимальной длиной.
Сложность: O(n²) время, O(1) доп. памяти для expand-around-center; O(n²) памяти для DP
Оценка эффекта вывода SKU (словесная)
Категорийный менеджер хочет убрать 5% SKU с низкой оборачиваемостью. Как бы вы оценили влияние на продажи и маржу до решения?
Исторический анализ substitution: elasticities / basket analysis; модель cannibalization; сценарии what-if; при возможности geo- или store-level эксперимент; метрики: сохранённый объём, переток в substitute, margin rate.
Сложность: Зависит от данных; ключ — избежать leakage и учесть сезонность
Каркас ответа
3 дня
7 дней
14 дней
| Блок | Готов, если... |
|---|---|
| Классическое ML | можешь выбрать модель и схему валидации для прогноза спроса с сезонностью |
| Python | написать декоратор с аргументами и объяснить замыкания |
| Метрики | развести top-K offline и пользовательский feedback |
| Ассортимент | объяснить, как оценить вывод SKU без наивного сравнения продаж SKU |
| A/B | назвать guardrails и риски подглядывания в ритейле |
В день собеседования