Как пройти собеседование в яндекс менеджер. Как работают в «Яндексе

Работали мы как-то с компанией «Яндекс» в соседних бизнес-центрах. Заходили к ним в гости и удивлялись, что в то время, как сотрудники нашей редакции отливают свинцовые литеры для печатных прессов, стоя по пояс в радиоактивных отходах в непроветриваемых помещениях, сотрудники Яндекса сидят в креслах за 800 евро и наслаждаются теплом от обогреваемых стен-перегородок. Хочешь работать так же? Легко! По вопросам трудоустройства в нашу редакцию пиши Степану на [email protected] , а по поводу Яндекса… впрочем, дадим им слово.

Больше половины сотрудников Яндекса вовсе не менеджеры по руководству общими вопросами и не операторы кофейных машин, а самые что ни на есть разработчики. Яндексу как воздух нужны front-end и back-end разработчики на С++, Python, Perl, Java, JavaScript. В основном в компании используются UNIX-плафтормы, но есть и разработка под Windows. Во многих сервисах формируются команды мобильной разработки, которые пишут под iOS, Android и Windows Phone.

Самая острая потребность в разработчиках C++. При этом все чаще появляются вакансии, связанные с машинным обучением, big data, распознаванием изображений и голоса, распределенными вычислениями. Далеко не всегда опыт работы с этими технологиями требуется обязательно. Есть команды разработчиков, которые занимаются исследовательскими задачами.

Вакансии открыты в Поиске, Браузере, Картах, Диске, Маркете. И в каждой из команд - своя специфика. Так, в Поиске и Картах больше востребовано знание алгоритмов, причем в Поиске уклон в сторону теории вероятностей и математической статистики, а в Картах - на графы. В Браузере больше сложных инженерных задач, поэтому требуются в первую очередь технические знания и в меньшей степени - алгоритмы.

Разработчики Яндекса подготовили читателям ][ задачи, которые могут встретиться на собеседовании в компании.

Кого в Яндексе ждут больше всего?

  • Разработчик поиска С++
  • Разработчик Яндекс.Диска (С++ для Windows)
  • Разработчик качества поиска Яндекс.Картинок (С++)
  • Разработчик C ++ систем распознавания речи (мобильные платформы)
  • Разработчик С++ (компьютерное зрение)
  • Разработчик распределенной системы хранения и обработки данных С++

Как проходит собеседование

Ольга Пономарёва, старший рекрутер группы подбора разработчиков, Яндекс

Если вы успешно справилсьи с тестовыми задачами на company.yandex.ru, мы предложим созвониться по скайпу. По сути, это будет первое знакомство, где мы немного поговорим про выбранный язык программирования и предложим пару математических или алгоритмических задачек. Для первого разговора иногда достаточно 10–15 минут, и уж точно не больше часа.

Мы друг другу понравились? Отлично, тогда приглашаем в гости: у Яндекса есть десять офисов разработки в разных городах, вместе выберем подходящий. Обычно на собеседование приходят несколько разработчиков из разных команд: кому-то вы можете понравиться больше, и тогда он будет за вас биться. Правда, не сразу. Перед этим нужно написать код для решения предложенных задач. Чем быстрее напишешь - тем быстрее можно пойти домой:). Еще на встрече бывают задачки на сообразительность. В первую очередь нам интересен ход ваших мыслей, не обязательно решить всё. Если кандидат претендует на позицию senior-разработчика, поговорим об архитектуре систем.

Иногда для того, чтобы понять, «наш» человек или нет, требуется несколько встреч. Однако если вам нужно срочно определиться с местом работы - скажите нам об этом, что-нибудь придумаем.

Спрашивает Андрей Плахов, руководитель службы функциональности поиска в Яндексе:

Задача 1

Дана функция на языке Python. Завершится ли когда-нибудь вызов dio()? Почему?

Def dio(): x = 1L while 1: for y in xrange(1, x): for z in xrange(1, y): if x*x == y*y + 12752041*z*z: return "Found it" x = x + 1

Задача 2

