//shamil.ai
ГлавнаяПрограммаОбо мнеИстории учениковТарифыПользаВопросы
Бесплатная диагностика
ПрограммаОбо мнеИстории учениковТарифыПользаДиагностикаВопросыБлог
9 октября 2026 г. · 15 мин чтения

Вопросы на собеседовании по machine learning: что спрашивают и как отвечать

15 вопросов с собеседований по machine learning с разбором: бустинг, утечки, калибровка, attention, A/B-тесты и рекомендации. Что проверяют и как отвечать.

Я работаю ML-инженером в Поиске Авито, до этого делал рекомендации в Mail.ru. Как кандидат я прошёл больше 80 собеседований, в том числе в Яндекс, Т-Банк, Сбер и ВТБ. Теперь сам провожу мок-собеседования для учеников, и после каждого мока у меня остаётся список вопросов, на которых человек поплыл.

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

Как устроено собеседование на ML-инженера

Состав секций от компании к компании меняется, а темы почти всегда одни и те же. Я делю их на восемь осей:

  1. Python и алгоритмы
  2. Математика и статистика
  3. Классический ML
  4. Метрики и валидация
  5. Deep Learning
  6. NLP, трансформеры и LLM
  7. ML System Design
  8. Продакшн и MLOps

Отдельно разбирают твой опыт. Его копают вопросами и как HR, и как техлид: почему выбрал этот подход, что ещё пробовал, что пошло не так, как модель попала в прод.

Этапы тоже бывают разными. У одного моего ученика были собеседование, тестовое задание и финал, и всё уложилось в месяц. У другого в крупной компании было четыре этапа, а на последнем ему сказали, что бюджета на позицию нет. Спроси у рекрутера в самом начале, сколько будет этапов и что на каждом, так проще распределить силы.

И одно правило для всех секций: сначала определи термин, потом опирайся на него. Спросили про переобучение – скажи, что это такое, и только потом переходи к тому, как с ним бороться.

Python и алгоритмы на ML-собеседовании

1. Найди k самых частых элементов в массиве из n чисел. Какая сложность у твоего решения?

Это типичная разминка на секции по коду. Интервьюер смотрит, знаешь ли ты что-то кроме сортировки.

Сначала считаешь частоты через collections.Counter, это O(n). Потом можно отсортировать пары по частоте за O(m log m), где m – число уникальных значений, но лучше держать кучу размера k и получить O(m log k). В Python это делает heapq.nlargest. Есть и линейный вариант: сортировка корзинами по частоте, ведь частота не больше n.

Хороший кандидат сам спрашивает: а если данные идут потоком и не влезают в память? Тогда точного ответа уже не будет, и в ход идут приближённые алгоритмы вроде Misra–Gries или Count-Min Sketch.

Классический ML: вопросы на собеседовании

2. Что такое bias-variance trade-off и как он выглядит на практике?

Ошибку модели на новых данных можно разложить на три части: смещение, разброс и неустранимый шум. Смещение появляется, когда модель слишком простая для закономерности в данных. Разброс – когда модель настолько гибкая, что подстраивается под случайности конкретной выборки.

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

Главное в ответе – практический вывод: по кривым видно, во что вкладываться, в данные или в сложность модели.

3. Как устроен градиентный бустинг?

Бустинг строит ансамбль по шагам. Сначала берётся простое предсказание, например среднее таргета. На каждом следующем шаге считается антиградиент функции потерь по текущим предсказаниям, и новое дерево учится его приближать. Для MSE антиградиент равен обычным остаткам y − F(x), для logloss это разница между меткой и предсказанной вероятностью. Предсказание дерева прибавляется к ансамблю с множителем, который называют learning rate.

Отсюда растут почти все уточняющие вопросы. Маленький learning rate требует больше деревьев, но обычно даёт лучшее качество. Число деревьев подбирают ранней остановкой по валидации. Деревья берут неглубокими, потому что каждое исправляет только часть ошибки. Если сможешь объяснить, почему бустинг называют градиентным спуском в пространстве функций, на этой теме тебя уже не поймают.

