Найти тему
Техкофе

Два месяца собесов. Что спрашивают меня на собесах в ML?

Оглавление

HR скидывает очередную вакансию и рассказывает про несколько этапов собеседования со скорингом, тех интервью, интервью на ML-design и финалом. Это в два раза больше, чем у меня встреч в календаре.

Что думает руководитель, когда видит у своего подчиненного на столе книгу про алгоритмы и структуры данных? Ждет контр-оффер и встречку про зарплатный шантаж.

Когда написал очередной HR и ты готовишься отвечать на вопрос что такое список в питоне:

Примерно 2 месяца назад я открыл свое резюме на hh.ru для предложений от других компаний и прошел порядка 10 собесов примерно в 5 разных команд.

Какие задачи предлагали:

Сейчас, как я увидел, искали либо чистого DS, который будет пилить локально на тачке модели с максимальным разнообразием и выбором алгоритмов, либо такого-себе ML-ops, который немного за ML шарит, но главная задача - настроить автоматизацию обучения и выкатки моделей.

По какому плану собесят

Сценарий собеса был довольно стандартный, при этом так же стандартно этот стандартный сценарий интервьювер проговаривает план в начале встречи. Интервьювер рассказывает о себе, потом я о себе - знакомство. Потом мне задают вопросы или задачи устно, и в конце предлагают решить 1-2-3 задачи на код. Обидно бывает за команды, которые во время собеса сильно закапываются в вопросы ко мне, а потом у них не хватает времени посмотреть, как я решаю задачи. Однажды команда предложила решить задачку прямо в чате.

Вопросы, в ответ на которые я бессильно молчал

Какие ты знаешь имплементации Attention? Как работает Flash attention?

До сих пор не знаю. Надо будет подтянуть знания про Attention.

Что такое мощность стат критерия?

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

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

С трудом отвечал про отличие ALS от SVD.

Что такое гомоскедатичность?

В этот момент в голове была обзьянка из симпсонов, хотелось просто выйти из созвона и заливнуть в видосы. И этот термин решил появиться в моей жизни несколько раз, чтобы я его запомнил: прямо на собесе я загуглил это понятие, потом встретил в одном из видосов про классический МЛ, потом обсудил с коллегами. Кажется, это явление, когда дисперсия ошибки модели не зависит от входных фичей, т.е. в ошибке модели нет системной зависимости от Икса, и, как следствие, нет упущенных зависимостей.

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

Самые частые вопросы:

Что такое precision, recall и как трактовать ситуацию когда, например, recall=1, а precision=0?

На первую часть вопроса можно ответить базовой зубрежкой, а второй уже требует поразмыслить и применить знания. Вторая часть вопроса просто выключила мой мозг на какое-то время. Я пытался прикинуть ситуацию, когда значение метрик достигается в точности, но это невозможно. Задача развязывается, когда "=" заменяется на "близко к". В комментах можно попробовать развязать эту задачу.

Какие виды ансамблирования ты знаешь?

Я отвечал так: голосование, усреднение (блендинги), семплирование фичей, бустинг, двухстадийная модель, когда скоры разных моделей закидывают в модель верхнеуровневого ранжирования.

Про спарк

Однажды у меня было два собеса два дня подряд в разные компании. Мне дали практически одинаковую задачку на spark: есть лог кликов юзера в айтемы с датой; нужно достать последнее действие каждого юзера.

Запомнившиеся вопросы

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

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

Как ты принимаешь решение о длительности АБ теста?

В моей практике, пользуясь готовой АБшницей и запуская АБ-тесты на одинаковом проценте пользователей, мне нет необходимости выбирать длительность АБ-теста. У меня действует такое правило: либо за неделю АБ-тест прокрасится, либо нет.

Про питон

На этот раздел вопросов стало прямо приятно отвечать, тк каждый ответ про тот или иной элемент языка я рассказываю с учетом своего опыта. Получаются такие микро-истории.

Вывод:

Менять место работы до апреля я так и не решился, но получил очень полезную обратную связь о себе и о рынке. Теперь у меня есть план по дальнейшему развитию своих навыков. Хочется если и переходить, то с сильным ростом.