Skip to content

Вопросы на собеседовании: ML-инженер

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Middle.

Смотреть пример резюме: ML-инженер

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

bias-variancedispersion

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

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

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

learning-theory

Эмпирический риск является средней ошибкой на наблюдаемых примерах, а ожидаемый риск средней ошибкой на неизвестном распределении данных.

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

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

optimization

L1 и L2 добавляют к ошибке на данных разные штрафы за веса и тем самым меняют предпочтительные для оптимизатора решения.

  • L1 добавляет сумму абсолютных значений коэффициентов и имеет излом в нуле, поэтому некоторые коэффициенты могут стать строго нулевыми.
  • L2 добавляет сумму квадратов коэффициентов и плавно уменьшает крупные веса, обычно не обнуляя их.
  • Сила регуляризации задает компромисс между качеством подгонки и сложностью, поэтому ее выбирают по валидации.
  • Признаки обычно сначала масштабируют, поскольку штраф напрямую зависит от величины коэффициентов.

Зачем это спрашивают: Интервьюер ожидает не только определения, но и понимание геометрии, требования к масштабу и влияния на веса.

regularization

Elastic net объединяет разреженность L1 со стабильностью L2 и полезен при большом числе коррелирующих признаков.

  • Чистая L1 может непредсказуемо выбрать один признак из коррелирующей группы и отбросить остальные.
  • Компонент L2 побуждает коррелирующие признаки более плавно входить в модель или выходить из нее группой.
  • Компонент L1 по-прежнему может удалить слабые признаки и сделать модель компактной.
  • Общую силу штрафа и соотношение L1 к L2 нужно настраивать по валидации.

Зачем это спрашивают: Сильный ответ связывает elastic net с коррелирующими признаками, а не описывает его только формулой.

regularization

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

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

Зачем это спрашивают: Интервьюер проверяет понимание эффекта регуляризации и корректной оценки при ранней остановке.

neural-nets

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

  • На каждом шаге обучения выбирается новая прореженная сеть, что мешает нейронам формировать хрупкие совместные зависимости.
  • При инференсе используются все нейроны, а масштабирование сохраняет согласованные ожидаемые величины активаций.
  • Более высокая доля dropout усиливает регуляризацию, но может вызвать недообучение при потере слишком большого объема сигнала.
  • Dropout не всегда полезен в архитектурах с сильной нормализацией, аугментацией данных или очень большими датасетами.

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

neural-netsnormalizationbatch

Batch normalization стандартизует промежуточные активации по статистикам батча, а затем обучает масштаб и сдвиг.

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

Зачем это спрашивают: Интервьюер проверяет, отличаете ли вы механику batch normalization при обучении и инференсе от упрощенных объяснений.

calibration

Калиброванный классификатор выдает вероятности, соответствующие наблюдаемой частоте исходов.

  • Среди предсказаний около 0,8 при хорошей калибровке примерно 80 процентов объектов должны быть положительными.
  • ROC-AUC может быть высоким даже при плохо откалиброванных вероятностях.
  • Диаграммы надежности и Brier score помогают оценить калибровку в разных диапазонах вероятностей.
  • Platt scaling или изотоническая регрессия могут откалибровать оценки на отложенных данных.

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

classificationthresholding

Порог классификации должен учитывать стоимость ошибок, долю классов и прикладную цель, а не автоматически равняться 0,5.

  • Снижение порога обычно повышает recall, но увеличивает число ложноположительных ответов.
  • Повышение порога обычно улучшает precision, но пропускает больше истинно положительных объектов.
  • Порог выбирают на валидационных данных по метрике или функции стоимости, связанной с целевым решением.
  • Калибровка вероятностей важна, когда порог представляет конкретный уровень риска или ожидаемой ценности.

Зачем это спрашивают: Интервьюер оценивает, умеете ли вы преобразовывать вероятностные оценки в решения с явными компромиссами.

decision-making

Обе метрики являются строго правильными функциями оценки вероятностей, но по-разному штрафуют ошибки.

  • Log loss использует отрицательный логарифм вероятности истинного класса и сильно штрафует уверенные ошибочные предсказания.
  • Brier score является средней квадратичной ошибкой между предсказанными вероятностями и бинарными исходами.
  • Обе метрики учитывают информацию, которую теряет accuracy при преобразовании вероятностей в жесткие метки.
  • Результаты следует сравнивать с базовым прогнозом по доле классов и интерпретировать с учетом их баланса.

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

evaluation

