КЛАССИЧЕСКИЙ ML
Начало цикла по собеседованиям тут
База, которую необходимо знать, даже если вы условно работаете с нейросетями. При этом в посте описанием пайплайна собеседований я писал, что классический ml обычно совмещен с ml system design. Здесь мы рассмотрим эти части отдельно, потому что после разговора с рекрутером обычно понятно (если вы конечно уточнили это), надо ли готовиться к ml system design, или нет. Допустим, вы удостоверились, что вас ждет собеседование по классике ML. Добавлю, что тут сразу могут спросить не только по теории ML, но и сразу поговорить про SQL, DL и не просто некоторые основы, которые мы изучаем курсах в университете или онлайн, а по возможности погрузиться вглубь, насколько вы это сможете поддержать.
Обязательно нужно рассказать о своем опыте и о тех задачах, которыми вы занимались. Возможно будет погружение в один из ваших проектов, и уже там могут начаться уточняющие вопросы, связанные с теорией. Также не всегда может быть и время на рассказ о себе. Знаю случаи, когда собеседующие сразу приступали к вопросам.
Допустим, вопросов не было.
Начнем раскручивать спираль - сначала разговор может пойти о видах задач в ML (напоминаю, что это собеседование на первую работу). После ответа возможно погружение в один из этих видов - например, нужно будет рассказать несколько примеров для задачи регрессии и пояснить, в чем же все-таки здесь отличие от классификации. Дальше возможно пойдет обсуждение моделей, применяемых для решения данного типа задач. Потом будет погружение в одну из моделей и попытка понять, действительно ли кандидат понимает то, о чем говорит. Уровень погружения зависит от конкретной компании и собеседника, поэтому тут невозможно точно заранее это знать. У меня на одном из первых собеседований однажды спросили 6 предпосылок Гаусса-Маркова (МНК) (в тот раз я не ответил).
Далее возможны вопросы про деревья и их ансамбли. Если уж поговорили про линейную регрессию, то уж с высокой вероятностью можно дойти и до деревьев. Как строится разбиение в узле дерева? На основе какого критерия? И так далее до момента, пока собеседующий не увидит достаточное понимание вопроса кандидатом. Могут быть и задачки по типу удаления первого или последнего дерева в разных ансамблевых моделях - градиентном бустинге и случайном лесе.
После такого обсуждения разных моделей могут пойти и вопросы по основам DL (не везде эту часть выносят в отдельное собеседование), но и погружение здесь не всегда может быть особо глубокое. Здесь точно не спросят про BERT и какой номер имеет последняя версия YOLO. Разговор скорее зайдет про общие архитектуры - DNN, CNN, RNN. Могут быть вопросы про функции активации или зачем нужен дропаут. Из особо сложного - возможно обсуждение сложной архитектуры, типа ResNet или LSTM.
В целом, это действительно база, которую надо бы знать всем людям, собеседующимся на эти позиции. При этом нужно понимать общий уровень тех, кто собеседуется параллельно с вами на эту позицию. Если вопросы были очень сложные, и вы не ответили на все, но очень хорошо готовились, то скорее всего большинство кандидатов тоже не ответили на эти вопросы. Также нужно учесть примерный входной поток кандидатов на вакансию. Если резюме прислали 300 человек, а на собеседование прошли 30, то хорошо бы быть хотя бы в топ-10%, иначе на вас просто не хватит мест в команде, или может даже времени интервьюеров
(Поинт про возможность не ответить на все вопросы и пройти дальше подходит для начальных уровней, для уровней повыше уже желательно высокое совпадение по навыкам и опыту)
Полезные ссылки:
1. Филипп про проведенный курс по ML со ссылками на плейлисты
2. Книга от Chip Huyen по интерьвю
3. Учебник от ШАДа с теорией по ML
4. Вопросы к собессам от Алексея Григорьева
5. Большой сборник со ссылками для подготовки к интервью
6. Плейлист по анализу данных от ФКН ВШЭ
7. Шпаргалки по курсу ML от Стэнфорда
8. Книга Андрея Вульфа Machine Learning Simplified (странно, что 2-я часть до сих пор в work in progress, хотя прошло уже больше года)
9. Известнейший курс от ODS под руководством Юры Кашницкого
#interview #ml
Post #107
932