Рубрики

Amazon Интервью | Комплект 8

Недавно я брал интервью у amazon на должность SDE1 в их команде TRMS. Процедура собеседования была невообразимой строгой.

Вот подробности

Раунд 0: Письменный Раунд

Interviewstreet Test — 2 вопроса, которые нужно сделать за 2 часа

Q1 : Рассчитайте выражение (2 + 3) * 5 .. Вопрос только что сказал это .. Я думаю, что мы должны были сделать наши собственные предположения, чтобы решить проблему

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

например

—4

—2-6

-1-3-5-7

и

—4

—6-2

-1-3-7-5

изоморфны .. деревья похожи, и у нескольких узлов их левый и правый потомок поменялись местами …

По данным двум деревьям определить, изоморфны ли они …

Собеседники отметили решение моего первого вопроса неверным, даже когда оно работало нормально. Когда я рассказал HR о ситуации, она проверила его с некоторыми амазонками, и они были в порядке.

Я очистил письменный тест.

Телефонное интервью 1

Q1 : найдите K-ое наибольшее целое число в дереве двоичного поиска . Когда я рассказал ей решение, подобное тому, которое дано для гиков для гиков, она попросила меня сделать это с помощью рекурсии.

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

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

Телефонное интервью 2

Q1 : Двоичное дерево поиска дается с двумя взаимозаменяемыми узлами. Я должен был найти оба узла.

Q2 : Определите все пифагоровы триплеты в данном массиве.

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

Личное интервью 1

Q1 : Найти сумму непрерывного подмассива в одномерном массиве чисел, который имеет наибольшую сумму. Я не знал решения ( алгоритм Кадане ), но каким-то образом мне удалось выработать его в интервью … интервьюеру понравилось мой способ приближения и немного помог

Q2 : Как лучше всего реализовать очереди, используя стеки . Какова будет сложность времени?

был в состоянии сделать это быстро.

Личное интервью 2

Q1: Найти неуникальные символы в заданной строке. Я сказал ей один подход O (n ^ 2) [грубая сила], один O (n logn) [отсортировать и затем сравнить соседние элементы] и один O (n) [сохранить количество символов в массиве]. Затем она попросила меня сделать это в O (n) без использования массива.

Не зная, она наконец сказала мне, что хочет, чтобы я использовал BIT Vector. Я не очень хорошо общался с Бит-Векторами, и я сказал ей об этом. Она все еще просила меня подумать. Наконец она рассказала мне решение, использующее то же самое, что было невозможно думать в одном интервью, особенно когда никто не знал, что такое BIT Векторы. Она согласилась, когда я изложил свою точку зрения, и принял мое предыдущее решение O (n), и мы перешли к следующему вопросу.

Q2: Учитывая массив целых чисел, заполните другой массив произведением элементов первого массива за исключением текущего элемента индекса.

Здесь, когда я дал ей решение O (n) [найти продукт и разделить его с текущим элементом, чтобы получить число для этой позиции индекса], она попросила меня сделать это без оператора деления. Дали ей решение O (n ^ 2). Но я не мог думать лучше. Наконец, когда она начала рассказывать мне подход «O (n)», я вспомнил решение этой проблемы geeksforgeeks и дал его ей. Вероятно, она не учла это. (точно не знаю)

Личное интервью 3

Это интервью было с менеджером по найму в Amazon. Сначала он задал мне несколько кадровых вопросов, например, почему Amazon? Почему мы должны нанять вас? Проекты, стажировки и т.д ..? Как бы вы справились с разногласиями со своими товарищами по команде? И так далее …

Затем он задал мне вопрос программирования.

Q : Он нарисовал на доске кружок и отметил на нем несколько точек. Названы их X1, X2, X3 ..

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

(Извините, но мне придется подробно описать это, чтобы рассказать вам, как это было сделано для меня … и, конечно, внести большую ясность в сам вопрос …)

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

Почему у машины кончится бензин после заправки, скажем, на первой заправке?

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

Так может ли машина заправиться на следующей доступной заправке, если она сможет это сделать?

да

Есть ли у нас информация о количестве газа, необходимого для того, чтобы попасть из одного бензонасоса в другой?

да

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

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

Доступное топливо: X1, X2, X3, X4, X5

Топливо, необходимое для достижения следующей станции: Y1, Y2, Y3, Y4, Y5

Он сказал хорошо, и попросил меня идти вперед.

Затем я взял разницу (Y1-X1), (Y2-X2) … и сохранил ее в массиве … и вдруг мне пришло в голову, что это стало простой проблемой поиска максимальной суммы непрерывного подмассива в массиве (круговой). Ему понравился мой подход и попросил, чтобы я запрограммировал его. Сделал это и показал ему пробную версию кода, который я написал. Он был в порядке с этим.

(Я чувствовал себя хорошо после собеседования, потому что там я вообще не споткнулся ..)

Личное интервью 4

Q1: У нас есть огромный файл с фигурными скобками '()' [только один тип ..] Найдите, если они сбалансированы … (стеки здесь не сработают, потому что у вас, вероятно, не хватит памяти для хранения стека …) Когда я дал ему другое решение, он попросил меня сделать это, используя параллельные процессы. Я сказал ему, чтобы уточнить больше .. (честно говоря, я не был знаком с параллельными процессами) .. Наконец я сказал ему об этом .. и он попросил меня подумать об этом еще ..

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

Q2 : найдите самую маленькую подстроку, которая содержит все символы основной строки. Опять же, у меня нет решения для этого. Я дал ему подход O (n ^ 2). Он попросил меня подумать дальше, потому что то, как я подходил, было способом решения этой проблемы, и я могу использовать последнее полученное вспомогательное решение, чтобы улучшить свою сложность. Ничего не мог придумать, мы наконец перешли к третьему вопросу.

Q3 : учитывая числитель и знаменатель дроби, найдите частное и остаток без использования операторов split и mod ('/', '%'). Это было просто. Я это сделал. Затем он попросил написать инвариант моего решения, который был знаменатель * частное + остаток = числитель.

Затем он попросил меня подумать о случаях, когда числитель и знаменатель или оба отрицательные. Мы были почти вне времени, поэтому он не дал мне времени подумать и закончил интервью. Он хотел, чтобы я написал инвариант, который был верным независимо от ввода. Теперь, когда я думаю об этом, я должен был сказать | знаменатель | * частное + остаток = | числитель |

Улетел домой ночью.

Через 2 дня HR сообщил мне, что я этого не сделал. In

Это было, наверное, самое сложное из всех моих интервью.

Надеюсь, это поможет некоторым из вас ..

Спасибо ganglu за то, что поделились опытом интервью с Amazon. Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Все проблемы с практикой для Amazon !

Напишите свой опыт интервью или отправьте его по электронной почте на адрес contrib@geeksforgeeks.org

Рекомендуемые посты:

Amazon Интервью | Комплект 8

0.00 (0%) 0 votes