Приключение в один день или One Day Offer от Яндекса

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Вступление

Привет, Хабр. Недавно я получил оффер от Яндекса за один день и, не буду скрывать, я этому очень рад. Поэтому мне захотелось поделиться с сообществом своим опытом и мыслями относительно One Day Offer от Яндекса (в дальнейшем ОДО).

Начну с того, что название сия мероприятия вполне описывает его суть. За один день ты проходишь два собеседования и несколько финалов (о них поговорим позже) и в тот же день, если со всем справился, получаешь оффер. Звучит хорошо, но так ли оно на самом деле? Оказалось, что да, все происходит именно так. Никакого ожидания по несколько месяцев и никакой неопределенности по количеству интервью. Всё действительно происходит так быстро, и это, я считаю, очень круто.

Что это

One Day Offer - это относительно молодое мероприятие. Яндекс активно начал его проводить лишь с весны этого года, поэтому оно только набирает обороты, но уже понятно, что формат будет жить и процветать. ОДО проводится по одному из ключевых направлений: фронту, бэку, мобилкам или аналитике. Помимо основной цели - поиск новых кадров - ОДО также служит доказательством, что в Яндекс можно попасть всего за день.

Лично я участвовал в ОДО для мобильщиков, поэтому буду рассказывать про опыт участия именно с точки зрения мобильщика :)

Контест

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

В моем случае контест состоял из двух задач: одна алгоритмическая и одна на платформу. По ощущениям, алгоритмическая задача была на уровне easy задач с литкода, так что с ней я справился примерно минут за 30. Правда потом потратил ещё 20 на попытку оптимизировать написанное, поскольку у задачи был follow up - написать решение, которое будет использовать константное количество памяти. Такое решение у меня написать не получилось, но это оказалось не критично. Перейдем к более интересному - задаче по платформе. Поскольку я Android разработчик, задание у меня было, что логично, по андроиду. Само по себе задание абсолютно не сложное, но очень интересное. Передо мной был код активити и нужно было перечислить все ошибки, допущенные в этих 30 строчках кода. Разбираться в коде я люблю, поэтому задание принесло мне сплошное удовольствие, и я сидел с ним все оставшееся время, дабы найти вообще все недочеты, которые там есть, и пояснить каждый. Не уверен, что нашел все, но, тем не менее, с заданием я справился и меня пригласили на ОДО.

Приветствие

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

На приветствии Дима Макаров (руководитель группы Android в Маркете) и Юра Кочарян (руководитель группы Android в Дзене) рассказали немного про Яндекс и провели для нас небольшую Q&A сессию. А ещё мы увидели вот такой вот интересный кадр

Нас заверили, что это чистая случайность, и я, пожалуй, оспаривать это не буду :)
Нас заверили, что это чистая случайность, и я, пожалуй, оспаривать это не буду :)

После приветствия началось первое собеседование - платформа. И мы плавно переходим к нему.

Собеседование по платформе

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

  • Классы в Kotlin

  • Clean Architecture in Android

  • Способы хранения данных (простые и сложные вопросы)

  • Жизненный цикл View и его API

  • Intents

  • Приоритеты OOM Killer

  • Асинхронная работа в Android

  • Serializable vs Parcelable

  • Производительность базовых ViewGroup

  • MV* паттерны

  • RxJava

  • WorkManager и Services

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

В целом собеседование получилось интересным. Особенно порадовало, что интервьювер общался на равных, благодаря чему складывалось впечатление, что я не прохожу собеседование, а веду диалог с коллегой. И это относится ко всем интервью ОДО, а не только к платформе, но об этом я ещё упомяну далее.

Собеседование по кодингу

Кодинг интервью началось у меня с приключений. Ссылка на зум не работала, поэтому пришлось подключаться через идентификатор конференции. Но и это получилось только со второго раза, потому что в первый раз я никого не слышал.

Наконец началось то, чего я, наверное, боялся больше всего: собеседование по кодингу. Все же слышали эти страшные истории про задачи на алгоритмы, оторванные от реальности, да? Так вот у меня их не было.

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

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

Этот этап ОДО также получился не очень сложным (а по сравнению с моими ожиданиями даже легким). На нем я даже узнал что-то новое во время обсуждений задач. Общение все также было приятным и достаточно не официальным. В общем, этот этап ОДО мне понравился даже больше, чем предыдущий.

Финалы

После небольшого ожидания, мне сообщили, что я успешно прошел оба собеседования, и можно назначать время финала. Финал - это общение с командой, в которой ты будешь работать в случае метча. В первой части финала ты рассказываешь о себе, своем опыте, интересах и т.п. После, интервьюер рассказывает про Яндекс, его плюшки и команду. Финал, так же как и предыдущие два собеседования, занимает час (хотя наверное можно уложиться и в меньшее время) и является, наверное, самой лайтовой частью ОДО. По сути это обычное общение. Вообще финалов может быть несколько, лично у меня могло бы быть до трех финалов включительно. То есть я мог поговорить с тремя из пяти (я могу что-то путать, и их могло быть четыре) команд, участвующих в ОДО. То есть у кандидата есть выбор из нескольких команд, и он может выбрать любую, которая больше понравится. Но, поскольку я шел целенаправленно в маркет, у меня был только один финал.

И уже через полтора часа после завершения финала я получил заветный оффер от Яндекса.

Заключение

Вот, как-то так и прошел мой One Day Offer. Также я нигде не упомянул, что на протяжении всего мероприятия на связи были рекрутеры Яндекса, которые сообщали фидбэк по собеседованиям и расписание, за что им отдельное спасибо. Ещё одним приятным бонусом стал промокод на Яндекс Еду, чтобы "ожидание обратной связи было приятным". В общем, мероприятие крутое, и я всем советую в нем участвовать. Надеюсь мой опыт и впечатления от ОДО будут полезны будущим кандидатам и помогут организаторам сделать это мероприятие ещё лучше.

А ещё я не могу не воспользоваться случаем и не поделиться своим телеграмм каналом, на котором я буду рассказывать про свой путь в IT и делиться разными материалами. Мне только 17, и я лишь в начале своей карьеры, но уже получил оффер от Яндекса на позицию мидла. Поэтому, думаю, мой канал может быть интересен как начинающим, так и опытным разработчикам. В общем, если я вас заинтересовал, жду на канале.

Источник: https://habr.com/ru/post/560014/


Интересные статьи

Интересные статьи

Поговорим о взаимодействии разработчика с ручными и автоматическими тестировщиками. Тимлид команды разработки в Маркете Юрий Акатов yuraaka рассказал о том, как создать платформу модульны...
Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще все...
Мы в команде Яндекс.Карт для iOS создаем тестовые проекты с помощью маленького плагина для CocoaPods и нескольких классов утилит. Создание проекта происходит быстро и надежно. Но може...
Итак, мы рассмотрели, как настроить сеть на компьютере. Что же касается свитча, напомню, что он является устройством 2 уровня модели OSI, а мы должны сконфигурировать IP-адрес, который относится ...
Это статья-перевод Стэнфордского семинара. Но перед ней небольшое вступление. Как образуются зомби? Каждый попадал в ситуацию, когда хочется подтянуть друга или коллегу до своего уровня, а не п...