Что делает эта программа на языке С++?

#include struct EmptyList { }; template struct IntList { static const int Head = N; typedef T Tail; }; #define LIST1(N1) IntList #define LIST2(N1,N2) IntList #define LIST3(N1,N2,N3) IntList #define LIST4(N1,N2,N3,N4) IntList #define LIST5(N1,N2,N3,N4,N5) IntList #define NUM2(x,y) 10*(x) + (y) #define NUM3(x,y,z) 100*(x) + 10*(y) + (z) #define NUM4(w,x,y,z) 1000*(w) + 100*(x) + 10*(y) + (z) #define NUM5(v,w,x,y,z) 10000*(v) + 1000*(w) + 100*(x) + 10*(y) + (z) #define DIFFER3(x,y,z) ((x) != (y) && (x) != (z) && (y) != (z)) #define DIFFER4(x,y,z,w) ((x) != (y) && (x) != (z) && (x) != (w) && DIFFER3(y,z,w)) #define DIFFER5(x,y,z,w,v) ((x) != (y) && (x) != (z) && (x) != (w) && (x) != (v) && DIFFER4(y,z,w,v)) template struct LSolve { static const int Answer0 = LSolve >::Answer; static const int Answer1 = LSolve >::Answer; static const int Answer2 = LSolve >::Answer; static const int Answer3 = LSolve >::Answer; static const int Answer4 = LSolve >::Answer; static const int Answer5 = LSolve >::Answer; static const int Answer6 = LSolve >::Answer; static const int Answer7 = LSolve >::Answer; static const int Answer8 = LSolve >::Answer; static const int Answer9 = LSolve >::Answer; static const int Answer = Answer0 + Answer1 + Answer2 + Answer3 + Answer4 + Answer5 + Answer6 + Answer7 + Answer8 + Answer9; }; template struct LSolve { static const int Answer = NUM4(U,D,A,R) + NUM4(U,D,A,R) == NUM5(D,R,A,K,A) && (U != 0) && (D != 0) && DIFFER5(U,D,A,R,K) ? NUM5(D,U,R,A,K) : 0; }; typedef LSolve Solve; int main(int argc, const char* argv) { printf("ДУРАК=%d\n", Solve::Answer); }

Спрашивает Кирилл Сюзев, руководитель группы разработки Яндекс.Картинок

Задача 3

Есть исходный код программы:

#include #include #include int main() { std::cout << 1; fork(); exit(0); }

Что напечатается на экране и почему? Как изменится вывод, если заменить cout на cerr?

Задача 4

В программировании есть понятие LRU-кеша.

Если кратко: любой кеш содержит элементы, к которым мы хотим обращаться, но размер кеша ограничен. Поэтому надо принимать решение, какие элементы в кеше мы храним, какие нет.

LRU-кеш таким образом выбирает: если места под элементы больше нет, он выбрасывает элемент, к которому дольше всего не обращались, и вместо него кладет новый.

Задача - написать такой кеш в виде С++ класса/классов.

Мы ждем ваших задачек!

IT-компании, шлите нам свои задачки! Интересные и оригинальные задачки мы совершенно безвозмездно поставим перед нашими читателями. То есть для того, чтобы опубликовать свои программерские и просто логические задания в этой рубрике, не нужно никакой бюрократии! Не нужны переписки с инстанциями и отделами, акты приема-передачи работ, подписи, счета и визы. Достаточно написать на [email protected] и установить близкий контакт третьей степени с редактором рубрики. Вы шлете задачки, мы их публикуем. Взаимовыгодно! Да, и про бонусы читателям-решателям не забывайте!

А еще мы ждем ваших решений!

Задачки сами собой не решатся! Шли нам свои ответы, а айтишные компании будут дарить тебе бесплатные айфоны.

О том, как устроен процесс интервью в Яндексе.

Как на него попасть

Почти у каждой вакансии Яндекса есть тестовое задание — с него-то всё и начинается. Ответьте на вопросы на странице вакансии и отправляйте заявку. Если вы успешно справились с тестом и заинтересовали службу найма, то получите приглашение на встречу — обычно в течение недели.

