Как получить работу в Amazon

0
4140

Рассказ выпускника Стэнфорда о том, как получить работу в Amazon, до этого провалив каждое собеседование. Предлагаем историю его успеха и советы по подготовке.



Я изучал CS в Стэнфорде. Вы, вероятно, полагаете, что я утопал в предложениях о работе. У меня было много собеседований на первом и втором курсе, и я провалил каждое из них. Но это не были провалы в духе «он хороший специалист, но другие лучше». Больше было похоже на «Почему мы его вообще рассматриваем?».
Например, я тормозил на таких простых вопросах, как написание рекурсивной функции, которая бы сгенерировала все перестановки набора чисел (и это при том, что нас учили этому на втором уроке курса).

В середине собеседования, интервьюер, казалось, сдавался. А несколько дней спустя я получал ужасающее письмо: «Спасибо за проявленный интерес».

«Может, это просто не мое», говорил я себе. Я был отличником, но этого хватало только для получения приглашения на собеседование, где я с треском проваливался. Все мои друзья, казалось, легко расправлялись с ними, проходя стажировки в Google/Facebook/крутом стартапе в силиконовой долине. Может кто-то кому-то раздавал работу, но очевидно не мне.

К концу первого курса у меня уже не было времени жаловаться на то, как несправедливо было техническое собеседование или то, что я оставался не у дел из-за того, что никогда не был лучшим в программировании. Я начал работать через CTCI (Cracking the Coding Interview) и EPI (Elements of Programming Interviews). Вначале я всегда читал задание, но затем неизбежно возвращался к ответу, потому что не знал, как его решить. В конце концов, я мог решить легкие задачи, средние и т. д.

В результате я получил вот это письмо:

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

Итоги:

  • Прохождение собеседования – это навык, которому можно научиться
  • Составьте систему подготовки к собеседованиям

Моя система подготовки:

  • Каждый день решайте, как минимум одну задачу из книги/сайта, перечисленных ниже. По мере приближения даты собеседования (за 2 недели), я бы порекомендовал делать 3-5 заданий в день.
  • Возьмите маркерную доску (или ручку и бумагу). Говорите в слух или записывайте все, что говорите (недостаточно решать задачу только в голове)

Советы по решению задач:

  • Устанавливайте время, за которое вы должны решить задачу, как бы это было на собеседовании (Обычно я даю себе полчаса)
  • Решая задачу, думайте о тех вопросах, которые бы помогли разъяснить задание
  • Набросайте общий план решения до того, как начнете писать код
  • После написания кода, подумайте, как вы можете протестировать его
  • Сравните свой код с решением и посмотрите, чем они отличаются

Использованные книги:

Использованные сайты: