Загрузка…
Загрузка…
ml / middle / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Поведенческий
Расскажите про ваш опыт работы (кандидат рассказал про 2 года разработки платформы прогнозной аналитики в медицине: извлечение признаков из неструктурированных текстов, fasttext, BERT, обучение своего BERT на медицинских текстах)
Вступительный блок про опыт
02
Поведенческий
Это был ваш собственный продукт или вы делали его на аутсорс для клиник?
Уточнение по опыту
03
Теория
Чем был обоснован выбор F-меры как метрики для отбора признаков? Почему именно она?
Вопрос по опыту кандидата
04
Теория
Не было ли такого, что precision был важнее recall или наоборот, как часто бывает в медицинских задачах?
Заметки
Транскрипт — запись технического собеседования (видео сообщества Criminal IT) кандидата ML/NLP-инженера в банк, в команду «данные в общении с клиентом» (NLP вокруг обслуживания клиентов: автоответы, подсказки, суммаризация чатов и звонков, маршрутизация обращений, LLM/RAG на базе Llama 13B/Mistral). Название компании в тексте не прозвучало. Два интервьюера (Андрей и Артур). Блоки: опыт, Python, SQL, ML-метрики, классический ML, NLP/трансформеры, ускорение инференса, практическая задача по классификации тональности. Команда ищет middle+ и senior датасаентистов. В конце кандидат задавал вопросы о задачах и команде; по результатам обещал вернуться рекрутёр на следующий день.
Стиль интервьюера
Два интервьюера, делят секции между собой (один Python, другой SQL и т.д.). Стиль доброжелательный, наводящий: при неверных ответах подталкивают рассуждать, объясняют правильные ответы сами, задают много follow-up'ов («а если...», «почему...»). Есть открытые вопросы без фиксированного ответа, где просят порассуждать с опорой на свой опыт.
Follow-up к вопросу про F-меру
05
Поведенческий
Где начинается и где заканчивается твоя зона ответственности: что вы делали с моделью дальше после обучения?
06
Поведенческий
Анализ полезности итогового решения лежал на вас или на отдельной команде?
Работали в коллаборации с командой врачей
07
Поведенческий
Получилось ли выразить результат работы в численных бизнесовых метриках?
08
Теория
Какие типы данных есть в Python?
Интервьюер обозначил вопрос как разминочный
09
Теория
Зачем вообще нужны изменяемые и неизменяемые типы данных? Зачем иметь и tuple, и list?
10
Теория
Может ли список быть ключом в словаре в Python?
11
Теория
Что произойдёт, если добавить списку метод __hash__ (например, return 1) и сделать такой список ключом в словаре?
12
Теория
Как обрабатываются коллизии в хэш-таблицах?
Кандидат не знал, интервьюер объяснил сам
13
Теория
Какая сложность доступа по ключу в словаре?
14
Теория
Как изменится сложность доступа по ключу в словаре, если у всех ключей одинаковый хэш (все ключи — списки с hash, возвращающим 1)?
Правильный ответ: O(n) — все ключи попадают в один бакет
15
Теория
Приходилось ли распараллеливать работу в Python? Как вообще можно распараллелить вычисления?
16
Теория
Чем мультипоточность отличается от мультипроцессорности?
17
Теория
Если на одноядерном компьютере начать обучать random forest на 100 потоках — ускорит ли это обучение?
18
Теория
Зачем тогда вообще нужны потоки? В каком случае потоки могут дать ускорение?
Кандидат не ответил, интервьюер объяснил про IO-bound vs CPU-bound операции и GIL
19
Теория
Какие джойны существуют в SQL?
Интервьюер обозначил как разминочный супербазовый вопрос
20
Теория
Что такое cross join?
21
Теория
Что будет, если в inner join вместо условия связи написать ON 1=1?
Правильный ответ: получится cross join (декартово произведение)
22
Теория
Есть две таблицы: одна с двумя строками, другая с тремя. Делаешь join — какое минимальное и максимальное количество строк может получиться?
Интервьюер назвал классическим вопросом; разбирались случаи с дубликатами и NULL
23
Теория
Что получится при left join двух таблиц по столбцу, в котором стоят NULL? Как джойнятся NULL?
Правильный ответ: сравнение NULL с NULL всегда ложно, строки не приджойнятся
24
Теория
Оконные функции: можно ли написать SUM(value) OVER () с пустыми скобками, и что это будет означать?
SELECT SUM(value) OVER () FROM t25
Теория
Что можно писать в скобках после OVER в оконной функции?
Обсудили partition by, order by и rows/range between (размещение окна)
26
Теория
Что такое ROC-AUC? Расскажи про эту метрику.
27
Теория
Что ты имел в виду, говоря что ROC-AUC — это ранжирующая метрика?
28
Теория
Если округлить предсказания модели до какого-то знака после запятой, как изменится ROC-AUC — может ли он измениться, в какую сторону и почему?
Правильный ответ: может измениться в обе стороны в зависимости от порядка
29
Теория
Какие метрики регрессии ты знаешь?
30
Теория
При выборе метрики между MAE и MSE на что бы ты опирался?
Follow-up: что значит «обрабатывать выбросы»
31
Теория
Что такое метрика R² (доля объяснённой дисперсии)?
Кандидат не знал эту метрику
32
Теория
Чем отличается MAPE от SMAPE? Что такое каждая из них?
Follow-up: что стоит в знаменателе MAPE — предсказание или истинное значение; S означает symmetric
33
Теория
Почему в F1-мере используется среднее гармоническое precision и recall, а не, например, среднее арифметическое?
34
Теория
Верно ли, что среднее гармоническое всегда меньше среднего арифметического?
35
Теория
Какие модели ты использовал для работы с табличными данными (классический ML)?
36
Теория
Бустинги на табличных данных бьют все остальные классические модели — согласен с этим утверждением или нет, и почему?
37
Теория
В каких случаях имеет смысл учить линейную модель вместо бустинга?
38
Теория
Если предсказываемая величина имеет линейно-возрастающий тренд (например, из-за инфляции) — будут ли бустинги нормально работать?
Деревянные алгоритмы ограничены значениями обучающей выборки
39
Теория
Обучающая выборка содержит только положительные значения таргета (регрессия). Может ли random forest предсказать отрицательное значение на тестовой выборке? А бустинг?
Правильный ответ: random forest — нет (в листах лежат таргеты), бустинг — может (деревья предсказывают антиградиент функции потерь)
40
Теория
Расскажи верхнеуровнево, как устроен трансформер.
41
Теория
Что такое attention и как он работает внутри (query, key, value)?
42
Теория
Зачем в attention делить произведение Q и K на корень из размерности эмбеддингов?
43
Теория
Чем будет различаться выход softmax, если на вход подать (10, 100) и (1, 10)?
Подводка к температуре softmax: масштабирование делает распределение более равномерным
44
Теория
Что ещё есть в блоке энкодера трансформера, кроме attention?
Обсудили add & norm, полносвязный слой, pre-norm vs post-norm
45
Теория
Зачем нужен skip connection?
46
Теория
Как в трансформерах учитываются позиции слов? Расскажи про позиционные эмбеддинги: какие требования к ним и какие виды бывают?
Обсудили синусоидальные, простую нумерацию, относительные (T5), RoPE
47
Теория
Что такое BERT и как его обучают?
MLM и next sentence prediction
48
Теория
Приведи пример, когда имеет смысл обучить свой токенайзер и заменить стандартный.
49
Теория
Ты учишь нейросеть и увеличиваешь размер батча. Что при этом логичнее сделать с learning rate — увеличить или уменьшить, и почему?
50
Теория
Какие ты знаешь способы ускорения инференса нейронных сетей?