4. Чем L1-регуляризация отличается от L2 и почему L1 обнуляет веса?

L2 добавляет к лоссу сумму квадратов весов, L1 – сумму модулей. Разница в поведении около нуля. Штраф L2 давит на вес пропорционально его величине, поэтому маленький вес почти не трогает: веса уменьшаются, но редко становятся ровно нулём. Штраф L1 давит с одинаковой силой при любом весе, и слабые признаки он доталкивает до нуля.

Геометрически ограничение L1 на плоскости – ромб с углами на осях, и линии уровня лосса чаще касаются его в углу, где один вес равен нулю. У круга L2 углов нет. Вывод: L1 заодно отбирает признаки, L2 стабильнее, а когда нужно и то и другое, берут Elastic Net.

5. Бустинг считает самым важным признаком id пользователя. Можно ли верить feature importance?

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

Надёжнее permutation importance на валидации: перемешиваешь один признак и смотришь, насколько упала метрика. SHAP показывает вклад признаков в каждое предсказание. Но у всех методов есть общая слабость: если два признака сильно связаны, важность делится между ними, и каждый по отдельности кажется слабее, чем есть.

Сильный ответ заканчивается оговоркой: важность описывает модель, а не мир, и про причинность ничего не говорит. Зато она хорошо ловит утечки. Если один признак забирает почти всю важность, проверяй его первым.

Метрики, калибровка и утечки данных

Если выбирать одну тему для подготовки, я бы взял эту. На моих моках здесь ошибаются чаще всего, даже люди, которые хорошо знают алгоритмы.

6. Когда logloss лучше accuracy?

Accuracy зависит от порога и не видит уверенности модели: предсказания 0,51 и 0,99 для положительного объекта для неё одинаковы. Logloss оценивает саму вероятность и сильно штрафует уверенные ошибки. Если модель поставила 0,99 там, где правильный ответ 0, штраф огромный.

Logloss – строго корректное правило оценки (strictly proper scoring rule): его ожидаемое значение минимально, когда модель выдаёт истинные вероятности. Поэтому его выбирают, когда вероятность идёт дальше в расчёт: ожидаемая выручка, ставка в аукционе, цена риска. Он полезен и тогда, когда порог ещё не выбран, а модели уже надо сравнивать.

Accuracy уместна, когда решение бинарное, классы сбалансированы и ошибки стоят примерно одинаково. И одна практическая деталь: вероятности перед расчётом logloss обрезают от нуля и единицы, иначе один уверенный промах даст бесконечность.

7. Что такое калибровка вероятностей и как её проверить?

Модель откалибрована, если среди объектов с предсказанием около 0,7 положительных действительно около 70%. Хорошее ранжирование этого не гарантирует. ROC-AUC может быть высоким, а сами числа при этом смещены. Обычно так бывает у бустингов, после андерсэмплинга и при весах классов.

Проверяют калибровочной кривой: разбиваешь предсказания на корзины и сравниваешь среднее предсказание с долей положительных в каждой. Числом это меряют через Brier score или тот же logloss.

Чинят отдельным преобразованием поверх модели: Platt scaling (логистическая регрессия на скорах), изотоническая регрессия, для нейросетей temperature scaling. Калибратор учат на данных, которых модель не видела, иначе он подстроится под её переобучение. Преобразование монотонное, поэтому порядок объектов и ROC-AUC почти не меняются, а вероятностям уже можно верить.

8. Где прячется утечка данных и как её найти, в том числе во временных рядах?

Утечка – это информация в обучении, которой не будет в момент реального предсказания. Модель находит её быстрее, чем настоящую закономерность, и валидация начинает врать.