Подойдёт в любой форме, а для дизайнеров и разработчиков его заменит портфолио или ссылка на репозиторий. Хорошо сопроводить резюме вольным рассказом о том, почему вас стоит взять на работу. Будьте готовы вкратце пересказать ключевые факты на собеседовании — умение представить себя интересует не меньше биографии.

Сколько будет встреч

Чаще всего проводятся четыре собеседования. В некоторых случаях в зависимости от профессии кандидата решение о найме может быть принято по итогам двух встреч. На особо ответственные должности количество интервью может быть увеличено до пяти-шести.

Как оно проходит

Обычно встреча длится час или два. Вам предложат чай-кофе, воду и печеньки. Собеседование с претендентами на вакансию разработчика состоит из серии коротких встреч с разными экспертами. Рекрутер обязательно расскажет вам все подробности.

Кто будет на собеседовании

Сотрудник отдела найма и ваш потенциальный руководитель. Если вы подходите на несколько ролей или претендуете на важную должность, к встрече могут присоединиться и другие эксперты.

Чего ожидать

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

Что будет после

Между встречами и особенно после финального собеседования иногда наступает длинная пауза. Пожалуйста, наберитесь терпения. Если рекрутер не ответил на звонок или письмо — это не значит, что вы не справились. В это время служба найма может общаться с другими кандидатами, а итоговое тестовое задание часто проверяют много людей.

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

Этап 1
Началось все 15 марта 2016 года. Мне позвонил представитель компании и представился специалистом подбора персонала. Общение проходило очень вежливо и по окончанию предложили пройти первый отборочный этап, который заключался в том, что необходимо перейти по ссылке ведущей на описание вакансии, развернуто ответить на имеющиеся там вопросы и прикрепить свое резюме.

Этап 2
Задачу я выполнил и через несколько дней из Яндекса перезвонили, предложили пройти собеседование по Skype. В назначенное время меня пригласили присоединиться к конференции в которой участвывали: HR и 2 руководителя разных групп по продукту Яндекс Маркет, каждый искал себе человека в команду. После короткого описания ролей на которую они ищут человека мне предложили ответить на ряд вопросов и просто рассказать о том чем я сейчас занимась. После договорились о том, что каждый из руководителей групп пришлет мне задания на почту через HRа.

Этап 3 - Первое задание от группы инфраструктуры
Первое задание я получил на следующий день от руководителя группы инфраструктуры Яндекс Маркета, оно было в связано с кластеризацией, классификацией, индексацией поступающей информации и его выполнение заняло у меня около 7 дней, притом не по 1 часу, а часов по 6. Требовалось провести большой анализ возможностей Маркета, понять, что такое кластеризация и как ее можно применить на поступающую информацию. Далее составить описание проекта, подготовить план с этапами и сроками, составить перечень метрик для оценки, посчитать и описать возможные риски и подготовить KPI по выполнению проекта. Результат задания - документ на 30 листов который надо уместить в презентации на 25-30 слайдов. По моим ощущениям я к диплому меньше готовился чем к этому заданию.

Этап 4 - Защита выполненной работы для группы инфраструктуры
После проверки результатов высланных ранее, меня пригласили в офис компании, где пришлось защищать проект перед главным разработчиком бекенда в Яндекс Маркете. Я хорошо подготовится свою защиту и оцениваю ее на 4.5 балла из 5, по сути я повторил описание их процессов реализованых на реальном проекте, но несколько не до конца развернул вопрос проверки результатов кластеризации. По результатам, я прошел защиту и меня пригласили на следующий этап собеседования - "на сообразительность".

Этап 5 - Собеседование на сообразительность для группы инфраструктуры
В офисе меня ждали 3 человека (HR, "Будущая коллега" и еще один ведущий разраблотчик), было всего 2 задания: Про прямоугольный торт который надо разрезать одним движением, и про 2 города (лжецов и правдолюбов). Первую задачу я решил, а на второй меня одолела паника, я больше переживал о том, что я не могу решить задачу, нежели решал саму задачу. В результате, после этого собеседования "на сообразительность" я не прошел дальше, но был еще вариант попасть в группу поиска яндекса.

