Мой опыт собеседования в Amazon

в 14:37, , рубрики: algorithms, Amazon Web Services, AWS, C#, interview, leetcode, system design, Алгоритмы, распределенные системы

О чём эта статья

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

Это история о моем опыте собеседования в Амазоне, почему мне в целом не понравилось по сравнению с другими FAANG. Так же тут будут ответы на “а что конкретно спрашивали на интервью, какие были задачки, что на систем дизайне было”, потому что мне не дали подписать NDA, все с пруфами, скринами и прочее.

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

Начало, предложение от Amazon

В один прекрасный день 6 сентября, мне пришел такой сообщение в Линкедин.

Мой опыт собеседования в Amazon - 1

Я согласился на собеседование. В то время, собеседование в Амазон состояло из трех этапов: 

  1. Онлайн задачки без интервювера

  2. Интервью с человеком 1 час

  3. Последний раунд интервью, который состоит из 5 интервью по часу каждый.

 

Мой опыт собеседования в Amazon - 2

Интервью в Амазоне

С начала понимания, что я буду собеседоваться в Амазоне, я сразу начал задротить литкод, потому что это наиболее слабая моя сторона по части этих интервью, как мне казалось, по крайней мере. Шло не очень хорошо, честно признаться, но понемногу шло.

Все интервью проводились онлайн из-за пандемию, то есть на последний раунд не надо ехать к ним на офис.

Теперь к первому этапу.

Первый этап (done)

Касательно первого этапа, на Хакерранке мне попались 2 задачи, из которых я решил только одну. Одно примечание, каждую задачу нужно было расписывать (то есть объяснить свой солюшн).

Уж простите за такие скрины, я тогда думал, что АВС может как-то узнать, что я заскринил. Далее будут нормальные.

Первая:

Мой опыт собеседования в Amazon - 3

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

Мой опыт собеседования в Amazon - 4

Второй Этап (first try)

Я думал, что если не решил все задачи – то точно не берут дальше, но тут приходит такой имейл:

Мой опыт собеседования в Amazon - 5

Я немного удивился, но порадовался. 

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

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

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

Из его слов я узнаю, что интервью будет на поведенческие вопросы (ни одно интервью на Амазоне не бывает без них) и на знание Линукса и нетворков. Я, как заядлый дотнетчик, юзер виндовса со своих 4 лет, имел очень небольшой опыт Линукса когда нужно было что-то делать на он-премис тачках, хотя по нетворкам и был некоторый опыт, и то теоретический, из книг.

То интервью я не записал на видео, но записал пару вопросов, если кому интересно:

  1. Как удалить файл на линуксе

  2. Если вы удалили файл, но видите, что память не освобождена - что делать?

  3. Вы начали понимать, что у вас на машине нет интернета - что будете делать?

  4. Как в линуксе достать файл с наибольшим весом?

  5. Как передать аут из одной команды в другую в Линуксе

  6. У вас на сервере закончилась память на диске, как будете траблшутить?

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

Ну и одно запомнил поведенческое: Расскажите про ситуацию, когда у вас была не комфортная таска, и как вы это преодолели?

Спустя пару дней - мне пришел ответ, что я не прошел это интервью.

Мой опыт собеседования в Amazon - 6

Но, потом пришел еще один имейл:

Мой опыт собеседования в Amazon - 7

И, конечно же, я согласился. Это топ 1 карьерная амбиция - побывать на ФААНГах.

Второй этап (second try, done)

В этот раз, была такое же собеседование, но теперь интервьюер просто задавал поведенческие вопросы по типу: «расскажите мне о ситуации, когда у вас было недержание, а у вашего коллеги запор, как вы решили ваш конфликт, и какой импакт это дало на проект». Само собой, я утрирую, но за все собеседования такого типа вопросов было задано около 40-50 (смотрите 3 этап), как по мне - это уже перебор.

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

Подготовка, Литкод, книги

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

Если коротко, я решил 114 задач на Литкоде, даже записал этот момент перед интервью.

Прочитал “System Design Interview” которая не очень мне понравилась, и перечитал “Designing data-intensive applications” Мартина, она как всегда - великолепна.

Третий этап (reject)

Фидбек с того интервью Амазон дает по телефону лично, что немного меня удивило, и я буду рассказывать про все 5 интервью с позиции анализа фидбека. 

Систем дизайн

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

Потом я нашел его в Линкедине, и у него там 14 лет на IBM и еще довольно много на АВС, в общем, для меня это было честью и удовольствием собеседоваться с таким человеком и тем более в вопросах архитектуры.

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

Вот мой солюшн, очевидно, он не идеален, но вроде бы в требования вписывается:

Мой опыт собеседования в Amazon - 8

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

Первый кодинг

Было где-то 5-6 поведенческих вопросов и тривиальная задача: найдите файл с заданным расширением и с заданным размером.

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

Мой солюшн:

Мой опыт собеседования в Amazon - 9

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

Первое поведенческое интервью

Да-да, целый час мне задавали вопросы по типу: “расскажите мне о ситуации, когда у вас было недержание, а у вашего коллеги запор, как вы решили ваш конфликт, и какой импакт это дало на проект”. И их за один час задают где-то  8-13. 

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

Но, тем не менее, это интервью я тоже прошел вроде как окей.

Второй кодинг, или как меня опустили

С самого начала, человек, который проводил интервью, был не очень то радостным. Я спросил, как вы (простой этикет), и мне ответили что-то в роде “как всегда, ни на что не хватает времени, но держусь”.

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

Мой опыт собеседования в Amazon - 10

В процессе моих вопросов, по интонации и ответах мне казалось, что он просто параллельно делает что-то по работе.

Где-то на 20-ой минуте меня внезапно останавливают: “unfortunately we run out of time”. И начинаются 3-4 поведенческих вопросов с уточнениями.

Теперь самое интересное. За 20 минут до интервью мне дают еще одну задачу. 

Мой опыт собеседования в Amazon - 11

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

Зная, что ту простую с Литкода я решил где-то за 40 может 60 минут, и, видя, что до завершения интервью осталось 20 минут, я начал переживать, и так и не додумался до солюшна вообще. 

Мой опыт собеседования в Amazon - 12

Это то, на чем я закончил (это неверный солюшн, если что), меня попросили написать комплексити хотя бы того, что я написал, но, даже не дослушав, что я говорю, оборвали тем же “unfortunately we run out of time”.

Будем честны, если это то, что ожидалось от меня, то я явно не тяну, потому что это не мой уровень додуматься до такой задачи за 20 минут (задавая уточняющие вопросы, рассказывая свой солюшн, написав его и сделав мемори и тайм комплексити анализ).

Второе поведенческое интервью

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

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

Фидбек

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

Выводы

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

Есть даже такая шутка, что на весь Амазон, для каждого человека можно найти интервью луп (5 людей) которые его бы не взяли. И это вроде как не только про Амазон. 

Все, что я здесь описал - я также рассказал в своём видео, если кто не хочет читать.

Спасибо за внимание, жду фидбеков!

Автор: Andrii Bui

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js