Вопросы на собеседовании: ML-инженер
100 реальных вопросов с образцовыми ответами и пояснениями для уровня Junior.
Смотреть пример резюме: ML-инженер →Тренировка флешкарточками
Интервальное повторение · Hunter Pass
Вопросы
Разница в том, содержит ли обучающая выборка известные целевые метки.
- Обучение с учителем сопоставляет входные данные с заданными целями.
- Обучение без учителя ищет структуру в неразмеченных данных.
- Классификация и регрессия относятся к обучению с учителем, а кластеризация к обучению без учителя.
Зачем это спрашивают: Интервьюер проверяет, отличаете ли вы обучение по размеченным целям от поиска закономерностей без них.
Классификация предсказывает категории, а регрессия числовые значения.
- Определение спама является задачей классификации.
- Предсказание цены дома является задачей регрессии.
- Обе задачи относятся к обучению с учителем, если примеры содержат целевые значения.
Зачем это спрашивают: Сильный ответ определяет тип целевой переменной в каждой задаче.
Признаки являются входными данными модели, а целевая переменная тем, что модель учится предсказывать.
- Признаками могут быть измерения, категории или вычисленные значения.
- Целевая переменная доступна во время обучения с учителем.
- Качество признаков сильно влияет на закономерности, которые сможет изучить модель.
Зачем это спрашивают: Интервьюер оценивает, правильно ли вы определяете входы и ожидаемый результат задачи с учителем.
Три выборки разделяют обучение модели, выбор настроек и итоговую оценку.
- На обучающей выборке модель подбирает параметры.
- Валидационная выборка нужна для настройки гиперпараметров и сравнения моделей.
- Тестовая выборка оценивает качество на новых данных после фиксации всех решений.
Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы, как разделение данных предотвращает завышенную оценку качества.
При переобучении модель слишком точно запоминает обучающие данные, а при недообучении не улавливает полезные закономерности.
- Переобученная модель хорошо работает на обучающих данных, но плохо на новых.
- Недообученная модель плохо работает и на обучающих, и на новых данных.
- На обе проблемы влияют сложность модели, регуляризация и объем данных.
Зачем это спрашивают: Сильный ответ связывает качество подгонки с результатами на обучающих данных и обобщающей способностью.
Компромисс между смещением и разбросом балансирует ошибки слишком простых и слишком чувствительных к обучающим данным моделей.
- Высокое смещение часто приводит к недообучению.
- Высокий разброс часто приводит к переобучению.
- Для хорошего обобщения нужен подходящий баланс между ними.
Зачем это спрашивают: Интервьюер хочет увидеть, что вы связываете сложность модели с недообучением и переобучением.
L1 и L2 по-разному штрафуют веса модели.
- L1 добавляет штраф на основе абсолютных значений весов.
- L2 добавляет штраф на основе квадратов весов.
- L1 может обнулить веса, а L2 обычно плавно уменьшает их.
Зачем это спрашивают: Сильный ответ объясняет формулы штрафов и их различное влияние на веса.
Параметры изучаются по данным, а гиперпараметры выбираются при настройке процесса обучения.
- Коэффициенты линейной регрессии являются параметрами модели.
- Скорость обучения и глубина дерева являются гиперпараметрами.
- Гиперпараметры обычно выбирают по результатам валидации.
Зачем это спрашивают: Интервьюер проверяет, отличаете ли вы найденные моделью значения от настроек обучения или структуры модели.
Функция потерь измеряет отклонение предсказаний модели от желаемых результатов.
- Обучение стремится минимизировать потери.
- Для разных задач нужны разные функции потерь.
- Функция потерь дает алгоритму оптимизации числовую цель.
Зачем это спрашивают: Сильный ответ связывает ошибку предсказания, оптимизацию и выбор цели под конкретную задачу.
Среднеквадратичная ошибка является средним квадратом разности между предсказаниями и истинными значениями.
- Она часто используется в задачах регрессии.
- Возведение в квадрат делает каждый вклад неотрицательным.
- Крупные ошибки получают больший штраф, чем небольшие.
Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы, почему MSE сильнее учитывает крупные ошибки регрессии.
Кросс-энтропия измеряет, насколько предсказанные вероятности классов соответствуют истинным классам.
- Она часто используется в задачах классификации.
- Уверенные ошибочные предсказания получают большой штраф.
- Меньшая кросс-энтропия означает более точные вероятности для истинных меток.
Зачем это спрашивают: Сильный ответ объясняет, что кросс-энтропия оценивает вероятности, а не только итоговые метки классов.
Градиентный спуск многократно обновляет параметры модели в направлении уменьшения функции потерь.
- Градиент показывает, как каждый параметр влияет на потери.
- Параметры изменяются в направлении, противоположном градиенту.
- Повторные обновления могут приблизить модель к локальному минимуму.
Зачем это спрашивают: Интервьюер оценивает, понимаете ли вы, как производные направляют обновление параметров.
Скорость обучения задает размер каждого обновления параметров при оптимизации.
- Слишком маленькое значение может замедлить обучение.
- Слишком большое значение может перескакивать через хорошие значения параметров.
- Подходящая скорость помогает обучению стабильно сходиться.
Зачем это спрашивают: Сильный ответ связывает скорость обучения и с быстротой, и со стабильностью оптимизации.
Они отличаются числом обучающих примеров, используемых для одного обновления параметров.
- Пакетный градиентный спуск использует всю обучающую выборку.
- Стохастический градиентный спуск использует по одному примеру.
- Мини-пакетный градиентный спуск использует небольшую группу и часто применяется на практике.
Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы влияние размера пакета на стоимость, частоту и шум обновлений.
Масштабирование приводит числовые признаки к сопоставимым диапазонам.
- Оно не дает признакам с крупными значениями доминировать в расчете расстояний.
- Оно может ускорить сходимость градиентной оптимизации.
- Деревьям масштабирование обычно нужно меньше, чем k ближайших соседей или линейным моделям.
Зачем это спрашивают: Сильный ответ называет семейства моделей, чувствительные к масштабу признаков.
Стандартизация преобразует значения с учетом среднего и разброса, а нормализация обычно отображает их в фиксированный диапазон.
- Стандартизация обычно дает среднее ноль и стандартное отклонение один.
- Min-max нормализация обычно отображает значения в диапазон от нуля до единицы.
- Оба преобразования нужно настраивать только на обучающих данных.
Зачем это спрашивают: Интервьюер проверяет, знаете ли вы различия преобразований и умеете ли применять их без утечки.
Пропущенные значения можно удалить, заполнить или представить отдельным признаком.
- Удаляйте строки или столбцы, только если потеря данных приемлема.
- Заполняйте пропуски статистиками, например медианой, или оценками модели.
- Добавляйте индикатор пропуска, если само отсутствие значения может быть информативным.
Зачем это спрашивают: Сильный ответ предлагает несколько методов и учитывает причину появления пропусков.
Категориальные переменные преобразуют в числовое представление, которое может обработать модель.
- One-hot кодирование создает отдельный бинарный столбец для каждой категории.
- Порядковое кодирование назначает упорядоченные числовые значения.
- Кодировщик должен изучать категории только по обучающим данным.
Зачем это спрашивают: Интервьюер оценивает, умеете ли вы кодировать категории без ложных связей и утечки данных.
Порядковое кодирование подходит категориям с осмысленным порядком, а one-hot кодирование неупорядоченным категориям.
- Размеры малый, средний и большой имеют естественный порядок.
- Цвета обычно не имеют естественного порядка.
- Произвольные числовые коды могут создать ложные связи между категориями.
Зачем это спрашивают: Сильный ответ выбирает кодирование, которое отражает реальную структуру признака.
Выбросы являются наблюдениями, которые заметно отличаются от большинства данных.
- Они могут быть корректными редкими случаями или ошибками в данных.
- Они могут сильно влиять на средние значения, 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