Этап 6 - Второе задание от группы поиска яндекса
Задание очень сильно отличалось от первого, и тут было больше продуктового анализа + анализа решения у конкурентов, хотя позиция связана с Менеджментом проектов. Задание заключалось в том, что в Я.Маркет надо внедрить функционал соц. сетей, описанить зачем, как лучше,куда лучше, аналоги решений, план проекта, этапы, метрики, риски, KPI. На выполнение этого задания у меня ушло уже меньше времени, так как в теории я уже значительно лучше разбирался, а с практикой я работал каждый день. Считаю это задание я сделал гораздо лучше чем первое и после отправки его на проверку, примерно через неделю я получил отказ. Дело оказалось в том, что тут требуется менеджер проектов с уклоном на менеджера продукта, некоторые детали я просто не описал, так как никогда и не подумал бы, что менеджер проекта должен за такое отвечать.

В общем по двум первым отборам я не прошел, и самое обидно тут именно за собеседование по "сообразительности". В подобные собеседования никогда не верил, и чисто для успокоения себя я решил задать такие задачи всем своим знакомым и друзьям. Реально из человек 10-15 решил только 1, это был программист с опытом больше 10 лет, остальные будучи в комфортных условиях даже близко не пришли к решению задачи.

На этом история не заканчивается. Моя кандидатура все так же подходила под ряд вакансий в Яндексе, и еще все адекватные HR понимали, что задачки на логику не показывают ничего полезного в плане будущей работы человека и его отдачи. Мне предложили попробоваться на третью вакансию - менеджер проектов в группу интерфейсов яндекс маркета.

Этап 7 - Собеседование в группу интерфейсов Я. Маркета
Очередное посещение офиса Яндекса, очередное собеседование и доказывание, что не дурак, закончилось очень позитивно, были приятные собеседники, хорошее и внимательное общение, и я подумал, что вот оно место куда я точно пройду. После собеседования мне сообщили, что собеседование прошло успешно и давай ка дружок выполни очередное домашнее задание. Тут мне стало даже не смешно, но ничего не оставалось, кроме как его начать делать.

Этап 8 - Домашнее задание для группы интерфейсов Я. Маркета
Задание прислали спустя почти 10 дней после собеседования, шел 4 день который я вкладывал в выполнение задания к вечеру я получил звонок от знакомого мне HR из Яндекса. Звонок имел содержание примерно такое, что спасибо, что я начал делать задание, и что к сожалению вакансию закрыли внутренними ресурсами яндекса, и что если будут вакансии, то мне обязательно их предложит. Финиш.

Финиш
Собственно от первого до последнего контакта с Яндексом весь процесс занял более 2 месяцев.
Для тех кто рассчитывает быстро устроится к ним, то огорчу вас, они очень медлительные.
Хотел бы большое спасибо сказать ребятам Жене и Але - HR которые боролись за меня, и были настоящими профессионалами.

В конце я пригладываю результаты моей работы по первым двум заданиям от "инфраструктуры" и "поиска" которые я выполнил.

О том, как устроен процесс интервью в Яндексе.

Как на него попасть

Почти у каждой вакансии Яндекса есть тестовое задание — с него-то всё и начинается. Ответьте на вопросы на странице вакансии и отправляйте заявку. Если вы успешно справились с тестом и заинтересовали службу найма, то получите приглашение на встречу — обычно в течение недели.

Подойдёт в любой форме, а для дизайнеров и разработчиков его заменит портфолио или ссылка на репозиторий. Хорошо сопроводить резюме вольным рассказом о том, почему вас стоит взять на работу. Будьте готовы вкратце пересказать ключевые факты на собеседовании — умение представить себя интересует не меньше биографии.

Сколько будет встреч