Основные места, где она прячется:

  • Признак из будущего. Поле заполняется вместе с таргетом или после него. Проверка одна: для каждого признака спроси себя, известен ли он в момент, когда модель принимает решение.
  • Предобработка на всей выборке. Если скейлер, кодирование категорий или отбор признаков обучены до разбиения, в трейн попадает статистика валидации. Всё, что учится на данных, должно жить внутри фолда, и удобнее всего собрать это в Pipeline.
  • Время. В рядах утечка часто сидит в признаках: скользящее среднее, в которое попал текущий день, лаги без сдвига, данные, которые задним числом исправили и которых на дату прогноза ещё не было. Разбиение тоже должно идти по времени, с зазором не меньше горизонта прогноза.

Сигналы утечки: подозрительно хорошая метрика, один признак с огромной важностью, провал на свежих данных. Увидел любой из них – сначала ищи утечку, потом настраивай модель.

Статистика и A/B-тесты на собеседовании

9. Объясни p-value так, чтобы понял продакт-менеджер. Чего p-value не говорит?

p-value – это вероятность получить такое же или ещё более сильное расхождение между группами, если на самом деле разницы нет. Это утверждение о данных при условии нулевой гипотезы, а не о гипотезе.

Интервьюер ждёт, что ты перечислишь, чего p-value не показывает. Это не вероятность того, что новая версия лучше. Это не размер эффекта: на огромной выборке крошечная и бесполезная разница даст маленький p-value. И сам порог значимости выбирают до запуска теста, а не подгоняют под результат.

Продакту это можно сказать так: p-value показывает, насколько неожиданны такие данные в мире, где изменение ничего не дало.

10. Как спланировать A/B-тест новой модели ранжирования?

Начни с гипотезы и метрик. Одна главная метрика, связанная с деньгами или удержанием, и несколько защитных: латенси, ошибки сервиса, жалобы. Защитные метрики не должны ухудшаться, даже если главная растёт.

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

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

Deep Learning, трансформеры и LLM

11. Почему очень глубокая сеть плохо учится и как помогают residual-связи?

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

Residual-связь меняет слой с y = F(x) на y = x + F(x). Производная такого блока равна единичной матрице плюс производная F, и у градиента появляется прямой путь к ранним слоям. Слою остаётся выучить поправку к входу, а не всё преобразование. Другие средства тоже назови: ReLU, аккуратная инициализация, нормализация, обрезка градиента против взрыва.

12. Как считается self-attention и зачем делить на корень из размерности?

Каждый токен проецируется в три вектора: запрос Q, ключ K и значение V. Веса внимания получаются как softmax от QKᵀ, делённого на √d, где d – размерность ключа. Выход – взвешенная сумма значений V. Так каждый токен собирает информацию со всей последовательности, а веса показывают, на кого он смотрит.

Деление на √d нужно из-за масштаба. Если компоненты q и k независимы и имеют единичную дисперсию, дисперсия их скалярного произведения равна d. При больших d значения уходят далеко от нуля, softmax становится почти one-hot, и градиенты через него почти исчезают.

Дальше обычно спрашивают про multi-head, где несколько проекций меньшей размерности работают параллельно, и про стоимость: attention растёт квадратично от длины последовательности, поэтому длинный контекст дорогой. Порядок токенов attention сам не видит, его добавляют позиционными кодированиями.

13. Что делают temperature, top-k и top-p при генерации текста?

Модель на каждом шаге выдаёт логиты по словарю. Temperature делит логиты перед softmax. При T меньше единицы распределение становится острее и генерация предсказуемее, а при T около нуля остаётся жадный выбор самого вероятного токена. При T больше единицы распределение размывается, текст становится разнообразнее и чаще ошибается.

Top-k оставляет k самых вероятных токенов и выбирает только среди них. Top-p, его ещё называют nucleus sampling, берёт наименьший набор токенов, чья суммарная вероятность не меньше p. Вероятности внутри набора нормируются заново. Top-p удобнее, потому что размер набора подстраивается сам: где модель уверена, кандидатов мало, где сомневается, их больше.

Практический вывод: для извлечения фактов, классификации и кода температуру держат низкой, для черновиков и идей выше.

