Особенности найма в Амазоне или никаких собеседований с HR

Особенности найма в Амазоне или никаких собеседований с HR Собеседование, IT, Программирование, Длиннопост

Так как БигТех начал открываться после сокращений и заморозки то я решил поучаствовать в найме программистов и сейчас расскажу об особенностях этого процесса в компании Амазон.

Начну я с рассказа о том как проходит процесс для кандидата.
1. После того как вы откликнулись на вакансию ваше резюме проверяется на базовые требования. Обычно это что то вроде для позиции мидла:


BASIC QUALIFICATIONS

- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with at least one software programming language

PREFERRED QUALIFICATIONS

- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent

2. Как только проверка пройдена вам присылают приглашение на онлайн задание, где у вас скорее всего будут алгоритмические задачи и несколько вопросов по техническому дизайну.
Решения проверяются автоматические
3. Если вы проходите онлайн тест то приходит приглашение на Phone screen интервью, где вы будете 1 час решать алгоритмические задачи и отвечать на поведенческие вопросы сотруднику Амазона работающего на соответствующей позиции или выше.
4. Если PhoneScreen пройден то вас пригласят на так называется Loop где вы на протяжении 4 часов с 4 разными людьми по часу будете решать задачи по Problem Solving, Data structures and algorithms, Logical and maintainable, System design и отвечать на поведенческие вопросы. время обычно разделяется следующий образом: 5 минут приветствие, 20 минут поведенческие вопросы, 30 минут coding, 5 минут вопросы кандидата.
В Амазоне есть правило 2&5 которое призывает обьявлять результат кандидату в течение 2 дней после Phone Screen и в течение 5 дней после Loop.
5. И вот только после того как вы успешно прошли все этапы у вас будет звонок с hr для обсуждения оффера. До этого момента никакого общения с HR у вас не будет.

Теперь расскажу все что происходит со стороны интервьюеров.

Для интервьюера все начинается с тренинга. На тренинге обучают этапам процесса, тому как вести себя на интервью и тому как вести себя не надо.
Очень запомнились следующие моменты:
1. Амазон уделяет огромное внимание тому чтоб кандидат имел положительное впечатление даже если не прошел отбор.
2. Очень важно бороться с так называемыми bias. Кандидат должен оцениваться только с функциональной точки зрения. Есть очевидные вещи типо того что нельзя оценивать человека по полу, цвету кожи и тп. Есть не очевидные - на ваше решение не должны влиять такие факторы, как то что вы учились в одном месте, родились в одном месте. Так же не должно влиять на выбор то где учился человек - в Гарварде или на курсах программирования, это ничего не говорит о том насколько этот человек будет успешен в Амазоне.
3. Строго запрещено давать feedback во время или после интервью.

После тренинга вы можете начинать учавствовать в интервью в роли помощника.

Процесс каждого интервью строится следующим образом.
1. Pre-brief.
Recruiter, Hiring manager и другие интервьюеры собираются вместе и начинают обсуждать кто какие поведенческие вопросы будет обсуждать. В Амазоне существует список компетенций вокруг которых крутятся все поведенческие вопросы. Каждому интервьюеру выделяется по 2 компетенции. Также интервьюер получает один из Problem Solving, Data structures and algorithms, Logical and maintainable, System design.
2. Интервью.
Перед интервью вы прописываете план - выбираете поведенческие вопросы из банка вопросов, которые соответствуют заданной вам компетенции. Примером может служить:
Например ваша компетенция - Have a backbone;Disagree and commit.
Одним из вопросов по этой компетенции может быть - "Расскажите о случае когда вы послали хорошую идею своему менеджеру и он не сделал ничего по этому поводу? Что вы сделали? Какой был результат.
Также вы выбираете или придумываете задачу для coding.
Пример: Logical and maintainable
Напишите set где каждый элемент имеет дату экспирации и удаляется.

На самом интервью в течение 20 минут для поведенческих вопросов вы должны копнуть кандидата по поводу наличия компетенции. Задача не просто задать вопрос но и наводящими вопросами выцепить все необходимые данные подтверждающие данную компетенцию. Как и во всех статьях о подготовке к FAANG мы действительно стараемся выстроить из ответа так называемую цепочку STAR (Situation/Task, Actions, Results). Если кандидат изначально об этом знает и рассказывает в такой последовательности то он точно будет намного ближе к цели чем кандидат который к этому не готов и будет плавать.

В течение 30 минут кодинга можно ожидать следующего. Например по задаче

Напишите set где каждый элемент имеет дату экспирации и удаляется.

от вас будут ожидать придумать решения с max/min heap или concurrent hash map,
придумать простейший garbage collector который время от времени будет удалять значения после экспирации, написать корректные public/private методы, предложить вариант для многопоточности, на senior позицию возможно придется придумать non-blocking решение с потоком выполняющим удаление элементов. От вас будут ожидать "правильных" вопросов типа "нужно ли пользователю давать доступ к методу удаления элементов после экспирации", неплохо будет написать тесты.
Совет - никогда не пишите в резюме знание языков на которых вы не сможете решить задачу. От вас могут потребовать решать на языке указанном в cv. Был свидетелем того, как кандидат не знал std::map хотя пол резюме у него было в с++. Большую часть времени он потратил вспоминая и в итоге пришел к std::HashMap
3. De-brief
Перед de brief вы заполняете feedback и голосуете - за/против. Для положительного ответа минимум трое рекрутеров должны проголосовать за. На debrief обсуждается решение. При равном счете кандидату будет отказ. Амазону дешевле не взять хорошего специалиста, чем нанять плохого.

Из советов

Лига программистов

1.5K постов11.4K подписчиков

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества