Загрузка…
Загрузка…
ml / middle_plus / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_week
Длительность
87 мин
01
Теория
Какие типы данных вообще есть в Python?
Раздел Python. Кандидат разделил на изменяемые/неизменяемые.
02
Теория
Зачем нам вообще изменяемые данные и зачем неизменяемые? Зачем иметь и tuple, и list?
03
Теория
Может ли список быть ключом в словаре?
04
Теория
Зачем ключу словаря быть hashable?
05
Теория
Заметки
Собеседование на ML/NLP-инженера в команду банка «данные в общении с клиентом» (ML рядом с процессом обслуживания клиента). Команда: ~10 аналитиков и 2 датасаентиста (мидлы), ищут ещё middle_plus/senior. Кандидат — NLP-инженер с опытом 2+ года, ранее лид команды (3–5 человек), разрабатывал платформу прогнозной аналитики VB (извлечение признаков из медицинских текстов: fasttext, BERT, обучение своего BERT на ~70 ГБ медтекстов; система поддержки принятия врачебных решений, ~46 регионов и ~200 частных клиник). Интервью вели трое (как минимум Артур, Андрей и ведущий). Структура: обсуждение опыта → Python → SQL → метрики → классический ML → NLP/трансформеры → практический NLP-кейс → вопросы кандидата. Задачи команды: автоответы/подсказки в чатах (два лайна — LLM-ответы и быстрые подсказки), управление трешхолдами под нагрузкой, авто-«спасибо»/закрытие сессий, валидаторы совместимости вопрос-ответ, определение продолжения сессии/датадрифтов, авторезюме (саммаризация) звонков и чатов на LLM, маршрутизация обращений по тематике, аналитика обращений. Стек команды: своя развёрнутая LLM (примерно Llama 13B), Mistral, ретривер + RAG, LoRA, промпт-тюнинг. Запись организует рекрутёр Яна; результат обещали сообщить максимум в пятницу.
Подготовка
Готовиться к глубоким вопросам с подвохом: внутреннее устройство dict и поведение при коллизиях/одинаковом хэше (сложность O(n)); GIL, IO-bound vs CPU-bound; тонкости SQL (cross join через 1=1, кардинальность join, поведение NULL в join, оконные функции и rows/range between); метрики (ранжирующая природа ROC AUC и влияние округления, MAE vs MSE, R², разница MAPE/SMAPE, почему F1 — среднее гармоническое); экстраполяция деревянных моделей и бустинга за диапазон таргета (бустинг предсказывает антиградиент); устройство трансформера (scaling attention и связь с температурой softmax, layer norm/skip connection, позиционные кодировки вплоть до RoPE); способы ускорения инференса и квантизация. Полезно уметь рассуждать на открытых задачах (sentiment-классификатор, ограничения BERT на длинном мусорном контексте, CatBoost с текстовыми фичами как сильный бейзлайн).
Стиль интервьюера
Дружелюбный, но дотошный стиль: интервьюеры активно задают follow-up'ы, докручивают кандидата наводящими вопросами и сами подробно объясняют правильный ответ, когда кандидат не знает (коллизии в хэш-таблице, GIL/IO-bound, оконные функции, антиградиент в бустинге, симметризация SMAPE). Часто проверяют глубину понимания через мини-задачки и провокации («а если я скажу, что это не так?»). Подчёркивают, что часть вопросов — на рассуждение, без единственно верного ответа. Спокойно реагируют на технические проблемы со связью, переключают вопросы между интервьюерами, чтобы не терять время.
Что произойдёт, если добавить списку метод __hash__ (например, возвращающий return 1) и сделать такой список ключом в словаре?
06
Теория
Какие коллизии будут возникать в хэш-таблице и как они обрабатываются?
Кандидат не знал, интервьюер пояснил.
07
Теория
Какая сложность доступа по ключу в словаре?
08
Теория
Как изменится сложность доступа по ключу, если все ключи словаря будут списками с одинаковым хэшем (упадут в один бакет)?
Ожидаемый ответ O(n).
09
Теория
Приходилось ли распараллеливать работу? Как в целом можно распараллелить вычисления в Python?
10
Теория
Чем отличается мультипоточность от мультипроцессорности?
11
Теория
Ускорит ли меня обучение RandomForest на 100 потоках на одноядерном компьютере?
12
Теория
В каком случае потоки могут ускорить выполнение? Чем отличаются IO-bound и CPU-bound операции в контексте GIL?
Кандидат не дал ответ, интервьюер пояснил про IO-bound и GIL.
13
Теория
Какие джойны существуют в SQL?
Раздел SQL.
14
Теория
Что такое cross join?
15
Теория
Что будет, если в inner join вместо условия связи написать 1=1? Можно ли так писать?
select * from T1 join T2 on 1=1Подводка к тому, что это эквивалентно cross join.
16
Теория
Есть одна таблица с двумя строками, другая с тремя строками. Делаешь join. Какое минимальное и максимальное количество строк может получиться?
17
Теория
Что получится на выходе, если сделать left join двух таблиц по столбцу, в котором в обеих таблицах стоят NULL?
Про то, что сравнение NULL с NULL всегда даёт false.
18
Теория
Пишешь ли оконные функции? Что можно писать в скобках после OVER (например в sum(value) over(...))?
sum(value) over()19
Теория
Что регулирует размещение окна в оконных функциях (rows between / range between) и как, например, посчитать сумму за предыдущие три строки?
Кандидат не знал, интервьюер пояснил.
20
Теория
Что такое ROC AUC? Расскажи про эту метрику.
Раздел метрик.
21
Теория
Что ты имел в виду, когда сказал, что ROC AUC — ранжирующая метрика?
22
Теория
Как изменится ROC AUC, если округлить предсказания до какого-нибудь знака после запятой? В какую сторону и почему?
Ответ: может измениться и вверх, и вниз в зависимости от порядка.
23
Теория
Какие метрики регрессии ты знаешь?
24
Теория
На что бы ты опирался при выборе метрики между MAE и MSE?
25
Теория
Что значит «обрабатывать выбросы» применительно к метрике? Раскрой мысль подробнее.
26
Теория
Что такое метрика R² (доля объяснённой дисперсии)?
Кандидат не знал такую метрику.
27
Теория
В чём разница между MAPE и SMAPE? Что стоит в знаменателе MAPE и почему SMAPE симметричная?
28
Теория
Зачем используют F1 меру? Что за операцию делают с precision и recall (почему среднее гармоническое, а не обычное среднее)?
29
Теория
Верно ли, что среднее гармоническое всегда меньше среднего арифметического?
30
Теория
С какими моделями для табличных данных ты работал?
Раздел классического ML.
31
Теория
Согласен ли ты с утверждением, что бустинги на табличных данных бьют все остальные классические модели? Почему да/нет?
32
Теория
В каких случаях стоит учить линейную модель вместо бустинга?
33
Кейс
Если предсказывать значение с линейно-возрастающим трендом (например количество денег с учётом инфляции), как будут работать бустинги и деревянные алгоритмы за пределами диапазона обучающей выборки?
34
Теория
Если в обучающей выборке таргет всегда положительный, может ли RandomForest предсказать отрицательное значение на тестовой выборке?
35
Теория
А может ли бустинг предсказать значение за пределами диапазона таргета? Что предсказывает, например, десятое дерево в ансамбле бустинга?
Интервьюер пояснил, что деревья бустинга предсказывают антиградиент функции потерь, поэтому бустинг может вылезать за диапазон.
36
Теория
Расскажи верхнеуровнево, как устроен трансформер.
Раздел NLP.
37
Теория
Расскажи про механизм attention.
38
Теория
Как attention работает внутри (query, key, value, перемножение матриц)?
39
Теория
Зачем при вычислении attention делить на корень из размерности эмбеддингов?
40
Теория
Как масштабирование влияет на softmax? Чем будет различаться выход softmax от входа [10, 100] и от входа [1, 10]?
Подводка к аналогии с температурой softmax.
41
Теория
Что ещё есть в блоке энкодера, кроме attention (add & norm, полносвязка, layer norm)?
42
Теория
Зачем нужен skip connection?
43
Теория
Как в трансформерах учитываются позиции слов (позиционные эмбеддинги)?
44
Теория
Какие ещё бывают подходы к позиционным эмбеддингам (нумерация, относительные, T5 relative, RoPE)?
45
Теория
Что такое BERT и как его обучают (MLM, NSP)?
46
Теория
Приведи пример, когда имеет смысл обучить свой токенайзер и заменить стандартный.
47
Теория
Если ты увеличиваешь размер батча при обучении нейросети, что логичнее сделать с learning rate — увеличить или уменьшить, и почему?
48
Теория
Какие ты знаешь способы для ускорения инференса нейронных сетей?
49
Теория
Что такое квантизация?
50
Кейс
Как бы ты решал задачу классификации настроения комментариев клиентов (sentiment analysis) при наличии разметки? Опиши последовательность действий.
Практический кейс, заданный пока второй интервьюер отвалился по связи.