Рекомендации и ML System Design

На этих секциях чаще всего решается грейд. На классическом ML проверяют знания, а здесь смотрят, как ты думаешь о системе целиком.

14. Как построить ответ на секции ML System Design?

Интервьюер почти всегда даёт размытую постановку и смотрит, что ты с ней сделаешь. Сильный ответ идёт по шагам, и модель в нём появляется далеко не первой:

  1. Цель продукта и бизнес-метрика, которую двигаем.
  2. Ограничения: латенси, нагрузка, свежесть данных, бюджет на железо.
  3. Офлайн-метрика, которая правдоподобно связана с бизнес-метрикой.
  4. Данные и разметка: откуда берутся метки и какие в них смещения.
  5. Простой бейзлайн, с которым будем сравнивать.
  6. Модель и признаки, а для больших каталогов схема из нескольких стадий.
  7. Как модель работает в проде, как её проверяем в A/B-тесте и что мониторим.

Каждый переход проговаривай вслух: интервьюер оценивает, почему ты выбрал именно это. Не знаешь ограничение – спроси.

15. Как решать cold start в рекомендациях?

Сначала разведи два случая. Новый товар без взаимодействий и новый пользователь без истории решаются по-разному.

Коллаборативная модель выучивает вектор для каждого id по взаимодействиям, а у нового id вектора просто нет. Поэтому для новых товаров нужен путь от содержания к представлению: текст, картинка, категория, цена, продавец. Модель, которая строит вектор из этих признаков, даёт новинке место в том же пространстве, где живут старые товары.

Для нового пользователя опираются на контекст: регион, устройство, первый запрос, популярное в похожем сегменте. В обоих случаях часть показов осознанно отдают на разведку, чтобы появились первые сигналы. А качество на холодных объектах меряют отдельно, иначе средняя метрика его спрячет.

Как подготовиться к собеседованию по ML: моки и разбор ответов

Читать вопросы полезно, но мало. На собеседовании проверяют, можешь ли ты объяснить тему вслух, под давлением и без подсказок, а это другой навык.

Вот что у моих учеников реально работает:

  • Мок-собеседования с разбором. Главное в моке – разбор после: где ответ засчитали бы, что доучить и как переформулировать. В программе шесть моков: тех-скрининг на старте, два по классическому ML и по одному после Deep Learning, NLP и целевого направления, LLM или рекомендаций. Каждый с записью.
  • Предмоки друг с другом. Перед моком со мной ученики гоняют друг друга, поэтому к первому настоящему собеседованию формат уже знакомый.
  • Банк реальных вопросов. Он собран из 300+ вопросов от 25 компаний, плюс записи реальных интервью учеников. Так видно, что спрашивают сейчас.
  • Прожарка опыта. Отдельный мок по твоей легенде, где вопросы задают и как HR, и как техлид. Обычно именно здесь выясняется, что про собственный проект человек толком рассказать не может.
  • Разбор каждого реального собеседования. После собеса записываешь вопросы, на которых поплыл, и закрываешь их до следующего.

Как отвечать, если не знаешь ответа

Это случится на любом собеседовании, даже у сильных кандидатов.

  • Не молчи. Интервьюеру интересен ход мысли, и рассуждение с правильной логикой часто ценят выше угаданного ответа.
  • Разложи вопрос на части. «Модель стала хуже в проде» раскладывается на данные, признаки, код и трафик, по ним и иди.
  • Опирайся на то, что знаешь. Не помнишь формулу, объясни идею.
  • Честно обозначь границу. «Здесь я не уверен, но рассуждал бы так» звучит лучше уверенной ошибки.
  • Запиши вопрос после собеседования. Из таких записей потом и собирается подготовка.

