Навеяно недавним прочтением этой статьи Почему Senior Developer'ы не могут устроиться на работу. Статье четыре года, но она актуальна, как никогда.
Подавался в один финтех на позицию джуниора, судя по названию вакансии. Там и аналитика, и разработка, и знание линейной алгебры, и магистерская степень требуется, и даже по-английски надо уметь общаться, опять же судя по описанию вакансии.
Удалось попасть на вводное собеседование с рекрутером. Мы мило поболтали полчаса о жизни о компании и обо мне. Успели даже пару минут поговорить по‑английски. Рекрутер сказал, что следующий этап — тестирование на онлайн‑платформе HackerRank по темам Python и ML. Немного удивился, т.к. в описании вакансии ни слова про это. Ну ок, тестирование, так тестирование.
На следующий день проходил тест. 10 заданий. Время 2,5 часа. Прикинул: 15 минут на задание, ну вроде терпимо. При чем со слов рекрутера: не знаете ответ, переходите к следующему вопросу, мол, нестрашно.
Открываю первое задание. Задача на классический ML. Дана табличка, разработать систему бинарной классификации. Что-то в духе Kaggle. Это несложно. Но(!) Часть переменных категориальные, а значит надо их кодировать, просто в какую-нибудь линейную регрессию их не "засунешь". Переменные "грязные", например, пол содержит значения "M", "male", "F", "female", а значит надо чистить. Некоторые переменные были склейкой двух других, а значит надо сплитить. В общем, это явно не на 15 минут. А время тикает, и ты понимаешь, что у тебя впереди еще 9(!) заданий. В общем, крутил-вертел, справился за час :). Напомню, весь тест 2,5 часа. Код работает, точность (критерием валидности модели была эта метрика) на train/test что-то порядка 0.7. Результаты предсказаний сохраняются в файл. Выдохнул перешел к следующему заданию.
Задания были разной сложности. Какие-то как описанное выше, какие-то просто вопросы multiple-choice. Одно из заданий сильно напоминало первое, т.е. создать и протестировать модель. Решил его не делать, чтобы сэкономить время. А потом на техническом собеседовании парировал бы факт нерешения оптимизацией расхода времени, мол, зачем решать однотипное задание, если есть такое же первое, проверьте, пожалуйста, и убедитесь, что такие задачки я решать умею. К тому же держал в голове слова рекрутера "не знаете ответ, переходите к следующему вопросу, нестрашно".
В одном из заданий код проходил 10 тестов из 12. Потом в спокойной обстановке на домашней машине все работало. Какие именно скрытые тесты не проходили, останется великой тайной. Кстати вопросов по линейной алгебре не было. Зачем она упоминалась в описании вакансии — еще одна загадка.
В общем, завершил тест, через 5 минут приходит ответ: пардон, но нет. Я в ответ: как так? что там? Выясняется, что 1-е задание получило ровно 0, прописью "ноль", балов! Я говорю: а люди-то смотрели? Ну не может там быть ноль, как будто ни строчки кода не написал. Ответ рекрутера: люди туда не смотрят, апелляция невозможна, доктор сказал в морг компьютер сказал 0, значит 0.
У меня только один вопрос: что это было? Кого они ищут? Гениев? Олимпиадников? Ушлых людей, которые копируют правильные ответы с каких-то закрытых форумов? Какая ценность от таких сотрудников? Или я сильно чего-то не догоняю :).
Ни описание вакансии, ни твое резюме, ни образование, ни опыт работы, ни знание иностранных языков — ничего из этого больше не имеет значения. Больше у тебя не будет возможности поговорить по душам и убедить собеседника в своей профпригодности. И похоже этот новый тренд надолго, т.к. техническое тестирование я прохожу не первый раз. Можно быть условным школьником, каким‑то чудом пройти тест, и получить эту работу. Фантастика!
Автор:
semipro