Недавно прочитал статью о том как человеку устроили театр абсурда при прохождении собеседования в Яндекс и решил написать свою статью, где расскажу как все произошло у меня и, ВНИМАНИЕ СПОЙЛЕР: я прошел.
Как и автор вышеупомянутой статьи, я указал в своем профиле LI, что открыт предложениям и спустя небольшой промежуток получил сообщение от рекрутера Яндекс.Такси. Отличием является то, что я на самом деле искал работу и предыдущий опыт с собеседованием был незадолго до первого собеседования в Яндекс.
Театром абсурда мой опыт назвать сложно, но и без проблем не обошлось. Об этом и о разнице наших опытов написана эта статья.
Мы пообщались небольшое время с рекрутером в LI, после чего она пообещала, что мне позвонит HR в назначенное время на следующий день. Звонка я так и не дождался, вместо этого мне написала рекрутер и объяснила, что до меня было невозможно дозвониться. Далее следовала тишина до самого конца декабря и мне сообщили, что в этом году уже не получится и нужно будет перенести разговор на следующий год, сразу после праздников.
Закончились праздники и мы наконец созвонились. HR задавала вопросы про сложность добавления элементов в HashMap, типы ссылок и дальше в этом роде. Пообщались минут 15, обговорили условия и назначили первое техническое собеседование.
До самих собеседований мне скинули ссылку на методичку, где также было указано, что можно потренироваться к собеседованиям в Яндекс.Контест, который я открыл один раз и убедился в том, что решить смогу максимум 3 из 6 задач. Ну вы понимаете, я полностью согласен с мнением автора вышеупомянутого поста, про подготовку к собеседованиям, я тоже довольно ответственный человек.
Технические собеседования
На первом собеседовании задавали общие вопросы по Android и общались на тему основных компонентов, в общем о программировании и о Kotlin в частности. Я был приятно удивлен, что задач не было совсем и собеседование прошло в формате общения, после которого осталось очень хорошее впечатление об интервьюере и самом интерьвю. Но под конец все же пришлось писать простой код, который парсит содержимое аргументов метода main(vararg args: String)
. Таким образом собеседование растянулось на полтора часа и соображать под конец было сложно, но задачу все же удалось решить.
Ответа пришлось ждать около недели, после чего мне сообщили, что я прошел дальше и назначили еще одно интервью.
На втором собеседовании мне обещали то же, что и в первом собеседовании, но сложнее, с более глубокими вопросами. Так все и было, вопросы были сложнее, все было по теме, в общем отлично пообщались, как и в первый раз. Ну и задачка(как же без нее). На этот раз меня попросили написать реализацию поиска по дереву андроидовских вьюшек. Я все же переборол в себе желание вызвать стандартный метод поиска вьюшек и приступил к решению задачи.
В общем, задачу я решил не до конца и запутался в своей же реализации поиска в ширину. Потупил минут пять, попросил отложить задачу на случай, если останется время. Мы также продолжили общаться по фреймворку андроида и не заметили, что времени так и не осталось.
Ждал сообщения я также около недели и смирился с мыслью, что я не прошел, так как затупил в решении простенькой задачи. К счастью, мне ответили и сразу назначили следующее собеседование, на этот раз обещали 2 задачи и больше ничего.
Оказалось именно так, мы сразу же открыли Yandex.Code и приступили к условию первой задачи. Задача была довольно простая, главным условием было линейное время решения. Решение пришло в голову сразу и я начал писать решение, которое по моим подсчетам выполнялось за линейное время, все просто. Так мне казалось, пока интервьюер не указал на наличие крайних случаев. С ними я провозился еще какое-то время, изящного и короткого кода в условии не было, этим и пришлось пользоваться. Пару раз прогнав в голове мой код, интервьюер подтвердил правильность решения.
Вторая задача была геометрической, с осями координат и точками, условия те же, главное чтоб за линейное время. Тут мне пришлось напрячься, думал, что задачку я не решу, но с небольшой помощью, выведения всех формул и общением по-ходу решения все получилось, чему я был рад, но в то же время не мог представить себе случаев где-бы это все пригодилось в реальной разработке на Android.
Успех
На этот раз мне не пришлось ждать недели, ответили буквально через час и назначили еще 2 интервью, на этот раз уже с командами, с одной из которых мне предстоит работать в будущем, после принятия оффера. Тут уже больше спрашивал я и мне на все отвечали, пообщался с каждой из команд по часу и выбрал одну из них.
Процессом собеседования остался довольным. Для меня целое равнялось сумме частей. Как показала практика, методы найма внутри одной компании сильно отличаются от одной команды к другой.
А что касаемо самой работы: я к ней еще не приступил.