Precision-recall кривая часто информативнее при редком положительном классе, когда основное внимание уделяется качеству положительных ответов.

  • В ROC используется false positive rate, в знаменателе которого много отрицательных объектов, поэтому при сильном дисбалансе качество может выглядеть завышенным.
  • Precision напрямую показывает долю верных положительных предсказаний и тем самым раскрывает нагрузку от ложных срабатываний.
  • Recall показывает, какая доля положительного класса найдена при изменении порога.
  • PR-AUC зависит от доли положительного класса, поэтому сравниваемые датасеты должны иметь сопоставимые распределения классов.

Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы влияние доли классов на интерпретацию метрик.

monitoring

Macro-, micro- и weighted-усреднение объединяют результаты по классам с разными приоритетами.

  • Macro-усреднение дает каждому классу одинаковый вес, поэтому редкие классы влияют на результат наравне с частыми.
  • Micro-усреднение сначала объединяет все решения и тем самым сильнее учитывает частые классы.
  • Weighted-усреднение взвешивает метрику каждого класса по числу объектов и может скрыть слабое качество редких классов.
  • Выбор зависит от того, должны ли результат определять классы, отдельные объекты или наблюдаемая доля классов.

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

cross-validationestimationvalidation

Число блоков и зависимость между разбиениями во многом определяют смещение, разброс и стоимость оценки кросс-валидации.

  • Большее число блоков обучает модель на большей доле данных, снижая пессимистичное смещение, но увеличивая вычисления.
  • Оценки блоков коррелируют из-за пересечения обучающих выборок, поэтому их стандартное отклонение не является простым доверительным интервалом.
  • Повторная кросс-валидация показывает чувствительность к случайному разбиению, но не исправляет неверную стратегию разделения.
  • Учет групп, времени или стратификации важнее выбора привычного значения k.

Зачем это спрашивают: Интервьюер ожидает рассуждение о смысле оценки кросс-валидации, а не только описание процедуры k-fold.

cross-validationvalidation

Вложенная кросс-валидация отделяет подбор гиперпараметров от оценки качества при ограниченном объеме данных.

  • Внутренний цикл настраивает гиперпараметры только на обучающей части внешнего цикла.
  • Внешний цикл оценивает всю процедуру выбора на данных, которых не касался внутренний цикл.
  • Лучший результат внутреннего цикла оптимистично смещен, потому что сравнивалось много конфигураций.
  • Вложенная схема требует намного больше вычислений, но дает более чистую оценку перед итоговым переобучением.

Зачем это спрашивают: Сильный ответ называет смещение выбора модели и объясняет, как два цикла его предотвращают.

cross-validationvalidation

Групповая кросс-валидация нужна, когда наблюдения одной сущности зависимы и должны оставаться в одном блоке.

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

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

cross-validationvalidation

Walk-forward валидация сохраняет временной порядок, обучаясь на прошлом и оцениваясь на более позднем интервале.

  • Расширяющееся окно сохраняет все ранние наблюдения, а скользящее окно только фиксированный объем недавней истории.
  • Несколько точек разделения показывают изменение качества в разных рыночных, сезонных или поведенческих периодах.
  • Каждый признак, целевая переменная и статистика предобработки должны быть доступны на момент исторического предсказания.
  • Случайные блоки неприемлемы, если будущие наблюдения раскрывают информацию о более ранних.

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

leakagevalidation

Предобработка создает утечку, если преобразование обучается на валидационных строках до их оценки.

  • Масштабирование по всему датасету раскрывает обучению средние и дисперсии валидационной части.
  • Заполнение пропусков, отбор признаков, PCA и target encoding могут дать такую же утечку.
  • Каждое преобразование обучают внутри обучающей части блока и только применяют к его валидационной части.
  • Pipeline в scikit-learn обеспечивает этот порядок при передаче в кросс-валидацию или поиск гиперпараметров.

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

missing-data

MCAR, MAR и MNAR описывают, от чего зависит вероятность отсутствия значения.

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

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

feature-engineering

Target encoding заменяет категорию статистикой целевой переменной, давая компактный сигнал, но создавая серьезный риск утечки.

  • Оценки редких категорий нестабильны, поэтому сглаживание к глобальному среднему снижает разброс.
  • Для обучающих строк нужны out-of-fold или leave-one-out значения, чтобы собственная цель строки не определяла ее признак.
  • Для неизвестных категорий нужен запасной вариант, например глобальное среднее или обученный априорный уровень.
  • Кодирование нужно пересчитывать внутри каждого валидационного разбиения и с учетом времени для временных данных.

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

feature-engineering

Признаки взаимодействий и полиномиальные признаки позволяют простой модели представлять зависимости сложнее независимых линейных эффектов.

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

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

