Skip to content

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

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

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

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

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

Вопросы

supervisedunsupervised

Разница в том, содержит ли обучающая выборка известные целевые метки.

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

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

classification

Классификация предсказывает категории, а регрессия числовые значения.

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

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

ml

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

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

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

validation

Три выборки разделяют обучение модели, выбор настроек и итоговую оценку.

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

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

overfitting

При переобучении модель слишком точно запоминает обучающие данные, а при недообучении не улавливает полезные закономерности.

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

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

bias-variancedispersion

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

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

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

regularization

L1 и L2 по-разному штрафуют веса модели.

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

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

hyperparameters

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

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

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

loss-functions

Функция потерь измеряет отклонение предсказаний модели от желаемых результатов.

  • Обучение стремится минимизировать потери.
  • Для разных задач нужны разные функции потерь.
  • Функция потерь дает алгоритму оптимизации числовую цель.

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

loss-functions

Среднеквадратичная ошибка является средним квадратом разности между предсказаниями и истинными значениями.

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

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

loss-functions

Кросс-энтропия измеряет, насколько предсказанные вероятности классов соответствуют истинным классам.

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

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

training

Градиентный спуск многократно обновляет параметры модели в направлении уменьшения функции потерь.

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

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

optimization

Скорость обучения задает размер каждого обновления параметров при оптимизации.

  • Слишком маленькое значение может замедлить обучение.
  • Слишком большое значение может перескакивать через хорошие значения параметров.
  • Подходящая скорость помогает обучению стабильно сходиться.

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

trainingbatch

Они отличаются числом обучающих примеров, используемых для одного обновления параметров.

  • Пакетный градиентный спуск использует всю обучающую выборку.
  • Стохастический градиентный спуск использует по одному примеру.
  • Мини-пакетный градиентный спуск использует небольшую группу и часто применяется на практике.

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

scaling

Масштабирование приводит числовые признаки к сопоставимым диапазонам.

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

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

normalization

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

  • Стандартизация обычно дает среднее ноль и стандартное отклонение один.
  • Min-max нормализация обычно отображает значения в диапазон от нуля до единицы.
  • Оба преобразования нужно настраивать только на обучающих данных.

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

missing-data

Пропущенные значения можно удалить, заполнить или представить отдельным признаком.

  • Удаляйте строки или столбцы, только если потеря данных приемлема.
  • Заполняйте пропуски статистиками, например медианой, или оценками модели.
  • Добавляйте индикатор пропуска, если само отсутствие значения может быть информативным.

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

ml

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

  • One-hot кодирование создает отдельный бинарный столбец для каждой категории.
  • Порядковое кодирование назначает упорядоченные числовые значения.
  • Кодировщик должен изучать категории только по обучающим данным.

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

feature-engineering

Порядковое кодирование подходит категориям с осмысленным порядком, а one-hot кодирование неупорядоченным категориям.

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

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

outliers