Чаще всего проводятся четыре собеседования. В некоторых случаях в зависимости от профессии кандидата решение о найме может быть принято по итогам двух встреч. На особо ответственные должности количество интервью может быть увеличено до пяти-шести.

Как оно проходит

Обычно встреча длится час или два. Вам предложат чай-кофе, воду и печеньки. Собеседование с претендентами на вакансию разработчика состоит из серии коротких встреч с разными экспертами. Рекрутер обязательно расскажет вам все подробности.

Кто будет на собеседовании

Сотрудник отдела найма и ваш потенциальный руководитель. Если вы подходите на несколько ролей или претендуете на важную должность, к встрече могут присоединиться и другие эксперты.

Чего ожидать

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

Что будет после

Между встречами и особенно после финального собеседования иногда наступает длинная пауза. Пожалуйста, наберитесь терпения. Если рекрутер не ответил на звонок или письмо — это не значит, что вы не справились. В это время служба найма может общаться с другими кандидатами, а итоговое тестовое задание часто проверяют много людей.

Этим летом Олеся Голуб, выпускница Томского политехнического университета, и Федор Минькин, студент Московского физико-технического института, прошли стажировку в . Практика у ребят длилась три месяца – работали они 40 часов в неделю, как и штатные сотрудники.

Что делают стажеры в «Яндексе»

У отдела есть два подотдела: диалоговые системы, которые отвечают за качество диалогов «Алисы», и распознавание голоса, где я и работал. Моя стажировка проходила в научно-исследовательском формате. С одной стороны, я изучал разные научные работы, пытаясь проанализировать, что пригодится в нашей системе распознавания речи, а с другой стороны – был ответственен за инженерную часть: за написание кода, тестирование работоспособности, ускорения работы и прочее.

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

На фото Федор Минькин с одногруппниками

Олеся Голуб попала в отдел качества рекламы, который разрабатывает продуктовые возможности для Директа – системы контекстной рекламы на страницах «Яндекса» и сайтов партнеров рекламной сети (РСЯ). Отдел включает в себя много разных проектов: от прогнозирования вероятности клика по рекламе и внедрения рекламных аукционов до алгоритмов автоматической генерации рекламных объявлений. На стажировке она занималась оптимизацией подготовки данных.

На фото Олеся Голуб

После стажировки ребят пригласили в штат «Яндекса». Федор работает младшим разработчиком отдела голосовых технологий, а Олеся – разработчиком в отделе качества рекламы. «Перед стажером ставятся такие же задачи, как перед штатным сотрудником. Разница лишь в ответственности. Стажером я мог делать какие-то ошибки и набивать себе шишки», – делится Федор.

Как узнали о стажировке

О наборе стажеров в «Яндекс» Олеся Голуб узнала на международном чемпионате по спортивному программированию «Яндекс.Алгоритм» (участником чемпионата может стать каждый, кто умеет решать алгоритмические задачи и воплощать решения на одном из 13 языков программирования. – Прим.ред. ) За время учебы в университете ей удалось принять участие во многих соревнованиях по спортивному программированию. Девушка говорит, это и помогло ей попасть на стажировку:

На соревнованиях участники должны за ограниченное время решить несколько алгоритмических задач и написать программу на одном из доступных языков программирования. Программа обязана уложиться в заданные ограничения по времени и по используемой памяти, что заставляет придумывать действительно оптимальные решения. После такого опыта тесты на собеседовании кажутся совсем легкими. Некоторые из них я давала студентам ТПУ, которым помогала готовиться к чемпионату, вспоминает Олеся Голуб.

На фото Федор Минькин

Федор узнал о стажировке в университете – он учится на факультете инноваций и высоких технологий в МФТИ, на котором есть кафедра «Анализ данных» от «Яндекса». Каждый май университет проводит отбор на кафедру: второкурсники МФТИ сдают контрольную, а потом проходят собеседование:

Контрольная состоит из задачек на математические темы, связанные с Computer Science: элементы математического анализа, линейная алгебра, теория вероятностей, дискретная математика. Также в неё входят вопросы на знание алгоритмов и структур данных, а еще – на знание языка программирования.

