Что спрашивают на собеседовании ML Engineer / Data Scientist
Какие темы обычно обсуждают на собеседовании ML Engineer и Data Scientist: математика и статистика, классическое машинное обучение, работа с данными и проектирование ML-систем. Рассказываем, как готовиться к каждому блоку.
Техническое собеседование на позицию ML Engineer или Data Scientist проверяет, насколько прочно кандидат владеет основой профессии: умеет ли он обосновать выбор метрики и модели, уверенно ли работает с данными на Python и SQL и способен ли рассуждать о том, как модель поведёт себя в реальном продукте. В этой статье разберём четыре тематических блока, которые встречаются в описаниях вакансий и в разборах ML-интервью: прикладную статистику, классическое машинное обучение, работу с данными и проектирование ML-систем.
Формат отбора в разных компаниях заметно различается. Чип Хьен, автор книги «Introduction to Machine Learning Interviews» и участница найма ML-специалистов в NVIDIA и Snorkel AI, описывает типичный процесс как цепочку этапов: скрининг резюме, звонок с рекрутером или инженером, задание на программирование, технические интервью и вопросы о поведении в команде. Поэтому подготовку разумно начинать с понимания роли. Разницу между направлениями подробно разбирает статья «ML Engineer или Data Scientist: в чём разница», общий контекст профессии собран в разделе ML Engineer / Data Scientist, а тем, кто только входит в область, поможет статья «С чего начать машинное обучение».
С чего начать подготовку
Самый надёжный ориентир — тексты вакансий, на которые ты откликаешься. Выпиши из нескольких описаний повторяющиеся требования: метрики, SQL, эксперименты, вывод моделей в продакшен, мониторинг. Темы, которые встречаются в большинстве описаний, составят основу подготовки, а требования из раздела «будет плюсом» — на потом. Состав этапов полезно заранее уточнить у рекрутера.
Прикладная статистика
Статистику на собеседовании чаще всего обсуждают в связке с данными и решениями. Классический пример — несбалансированные классы. Если мошеннических транзакций в выборке единицы процентов, модель, которая всегда отвечает «мошенничества нет», получит высокую accuracy и при этом окажется бесполезной. Раздел «Metrics and scoring» документации scikit-learn прямо указывает, что для таких данных предназначена balanced accuracy: среднее значение recall по классам. В подобной задаче смотрят на precision и recall и заранее договариваются с бизнесом, какая ошибка обходится дороже: пропущенное мошенничество или заблокированный честный клиент.
Ещё одна частая тема — p-value. Точная формулировка здесь особенно ценна. Американская статистическая ассоциация в заявлении 2016 года «ASA Statement on Statistical Significance and P-Values» подчёркивает, что p-value показывает, насколько данные несовместимы с заданной статистической моделью, и при этом не равно вероятности того, что гипотеза верна, и ничего не говорит о величине эффекта.
Если в вакансии упоминаются эксперименты, подготовь рассказ об A/B-тесте: какую гипотезу проверяют, какая метрика считается успехом, как заранее определяют размер выборки. Полезно знать и о проблеме «подглядывания»: если регулярно проверять промежуточные результаты и останавливать тест при первой значимой разнице, доля ложноположительных выводов растёт. Этот эффект подробно разобран в статье Эвана Миллера «How Not To Run an A/B Test».
Классическое машинное обучение
В этом блоке интервьюер оценивает ход рассуждений, поэтому ответ удобно выстраивать последовательно: постановка задачи, данные, простое базовое решение, метрика, схема валидации и лишь затем вопрос об усложнении модели. Такой порядок совпадает с рекомендациями Google в руководстве «Rules of Machine Learning»: первая модель должна быть простой, потому что она задаёт базовые метрики, с которыми сравниваются все последующие решения.
Precision — доля верных срабатываний среди всех объектов, которые модель отнесла к положительному классу, recall — доля найденных объектов положительного класса, F1 — их гармоническое среднее. ROC-AUC — площадь под ROC-кривой, которая показывает соотношение доли верных и ложных срабатываний при разных порогах. Для регрессии чаще всего называют MAE, среднюю абсолютную ошибку, и RMSE, корень из среднеквадратичной ошибки, который измеряется в тех же единицах, что и целевая переменная.
Компромисс между смещением и разбросом удобно объяснять по учебнику «An Introduction to Statistical Learning»: ожидаемая ошибка на новых данных складывается из разброса модели, квадрата её смещения и неустранимого шума. Более гибкие модели обычно уменьшают смещение и увеличивают разброс, поэтому задача — найти сложность, при которой суммарная ошибка минимальна.
Об утечке данных говори на конкретных примерах. В руководстве scikit-learn «Common pitfalls and recommended practices» утечка определяется как использование при обучении информации, недоступной в момент предсказания, и в качестве типичной причины приводится предобработка на всём наборе данных до разбиения: например, нормализация по среднему, посчитанному вместе с тестовой частью. Для временных рядов scikit-learn предлагает TimeSeriesSplit, чтобы модель проверялась на наблюдениях, которые идут позже обучающих.
Python, данные и SQL
Работа с таблицами встречается и на исследовательских, и на инженерных позициях: сгруппировать данные, посчитать долю пропусков, корректно соединить две таблицы. В Python для этого используют pandas и NumPy, в SQL — SELECT, JOIN, GROUP BY и оконные функции. Важная деталь, о которой часто спрашивают: по разделу «Window Functions» документации PostgreSQL, оконная функция выполняет вычисление по набору строк, связанных с текущей, и в отличие от агрегатной функции с GROUP BY сохраняет каждую строку в результате.
Решая такую задачу, рассуждай вслух: типы и пропуски, распределение целевой переменной, простой baseline. Отдельные темы удобно повторять по карточкам в разделе вопросов с собеседований TeoBrain.
Проектирование ML-систем
Чип Хьен отмечает, что почти все компании, с которыми она общалась, задают хотя бы один вопрос на проектирование ML-системы и что кандидатам такие вопросы обычно даются труднее остальных. Для начинающего специалиста задачи формулируют близко к практике: рекомендации для небольшого каталога, скоринг заявок, фильтр спама. Ожидается понятная структура: какие данные доступны, какие признаки из них строятся, какая модель подходит, как её обучать и проверять, как отдавать предсказания и как контролировать качество после запуска.
Начни с уточняющих вопросов: сколько данных, во что обходится ложное срабатывание, нужны ли предсказания в реальном времени. Затем назови риски. Для рекомендательных систем это проблема холодного старта: по описанию курса Google «Recommendation Systems», модель коллаборативной фильтрации не может построить представление для объекта, которого не было в обучении. Для любой модели в продакшене важно расхождение между обучением и работой в сервисе: Google советует отслеживать его явно и проверять модель на данных, собранных после обучающего периода.
Чем различаются акценты ML Engineer и Data Scientist
Названия должностей в вакансиях часто пересекаются, и разницу проще увидеть по содержанию вопросов. Для Data Scientist больше значат статистика, разведочный анализ и постановка экспериментов. Для ML Engineer — воспроизводимый пайплайн, версионирование данных и моделей, интеграция модели в сервис и мониторинг. Если вакансия объединяет обе роли, выбери основной акцент в резюме и на интервью уточни, какие задачи предстоят в первые месяцы. Больше материалов о профессии — в статьях с тегом ML Engineer / Data Scientist.
Как готовиться с TeoBrain
Курс «Подготовка к собеседованию: ML Engineer / Data Scientist» задаёт порядок тем и помогает разобраться в них глубже. Раздел вопросов с собеседований подходит для точечного повторения метрик, терминов и небольших задач. В тренажёре AI-собеседований можно проговаривать ответы и получать обратную связь. После каждого пробного или реального интервью записывай вопрос, который вызвал затруднение, и рядом улучшенный ответ: со временем из этих записей складывается личный список тем для повторения.
Частые вопросы
Сколько математики нужно на позиции junior?
В первую очередь тебе пригодится уверенное владение статистикой, на которой строятся метрики и эксперименты, базовой теорией вероятностей и компромиссом между смещением и разбросом.
Нужен ли собственный проект?
Он сильно облегчает разговор. На просьбу рассказать о своей работе удобнее всего отвечать на примере одного законченного проекта, где ты можешь объяснить постановку задачи, выбор метрики, базовое решение и разбор ошибок.
С чего начать, если до собеседования две недели?
С метрик и валидации, затем отрепетируй вслух рассказ о проекте, потренируйся в pandas и SQL и пройди карточки по слабым темам в разделе вопросов. Курс ml-interview поможет держать порядок, а раздел профессии — видеть весь маршрут. Подготовка даёт прочную опору, а итог интервью всегда зависит от вакансии, команды и твоего опыта.