Выбросы являются наблюдениями, которые заметно отличаются от большинства данных.

  • Они могут быть корректными редкими случаями или ошибками в данных.
  • Они могут сильно влиять на средние значения, MSE и некоторые модели.
  • Перед удалением или преобразованием нужно выяснить их причину.

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

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

  • 21

    Что такое конструирование признаков?

    feature-engineering
  • 22

    Что такое утечка данных?

    leakage
  • 23

    Что такое дисбаланс классов и как с ним работать?

    imbalance
  • 24

    Что измеряет accuracy в классификации?

    classification
  • 25

    Чем precision отличается от recall?

    evaluation
  • 26

    Что такое F1-мера?

    classification-metrics
  • 27

    Что показывает матрица ошибок?

    evaluation
  • 28

    Что измеряет ROC-AUC?

    evaluation
  • 29

    Что показывают precision-recall кривая и PR-AUC?

    evaluation
  • 30

    Как MAE, RMSE и R-квадрат оценивают модели регрессии?

    evaluationdecision-making
  • 31

    Что такое базовая модель и зачем она нужна?

    modeling
  • 32

    Как работает k-блочная кросс-валидация?

    cross-validationvalidation
  • 33

    Что такое стратифицированная кросс-валидация?

    cross-validationvalidation
  • 34

    Как делить временные ряды для валидации?

    validation
  • 35

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

    regression
  • 36

    Как логистическая регрессия выполняет классификацию?

    classificationregression
  • 37

    Как дерево решений делает предсказания?

    trees
  • 38

    Чем случайный лес отличается от одного дерева решений?

    ensemblestrees
  • 39

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

    boosting
  • 40

    Как метод k ближайших соседей делает предсказание?

    knn
  • 41

    Какова основная идея метода опорных векторов?

    svm
  • 42

    Как работает классификатор наивного Байеса?

    bayesian
  • 43

    Как работает кластеризация k-средних?

    clustering
  • 44

    Для чего используется метод главных компонент?

    components
  • 45

    Что происходит во время прямого прохода нейронной сети?

    neural-nets
  • 46

    Что такое обратное распространение ошибки?

    neural-networks
  • 47

    Зачем нейронным сетям нужны функции активации?

    neural-netsactivation
  • 48

    Что такое эпоха, батч и итерация?

    batchiteration
  • 49

    Для чего используется Pipeline в scikit-learn?

    ci-cd
  • 50

    Какую роль играют NumPy, Pandas, scikit-learn, PyTorch и TensorFlow в ML?

    pandasnumpypytorch
  • 51

    Вам нужно предсказывать отток клиентов по табличным данным. Что вы построите в первую очередь?

    churn
  • 52

    В датасете для выявления мошенничества только 1% транзакций являются мошенническими. Как вы оцените классификатор?

    decision-makingtransactions
  • 53

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

    monitoring
  • 54

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

  • 55

    Ваш классификатор выдает вероятности, но стандартный порог 0,5 работает плохо. Что вы сделаете?

    thresholding
  • 56

    У модели accuracy 96%, но пользователи говорят, что она пропускает большинство редких случаев. Как вы разберетесь?

  • 57

    Нейросеть немного точнее логистической регрессии, но работает гораздо медленнее. Какую модель вы выберете?

    neural-netsregression
  • 58

    Accuracy на обучении продолжает расти, а на валидации падает. Как вы отреагируете?

    validation
  • 59

    Качество низкое и на обучении, и на валидации. Что вы проверите сначала?

    validationperformance
  • 60

    После добавления одного признака validation accuracy внезапно выросла с 75% до 99%. Что вы заподозрите?

    validation
  • 61

    Вы предсказываете спрос на следующую неделю по истории продаж. Как вы разделите данные?

  • 62

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

    locking
  • 63

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

    train-test
  • 64

    Модель оценки кредитов использует поле final_collection_status. Вы оставите его?

  • 65

    В продакшене пришла категория, которую энкодер не видел при обучении. Как вы это обработаете?

  • 66

    В нескольких числовых столбцах есть пропущенные значения. Как вы с ними поступите?

    missing-dataschema
  • 67

    В данных для регрессии есть несколько очень больших значений. Что вы сделаете до их удаления?

  • 68

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

  • 69

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

    imbalanced
  • 70

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

  • 71

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

    validation
  • 72

    Оценки кросс-валидации сильно различаются между фолдами. Как вы это исследуете?

    cross-validationvalidation
  • 73

    Признак record_id оказался самым важным для модели. Что вы сделаете?

  • 74

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

    test-data
  • 75

    Офлайн-метрика улучшилась, но A/B-тест не показал пользы для продукта. Как вы разберетесь?

    ab-testingmonitoring
  • 76

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

    experimentsdebugging
  • 77

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

    experiments
  • 78

    Что вы будете записывать для каждого эксперимента с моделью?

    experiments
  • 79

    Как превратить прототип в ноутбуке в повторяемый процесс обучения?

    prototypes
  • 80

    Что вы будете тестировать в пайплайне предобработки?

    ci-cd
  • 81

    Как вы предоставите доступ к модели scikit-learn через простой API предсказаний?

    api
  • 82

    Когда вы выберете пакетные предсказания вместо онлайн-API?

    batchapi
  • 83

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

    endpoints
  • 84

    Модель потребляет слишком много памяти для целевого сервера. Что вы попробуете?

    memory
  • 85

    Какие проверки входных данных вы добавите в endpoint модели?

    endpoints
  • 86

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

  • 87

    Что позволит легко откатить деплой модели?

    deploymentrollback
  • 88

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

    monitoringapi
  • 89

    Как обнаружить, что продакшен-признаки отличаются от обучающих данных?

    iac
  • 90

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

    monitoring
  • 91

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

    retrainingdeployment
  • 92

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

  • 93

    Офлайн- и продакшен-предсказания для одной записи различаются. Что вы проверите?

  • 94

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

    incidentsschema
  • 95

    Продакт-менеджер спрашивает, будет ли точность модели в продакшене равна 90%. Как вы ответите?

  • 96

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

    problem-solvingci-cd
  • 97

    Ревьюер не согласен с вашей реализацией модели. Как вы поступите?

    conflict
  • 98

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

  • 99

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

    estimationlatency
  • 100

    Расскажите о ML-проекте, который пошел не по плану. Что должен включать хороший ответ?

    story