Федор предупреждает: график учебы на кафедре очень напряженный. Зато благодаря знаниям, которые он получил там, смог попасть в «Яндекс». «В универе я решил много задачек по типу тех, что дают на собеседовании, поэтому мне было несложно».

Как проходит собеседование в компанию

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

Нам дали пять часов на шесть задач. Кажется – много, но на самом деле время пролетает очень быстро, вспоминает Федор.

После теста начинается серия собеседований общего плана с разными отделами «Яндекса»: резюме кандидатов рассылают по командам, которые выбирают себе понравившихся стажеров. Собеседуют стажеров опытные разработчики, которые могут справедливо и точно оценить навыки кандидата. HR-специалист в этом процессе не участвует – скорее, занимает роль посредника. Федор приезжал на собеседование в офис, а вот Олеся проходила его по Skype, так как жила в Томске:

На работу можно приходить к 12:00

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

Больше всего ребят удивила возможность начинать рабочий день в комфортное время – в офисе можно находиться 24/7. Главное – успевать общаться с командой.

Рабочий день у разработчиков начинается в среднем около 12 дня– большинство из них совы и предпочитают поспать. В течение дня мы занимаемся своими задачами. У нас есть еженедельные встречи команды, где мы подводим итог по проделанной работе и обсуждаем дальнейшие планы. Есть еженедельные встречи с другими командами, где обсуждается прогресс общих задач. Первое время для стажёров из нашего отдела часто устраивали «курс молодого бойца» – встречи, где рассказывали про архитектуру проектов и другие подробности работы, вспоминает Олеся Голуб.

Самый запоминающийся момент на стажировке

Больше всего ребятам запомнился «День стажера»:

Мы разбились на команды и проходили подготовленный сотрудниками «Яндекса» квест. Пока разгадывали айтишные ребусы, играли в «Крокодила» с терминами разработчиков и выполняли другие задания, познакомились с офисом, его историей и друг с другом.

Для Олеси еще одним запоминающимся моментом стал сам переезд в столицу. «Яндекс» оплатил ей билеты на самолет и услуги риэлтора, который помог найти съемную квартиру в районе офиса. Пока она искала жилье, компания предоставила ей гостиницу.

Сложности

Первое время в компании было самым сложным для Олеси Голуб:

Незнакомая обстановка, незнакомые инструменты разработки, незнакомые термины – первое время было сложно понять, о чем говорят коллеги. Всему виной отсутствие опыта – это моя первая работа.


А Федору тяжелее всего было в последний месяц стажировки. У него было по два-три дедлайна в неделю на кафедре «Яндекса», один в университете, и работа. Главный кейс, который он получил на практике:

Я думал, что встроить Deep Learning в наше распознавание речи (главный инструмент в общении с «Алисой») – легко. Находишь научную статью и реализуешь ее на практике. Не тут-то было! Использование нейросети требует сильно развитой инфраструктуры: мощные сервера, дорогое оборудование, классные видеокарты (они служат основным ресурсом для DL, в связи со спецификой вычислений в процессе работы нейросети). В статьях о многом умалчивают. Кто-то не упомянул, что тренировали модели на огромных кластерах из видеокарт, а кто-то - о том, что их модель работает только в определённых условиях. В итоге научные статьи, на которых базировалась моя разработка, не помогли – большую часть пришлось модифицировать и изменять.

Как попасть на стажировку в «Яндекс»

По словам Олеси Голуб, нужно как можно больше участвовать в чемпионатах по программированию и тренироваться решать задачи:

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

«Чтобы уметь решать задачи, надо их решать, – вторит ей Федор. – Я много времени посвящал профильным курсам в институте. А еще есть очень полезный канал на YouTube с онлайн-курсами от Стэнфорда. Например, CS231n с Андреем Карпатым (аспирантом Стэнфордского университета, ведущим экспертом по разработке искусственного интеллекта в Tesla. – Прим.ред. ) очень мне помог».

Фотографии: пресс-служба «Яндекс»

Материалы