Как пройти процесс найма на Amazon

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

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

Важно отметить, что описанные здесь шаги - это шаги, которые я предпринял, и ваш опыт может немного отличаться. То, что сработало для меня, может не сработать для вас, и наоборот. Кроме того, я не буду вдаваться в подробные подробности специфики вопросов на собеседовании, поскольку это будет несправедливо по отношению к Amazon и, вероятно, в некотором роде нарушит NDA.

Шаг 0: подготовка

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

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

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

И хотя на ранних этапах оценки это не кажется особенным, понимание временной и пространственной сложности является жизненно важным навыком.

Существует множество бесплатных онлайн-ресурсов, которые помогут вам научиться разбираться в вопросах, которые вам задает Amazon. Мой любимый практический инструмент - Leetcode, в котором есть бесчисленное количество вопросов, которые были заданы в реальных интервью. Другой популярный ресурс - похожий инструмент Hackerrank. Если все структуры данных, которые я упомянул, кажутся вам чуждыми, не волнуйтесь! Вероятно, лучше всего начать с более академического подхода. Cracking The Coding Interview - моя любимая книга по подготовке к собеседованию, и в ней есть сотни практических задач.

Шаг 1. Подать заявку

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

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

Подготовьте свое резюме, найдите онлайн-ресурсы и получите отзывы от коллег и наставников! Когда вы будете готовы, вы можете подать заявку онлайн. Если вам повезло, что вас порекомендуют, вы, скорее всего, получите ответ в течение нескольких дней. Если нет, то почти ничего не сказать. Когда я впервые подал заявку, меня не продвинули вперед до весны 😅. Для меня весь процесс занял около месяца, что кажется вечностью, особенно когда ты взволнован!

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

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

Шаг 2: Предварительный экран №1 🐛

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

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

Не вдаваясь в подробности (не хочу портить удовольствие 😉), вы потратите большую часть своего времени на поиск и исправление ошибок в коде, уже написанном на выбранном вами языке Java, C ++ или C. сначала, но не волнуйтесь. Я потратил 80% своего времени еще до того, как нашел свою первую ошибку, но как только я обнаружил и исправил ее, все остальные сразу стали для меня очевидны. Большинство людей пытаются слишком долго обдумывать этот этап, но на самом деле это всего лишь тест, чтобы проверить, знакомы ли вы с программированием!

Шаг 3: Предварительный экран №2 🤔

Если вам удалось исправить «достаточно» ошибок в первом тестировании, через несколько дней вы получите электронное письмо с инструкциями по второму экзамену. Никто не совсем уверен, что такое «достаточно». Я решил все из них и слышал о людях, которых подталкивали к решению 75% из них.

В этом разделе вас попросят решить задачи, похожие на головоломки, используя на ваш выбор Java, Python, C, C # или C ++ (техническая часть собеседования). После нескольких из них вы пройдете через имитацию «рабочего стиля», которая составляет поведенческую часть собеседования.

В этой части рабочий ответ кажется более важным, чем эффективность. Очевидно, если вы можете делать и то, и другое, СДЕЛАЙТЕ ЭТО. Но у меня было только время реализовать решения грубой силы, которые прошли большинство (несколько надоедливых) тестовых случаев - и это все равно помогло мне!

На этом этапе есть вопросы, которые соответствуют тому, что Leetcode обычно классифицирует как «средние» проблемы, и, вероятно, их будет около трех. Если вы можете быстро решать задачи среднего уровня на Leetcode, это не будет для вас проблемой. Если они кажутся вам сложными, потренируйтесь и постарайтесь сделать все возможное!

Шаг 3: Предварительный экран №3 ⏱

Эта последняя часть очень длинная, по оценкам, на выполнение нужно 2,5 часа. Он состоит из моделирования рабочего дня и логического теста.

Симуляция рабочего дня на самом деле одновременно веселая и напряженная. Это очень похоже на игру, когда вы оцениваете, как вы действуете под давлением. Вам будут представлены проблемы (например, невыполнение сроков, ошибочный код, высокомерные коллеги), и вас спросят, как вы отреагируете. Важно, чтобы вы были честны, и если ваши ответы соответствуют руководящим принципам Amazon, вы, скорее всего, не пройдете мимо.

Последняя часть - это тест на логику, который во многом похож на то, что ACT родила ребенка с помощью теста Mensa. Скорее всего, он разработан для того, чтобы понять, как вы думаете, но подготовиться к нему очень сложно! Если вы действительно хотите почувствовать, на что это будет похоже, потренируйтесь с помощью забавных тестов логики / IQ в Интернете.

Шаг 4: Заключительное интервью 🙌

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

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

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

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

Если вы нашли это полезным на вашем карьерном пути, дайте мне знать, сбросив застежки 👏 или подписавшись на меня здесь или в твиттере!