Ошибки, которые я чаще всего вижу на моках

  1. Сразу называть модель или метод, не уточнив задачу и ограничения.
  2. Отвечать заученной фразой без определения термина. Первый же уточняющий вопрос всё ломает.
  3. Путать «метрика выросла» и «модель стала лучше для бизнеса».
  4. Не проверять, был ли признак доступен в момент предсказания.
  5. Рассказывать про свой проект без цифр, альтернатив и того, что пошло не так.
  6. Звучать неуверенно, хотя знания есть. У нескольких моих учеников на первых моках главной проблемой была именно неуверенная речь, и это лечится практикой.

Подготовку лучше строить от пробелов: повторять знакомое приятно, но бесполезно. Закрывай слабые темы по порядку, ведь без Python не разобраться в ML, а без метрик непонятно, работает ли модель.

Как это выглядит по неделям, от первого мока до выхода на рынок, расписано в программе менторства. А как ученики проходили собеседования и сколько их было до оффера, можно посмотреть в историях с цифрами.

Если хочешь понять, на каких темах поплывёшь ты, пройди диагностику уровня. Там до 24 вопросов с реальных ML-собеседований, 12 минут и никакой регистрации, а правильные ответы я показываю только в конце. На выходе радар по восьми осям, три главных пробела и разбор каждой ошибки, и с этим уже понятно, с чего начинать.

Автор – Шамиль Нуркаев, ML Engineer в Поиске Авито. Веду менторство по ML до оффера.

Коротко о главном

  • Какие темы спрашивают на собеседовании по machine learning?

    Обычно восемь блоков: Python и алгоритмы, математика и статистика, классический ML, метрики и валидация, Deep Learning, NLP и LLM, ML System Design, продакшн и MLOps. Отдельно идёт рассказ о твоём опыте, по которому задают уточняющие вопросы.

  • Сколько времени нужно на подготовку к собеседованию по ML?

    Ориентир в моей программе: 4–6 месяцев обучения и ещё 1–2 месяца поиска работы. У сильных людей с опытом путь короче, бывает 2–2,5 месяца.

  • Что такое мок-собеседование по ML и зачем оно нужно?

    Это тренировочное собеседование в формате настоящего: те же вопросы, темп и давление, а потом разбор каждого ответа. Мок показывает, где ответ засчитали бы, а где нет, и к первому реальному собеседованию формат уже не пугает.

  • Как отвечать на вопрос, если не знаешь ответа?

    Рассуждать вслух. Разложи вопрос на части, опирайся на то, что знаешь, и честно скажи, где начинается неуверенность. Ход мысли с правильной логикой часто ценят выше, чем угаданный ответ без объяснения.

  • Как проверить свой уровень перед собеседованием?

    Пройди бесплатную диагностику на mentor-shamil.ru/diagnostic: до 24 вопросов с реальных ML-собеседований, 12 минут, без регистрации. В конце радар по восьми осям, три главных пробела и разбор каждой ошибки.

Остался вопрос без ответа?

Задать вопрос Шамилю

Ещё в блоге

  • Как перейти из разработки в ML: мой путь из Java и план для бэкендера13 мин чтения
  • Зарплата ML-инженера в 2026 году: сколько платят и от чего зависит14 мин чтения

Готов двигаться дальше?

Вступай в систему, которая доводит до оффера в ML, и выходи на новый уровень

  • 100+учеников в программе
  • 48дней – медиана поиска оффера
  • 330кмедиана оффера на руки
  • 400к+рекордный оффер на руки

На октябрь осталось 5 мест из 6

Бесплатная диагностика

Пока сомневаешься

Не знаешь, подойдёт ли тебе менторство?

12 минут теста: определим уровень, найдём белые пятна и наметим маршрут до оффера

Пройти диагностику
// shamil.ai

Меню

  • Программа
  • Обо мне
  • Истории учеников
  • Тарифы
  • Польза
  • Диагностика
  • Вопросы
  • Блог

Контакты

  • Личный аккаунт: @ai_ml_mentor
  • Канал про собесы: @sobesochnaya
© 2026 shamil.ai – менторство по MLПолитика конфиденциальностиДоговор офертыСогласие на обработку данныхОферта на роадмапШамиль Нуркаев · ML Engineer