«Пришлось писать не самый эффективный код»: как я собеседовался в SberDevices
Это история из Сообщества. Редакция задала вопросы, бережно отредактировала и оформила по стандартам журнала
Выбор позиции и компании
В прошлом году я окончил университет по направлению «экономика» и начал искать работу в ИТ.
Какие именно позиции меня интересуют, я не понимал. Поэтому откликался на вакансии дата-сайенс и просматривал предложения для разработчиков. В худшем случае планировал вернуться к аналитике: у меня уже был опыт работы по этому профилю, но мне не понравилось.
Прикладного опыта у меня было мало, так что собеседования на дата-сайенс и разработчиков я успешно проваливал. У меня возникали сложности с алгоритмической секцией отбора, не хватало знаний и навыков. И это несмотря на то, что варианты я рассматривал разные, даже с зарплатой ниже рынка.
В итоге я решил снова пойти в аналитики и устроился в Т-Банке. Параллельно поступил в Школу анализа данных от «Яндекса», чтобы прокачаться в программировании и понять, чем хочу заниматься по жизни.
Спустя полгода я почувствовал себя увереннее и откликнулся на несколько вакансий, связанных с разработкой машинного обучения.
Через какое-то время на меня вышли из SberDevices — компании Сбера, которая занимается разработкой умных устройств для дома. Рекрутер предложила пройти отбор на позицию аналитика-разработчика с опытом работы от трех до шести лет. Под эти требования я не подпадал, но решил попробовать свои силы.
Собеседование
Отбор в SberDevices состоит из четырех этапов: интервью с эйчаром, технической и ML-секций, а также финального собеседования с командой.
На созвоне с рекрутером кроме стандартных вопросов про предыдущий опыт и интерес к вакансии меня ждал мини-тест. Он состоял из трех заданий на базовую теорию вероятностей и знание Python. Видимо, так компания отсекает совсем нерелевантных кандидатов.
После мне назначили техническое собеседование. Я готовился к нему неделю: решал задания на ресурсе LeetCode — там собраны задачи, которые дают в крупных компаниях, — и повторял сложные моменты.
На интервью мне дали час на три алгоритмические задачи. Я успешно справился с двумя, но на третью осталось всего семь минут, поэтому пришлось писать не самый эффективный код.
Третий этап, который состоялся в другой день, показался мне самым нестандартным. Эта часть отбора длилась полтора часа. Сначала меня попросили решить несколько задач на теорию вероятностей, а затем дали кейс на Machine Learning System Design — проектирование системы машинного обучения. Мне пришлось с ходу составлять пайплайн работы — от сбора и разметки данных до построения метрик.
Закончилось интервью заданием на А/Б-тестирование. С ним я справился довольно быстро, и мы завершили секцию.
Спустя некоторое время ко мне вернулись с предложением пройти финальное собеседование с командой — фит-интервью. На нем рассказывали про рабочие задачи и процессы.
Перед этим со мной обсудили зарплатные ожидания, и мы договорились о сумме примерно в два раза выше, чем я получаю сейчас.
Результаты
Параллельно я проходил собеседования в другие компании, причем из одной мне уже сделали оффер — там было всего одно интервью. Спустя какое-то время я получил оффер и из SberDevices.
Сильнее всего меня удивляет, что еще полгода назад я не мог устроиться на джуновскую позицию, а теперь меня оценивают на мидла и предлагают отличные условия работы: более высокую зарплату, интересные задачи и полную удаленку.
Вероятно, причина в крутой подготовке от Школы анализа данных. Но, возможно, дело еще и в том, что сейчас дефицит кадров и компании лояльнее оценивают кандидатов.
Советы
Если хотите подаваться на вакансии, которые связаны с машинным обучением, готовьтесь к секции по алгоритмам. Для этого советую регулярно тренироваться на задачах уровня медиум с LeetCode. Так вырабатывается привычка решать их на автомате и быстрее искать нестандартные подходы.
Кроме того, задачи на реальных интервью часто повторяются: я, например, встретил одну и ту же на трех разных собеседованиях. Поэтому чем больше вы будете готовиться, тем выше шанс, что вам попадется что-то похожее.
Еще один совет: учитесь решать кейсы. Начать можно с просмотра видео на «Ютубе» про ML System Design — рекомендую эксперта Валерия Бабушкина. Это точно пригодится на практике.