«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Мой опыт собеседования в Amazon SDE — 4 мая

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

Опубликовано 8 ноября 2024 г.
Просматривать:906

Мой опыт прохождения собеседования в Amazon SDE – май 2024 г.

В мае 2024 года у меня была возможность пройти собеседование на должность инженера по разработке программного обеспечения (SDE) в Amazon. Все началось с того, что рекрутер связался со мной через LinkedIn. Я был приятно удивлён, ведь это всегда волнительно.

Как все началось

Рекрутер был профессионален и понятен, рассказав мне всю необходимую информацию о процессе и должности. Обменявшись несколькими сообщениями, я получил тестовую ссылку на первый раунд собеседования, которое представляло собой оценку кодирования. Оценка проводилась на HackerRank и включала два вопроса по программированию.

Первый раунд – тест по кодированию

Вопросы были простыми, но немного длинными. Вот разбивка:

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

2. Второй вопрос: обработка массива со статусом развертывания

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

My Amazon SDE Interview Experience – May 4
Оба вопроса я решил с помощью JavaScript и был уверен, что мои решения прошли все тестовые случаи, включая скрытые.

Amazon, как правило, продвигает кандидатов вперед в процессе, если они решают все вопросы по кодированию и проходят все тестовые случаи.

После этого ему позвонил рекрутер и сообщил, что он продвигается к процессу собеседования, и это будет собеседование на месте. У меня было 5 дней на подготовку.

Я работаю удаленно последние 3 года и никогда не был в офисе, поэтому меня больше пугал офис, а не собеседования ??

Дальнейшие раунды собеседований

Я пошел в офис Amazon, там уже было несколько кандидатов. Мы все пошли на собеседования. В тот день у меня было 3 технических собеседования.

1. Раунд устранения неполадок

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

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

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

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

2. Раунд DSA

Следующим раундом было глубокое погружение в структуры данных и алгоритмы (DSA). На этот раз моим интервьюером был старший SDE в Amazon. Она поприветствовала меня листом бумаги и задала довольно большой и сложный вопрос. Прочитав его, я быстро понял, что основная цель — найти кратчайший путь в графе. Проблемы такого типа часто встречаются на собеседованиях, но могут усложниться, если речь идет о крайних случаях, которые она обязательно включила.

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

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

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

Я написал решение на основе псевдокода, но оно не было полностью оптимизировано. Она дала мне несколько тестовых примеров, и хотя мой код работал успешно примерно в 80% из них, все же были крайние случаи, которые не увенчались успехом. В этот момент я начал нервничать, и она это заметила. К счастью, она дала мне полезный совет, и я попытался оптимизировать свое решение дальше. Несмотря на все мои усилия, мне не удалось полностью найти решение, вероятно, из-за моих нервов.

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

3. Раунд проектирования системы

Заключительным этапом дня было собеседование по системному дизайну, и это была, безусловно, самая напряженная и изнурительная сессия. Интервьюер был частью архитектурной команды Amazon, и с самого начала я мог сказать, что этот раунд будет непростым. Мы начали с обсуждения моего резюме, сосредоточив внимание на моих прошлых проектах и ​​дизайнерских решениях, которые я принял на предыдущей работе. Он задал несколько вопросов об архитектуре систем, над которыми я работал, вникая в детали моего выбора дизайна и компромиссы, которые я сделал.

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

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

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

Интервьюер продолжал предлагать разные сценарии — что, если видеосервер выйдет из строя? Как бы вы справились с перегрузкой сети? Как обеспечить низкую задержку для студентов в разных географических регионах? Каждый сценарий требовал подробного ответа, и я полностью погрузился в обсуждение возможностей и шаблонов проектирования.

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

Итак, я пошел в офис Amazon в 9 утра и вышел в 17:00 вечера. Все мои раунды были завершены, и рекрутер сказал, что он переходит к управленческому раунду, который еще не запланирован.

My Amazon SDE Interview Experience – May 4

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

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/naweli_verma/my-amazon-sde-interview-experience-may-2024-3nf6?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3