Закрытые вопросы

  • 21

    Чем отличаются фильтрующие, оберточные и встроенные методы отбора признаков?

    feature-engineering
  • 22

    Как PCA получает главные компоненты?

    components
  • 23

    Что такое проклятие размерности?

    dimensionality
  • 24

    Какие предположения важны для интерпретации коэффициентов линейной регрессии?

    regression
  • 25

    Как в логистической регрессии возникают шансы и граница решений?

    regression
  • 26

    Как дерево решений выбирает разбиение?

    trees
  • 27

    Как предварительная и последующая обрезка регулируют сложность дерева решений?

    model-compressionalgorithms
  • 28

    Почему бэггинг снижает разброс?

    dispersion
  • 29

    Как случайный лес декоррелирует деревья и что такое out-of-bag оценка?

    ensembles
  • 30

    Как градиентный бустинг связан с подгонкой остатков и градиентов функции потерь?

    boosting
  • 31

    Какие механизмы регуляризации предоставляет XGBoost?

    boostingregularization
  • 32

    Чем рост LightGBM по листьям отличается от роста дерева по уровням?

    gradient-boosting
  • 33

    Как стекинг и блендинг объединяют модели без утечки?

    ensemblesleakage
  • 34

    Почему разнообразие важно для ансамбля?

    ensembles
  • 35

    Как параметры C и gamma влияют на SVM с RBF-ядром?

    svm
  • 36

    Каковы основные преимущества и ограничения метода k ближайших соседей?

    knn
  • 37

    Чем отличаются Gaussian, multinomial и Bernoulli naive Bayes?

    bayesian
  • 38

    Какие предположения и ограничения есть у кластеризации k-средних?

    clustering
  • 39

    Чем гауссова смесь отличается от k-средних?

    clustering
  • 40

    Как DBSCAN находит кластеры и каковы его ограничения?

    clustering
  • 41

    Как Pipeline и ColumnTransformer в scikit-learn обеспечивают надежную обработку признаков?

    schemaconcurrencyci-cd
  • 42

    Какой контракт должен соблюдать обученный преобразователь признаков?

    nlp
  • 43

    Чем концептуально отличаются пакетные и потоковые пайплайны признаков?

    streamingbatchci-cd
  • 44

    Почему при построении обучающих признаков критична корректность на конкретный момент времени?

    point-in-time
  • 45

    Что должны определять контракты данных и признаков в ML-пайплайне?

    ci-cd
  • 46

    Что нужно сохранить для воспроизводимости ML-эксперимента?

    reproducibilityexperiments
  • 47

    Как автоматическое дифференцирование вычисляет градиенты в PyTorch или TensorFlow?

    competitivepytorch
  • 48

    Чем SGD с моментом отличается от Adam?

    optimization
  • 49

    Почему градиенты затухают или взрываются и как помогают инициализация и архитектура?

    architecture
  • 50

    Как сравнить линейные модели, ансамбли деревьев и нейронные сети для табличных данных?

    neural-netsensembles
  • 51

    Loss модели на PyTorch рано выходит на плато и остается высоким. Как вы будете искать причину?

    pytorch
  • 52

    После нескольких тысяч шагов обучения loss иногда становится NaN. Как вы найдете причину?

  • 53

    Модель хорошо работает на случайной валидации, но плохо на данных за последний месяц. Как вы это исследуете?

    validation
  • 54

    После добавления сильной регуляризации качество упало и на обучении, и на валидации. Что вы сделаете?

    regularizationvalidation
  • 55

    Validation loss сильно меняется между эпохами, хотя training loss остается плавным. Как вы это диагностируете?

    validation
  • 56

    Как предотвратить point-in-time leakage при построении признаков из feature store?

    leakagepoint-in-timemlops
  • 57

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

    backfill
  • 58

    У вас есть миллионы слабых меток от эвристик и небольшая экспертная разметка. Как вы их используете?

    weak-supervision
  • 59

    В середине года бизнес меняет определение положительной метки. Как вы поступите с существующими моделями и датасетами?

  • 60

    Обучающие данные получены от пользователей, которые включили функцию, но модель будет работать для всех. Что вы сделаете?

  • 61

    Одна сущность может встречаться через несколько аккаунтов и устройств. Как проверить утечку между выборками?

    leakage
  • 62

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

    decision-makingalerting
  • 63

    Рисковая модель хорошо ранжирует случаи, но плохо калибрует вероятности. Как вы это исправите?

    calibration
  • 64

    Как вы выберете офлайн-метрики для рекомендательной модели, которая показывает десять объектов?

    monitoring
  • 65

    Занижение времени доставки обходится дороже, чем завышение. Как вы будете моделировать и оценивать такую задачу?

    decision-making
  • 66

    Более точную модель сложно объяснить, и она не выполняет требование по задержке. Как выбрать между ней и простой моделью?

    latency
  • 67

    Как для новой задачи классификации табличных данных выбрать между градиентным бустингом и нейросетью?

    boostingneural-netsclassification
  • 68

    Ансамбль повышает AUC на 0,3 процентного пункта, но утраивает стоимость сервинга. Вы его внедрите?

    evaluationensemblesdeployment
  • 69

    Как вы проверите модель прогнозирования спроса перед заменой текущей модели?

    validation
  • 70

    Общее качество на валидации стабильно, но резко ухудшилось для одного сегмента клиентов. Что вы сделаете?

    validationperformance
  • 71

    После маркетинговой кампании распределения продакшен-признаков изменились. Как решить, нужно ли переобучать модель?

    retrainingdistributions
  • 72

    Сработал алерт дрифта признака, но качество модели остается стабильным. Как вы отреагируете?

    alertingiac
  • 73

    Качество модели падает, но распределения отслеживаемых входных данных не изменились. Что вы будете исследовать?

    distributionsmonitoring
  • 74

    Как вы будете мониторить новую модель, если истинные метки появятся только через два месяца?

    monitoring
  • 75

    Задержанные метки присоединяются к предсказаниям, но метрика меняется при каждом обновлении дашборда. Как это исправить?

    monitoring
  • 76

    Как выбрать между переобучением по расписанию и переобучением по событию?

    retraining
  • 77

    Какие проверки должна пройти автоматически переобученная модель перед заменой продакшен-версии?

    retraining
  • 78

    Часовой пайплайн признаков иногда опаздывает, поэтому онлайн-модель получает устаревшие значения. Как вы поступите?

    ci-cd
  • 79

    Один артефакт модели дает разные оценки в пакетном обучающем коде и онлайн-сервисе. Как найти training-serving skew?

    batchmodel-servingartifacts
  • 80

    Как проверить согласованность значений в офлайн- и онлайн-частях feature store?

    consistency
  • 81

    Airflow DAG обучения перезапускается после записи половины результатов. Как предотвратить поврежденные или дублированные артефакты?

    airflowartifacts
  • 82

    Spark-задача расчета признаков работает медленно, часть executors падает по памяти, а большинство быстро завершается. Как вы это диагностируете?

    memoryspark
  • 83

    Kafka-события для онлайн-признаков могут опаздывать, приходить не по порядку или дублироваться. Как обеспечить надежность признаков?

    kafka
  • 84

    После релиза модели выросла задержка предсказаний, но загрузка CPU выглядит нормально. Как вы будете искать причину?

    latency
  • 85

    После конвертации модели PyTorch в ONNX Runtime небольшая доля предсказаний сильно изменилась. Что вы сделаете?

    serving-runtimespytorch
  • 86

    Как спроектировать canary-релиз новой real-time модели?

    designdeployment-strategies
  • 87

    Когда вы примените теневой деплой и что будете измерять?

    deployment
  • 88

    Новая модель требует изменения схемы признаков. Как сохранить совместимость для отката?

    schemarollback
  • 89

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

    ab-testingdesign
  • 90

    A/B-тест улучшает главную метрику в среднем, но ухудшает результат для новых пользователей. Что вы порекомендуете?

    ab-testingmonitoring
  • 91

    Онлайн-прирост велик в первую неделю и исчезает во вторую. Как вы это проанализируете?

    ab-testing
  • 92

    Модель-кандидат выигрывает офлайн, но проигрывает baseline в онлайне. Как сократить offline-online gap?

    offline-online
  • 93

    Рекомендательная модель обучается только на объектах, показанных предыдущей моделью. Как работать с таким feedback loop?

    feedback
  • 94

    Решения рисковой модели меняют метки, которые позже используются для переобучения. Как предотвратить самоподкрепляющееся смещение?

    retraining
  • 95

    Продакшен-оценки внезапно схлопнулись почти в одно постоянное значение. Как вы проведете инцидент?

    incidents
  • 96

    Модель сделала уверенное предсказание, которое эксперт предметной области считает явно неверным. Как вы это исследуете?

  • 97

    Продукт хочет оптимизировать CTR, а trust-команда беспокоится о вредных рекомендациях. Как определить успех?

    optimization
  • 98

    У вас есть неделя на улучшение модели. Как выбрать между сбором лучших данных и настройкой модели?

  • 99

    Коллега сообщает о большом улучшении модели в pull request. Что вы проверите перед одобрением?

    code-review
  • 100

    Как вы проведете постмортем после инцидента с качеством модели?

    incidents