К основному содержимому
Исследование

ML interviews

Что спрашивают на технических собесах ML-инженеров, data scientist и LLM-инженеров: теорию, код и головоломки. Цифры посчитаны по записям реальных собесов, а все найденные вопросы и задачи собраны в колоды для подготовки.

01
Коротко

Коротко

244 собесарусских технических собесов в разборе

Что учить в первую очередь, по трекам.

Частая - та, которую в треке спрашивают заметно чаще средней идеи этого трека.

Коротко

Самые частые идеи теории по трекам

до 5 частых идей на трек, доля собесов трека, где спросили идею
MLDSAI
Обзор метрик классификации, 23%ROC-кривая и площадь AUC, 26%Архитектура и блоки трансформера, 38%
Способы борьбы с переобучением, 21%Обзор метрик классификации, 26%Энкодерные и декодерные архитектуры, 31%
Механизм attention и матрицы QKV, 19%Принцип последовательного обучения бустинга, 23%
Accuracy и дисбаланс классов, 14%Устройство случайного леса, 23%
ROC-кривая и площадь AUC, 14%Антиградиент и таргет следующего дерева, 19%

Теорию спрашивают на 78-92% собесов трека, и после главного вопроса в 70% случаев идут уточнения. Код дают на 52% собесов DS и реже в AI.

Где готовиться:

  • ML Systematic V2 - все идеи теории по трекам: на скольких собесах спрашивали и как именно формулировали;
  • ML Systematic Practice - задачи на код с собесов, условия сверены с тем, как их давали, и счетчик "на N собесах";
  • ML Головоломки - головоломки с собесов с разбором;
  • Google-таблица каталога - весь каталог теории одной таблицей: раздел, тема, идея, формулировки, доли по трекам и фильтры.
02
Данные

Откуда цифры

167 собесовтрех треков в базе теории

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

  • Всего 244 русских размеченных собесов трех треков: ML, DS и AI. Трек поставлен при разметке по роли и содержанию собеса: ML-инженер, data scientist, LLM-инженер. Собесы аналитиков, DE и других ролей не берем. Повторные копии одной записи убраны. Английские записи тоже не берем: распознавание речи делает из них кашу.
  • Теория считается по 167 собесам, где теория - основная часть собеса: ML 78, DS 57, AI 32.
  • Задачи на код - по 100 собесам из 244, где интервьюер дал задачу на код. Головоломки - по всем 244.

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

Раздел - группа близких тем, например "Деревья и ансамбли"; тема - узкая тема, например "Градиентный бустинг"; идея - один смысловой вопрос в любых формулировках, например "как устроен случайный лес".

03
Теория

Теория по трекам

16разделов теории

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

Трек ML

Разделы теории: ML, 78 собесов

доля собесов трека, усы -
Трек DS

Разделы теории: DS, 57 собесов

доля собесов трека, усы -
Трек AI

Разделы теории: AI, 32 собеса

доля собесов трека, усы -

Что трек спрашивает чаще двух других, причем разница больше случайного разброса:

  • ML: математика и оптимизация - 36%; компьютерное зрение - 21%.
  • DS: построение и валидация моделей - 74%; деревья и ансамбли - 65%; классические модели ML - 60%; статистика и эксперименты - 51%; алгоритмы и структуры данных - 44%; SQL и базы данных - 42%.
  • AI: NLP и языковые модели - 84%; прикладные LLM - 84%.

Пример частой - обзор метрик классификации: 18 из 78 собесов ML, 23% (14-34%). Спрашивают так: "Какие метрики классификации вы знаете?", "Что такое accuracy, precision и recall?". Все идеи с долями и формулировками - в колоде ML Systematic V2 и Google-таблице.

04
Лайвкодинг

Лайвкодинг

100 из 244собесов с задачей на код

Конкретные задачи повторяются редко. Повторяются приемы.

Задача на код была на 100 из 244 собесов. Конкретные задачи повторяются редко: из 183 задач колоды, которые давали на собесах, 164 дали ровно на одном. Чаще всего, на 3 собесах из 100, давали "Implement Rand3 using Rand2", "Группировка анаграмм за O(N * K)", "Произведение массива кроме самого элемента", "Слияние двух отсортированных списков" и "Топ-3 зарплаты в каждом департаменте".

Больше всего задач на оконные функции SQL - 21 задача, их давали 27 раз. Дальше агрегации SQL (14 задач), джойны SQL, массивы и хеш-таблицы (по 6-9 задач).

Пример

Слияние двух отсортированных списков

Даны два отсортированных списка. Слейте их в один отсортированный список.

На собесах добавляли:

  • Задачу давали как реализацию физического соединения из СУБД: просили объяснить hash join, nested loop и merge join, затем слить списки без сортировки, как в merge join.
  • Уточняли, что длины списков не обязательно равны, и просили дописать оставшиеся элементы.
  • Просили упростить два хвостовых цикла while до добавления срезов.

Все задачи - в колоде ML Systematic Practice, у каждой счетчик "на N собесах из 100".

05
Головоломки

Головоломки

40 из 244собесов с головоломкой

Задачи без кода: вероятность, статистика, математика ML и другие.

Головоломку давали на 40 из 244 собесов: 57 головоломок 45 видов. Больше всего - на вероятность (32 из 57), дальше статистика (10) и математика ML (5). Повторились 7 видов, самые частые - на 4 собесах.

Пример

Двусторонняя монета среди тысячи честных

на 4 собесах из 244

Из 1000 монет одна фальшивая - орел с обеих сторон, остальные 999 честные. Наугад берут монету и подбрасывают ее 10 раз. Все 10 раз выпал орел.

Какова вероятность, что взята фальшивая монета?

На собесах спрашивали:

  • А если монет всего три (две честные, одна всегда дает орла) и бросили один раз, выпал орел?
Пример

Во сколько раз бэггинг снижает дисперсию

на 4 собесах из 244

Бэггинг усредняет предсказания NN базовых моделей (например, деревьев случайного леса). Дисперсия предсказания одной модели равна 100.

Чему равна дисперсия усредненного предсказания, как она зависит от NN и при каком допущении?

На собесах спрашивали:

  • А если модели не независимы, а попарно коррелированы с коэффициентом ρ\rho?
Пример

Положительный тест на редкую болезнь

на 3 собесах из 244

Болезнью болеет 1 человек из 100. Тест ошибается в 1% случаев: у больного он положителен с вероятностью 99%, у здорового отрицателен с вероятностью 99%.

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

На собесах спрашивали:

  • А если болезнь встречается у 1 человека на миллион, а точность теста те же 99%? Оцените интуитивно.

Все головоломки - в колоде ML Головоломки: условие сверено с записью собеса, у каждой есть разбор.