Рубрики

Amazon Интервью | Набор 28

Привет, я недавно проходил собеседование на должность SDE1 в Amazon, Хайдарабад, но не смог справиться. Хотя я не был выбран, но это был хороший опыт, и GeeksforGeeks был очень полезным.

Ниже были вопросы интервью
У меня был один письменный раунд и один телефонный раунд до 4 очных интервью в Хайдарабаде.

Раунд 1 (Письменный):
Было четыре вопроса, которые должны были быть представлены в течение двух часов. Вопросы были:
1. Для заданной строки символов отобразите символы, которые встречаются в этой строке более одного раза.
2. Поверните матрицу на 90 градусов вправо
3. Конвертировать BST в DLL.
4. Найти k-й по величине элемент в данном BST.

Раунд 2 (телефонный):
1. Первый вопрос состоял в том, чтобы получить два числа от BST, чья сумма была равна k . Я ответил на это с помощью обхода предзаказа, чтобы получить отсортированный массив, и затем, начиная два индекса с обоих концов, чтобы найти, существуют ли два элемента с суммой в k или нет. Затем он спросил, может ли это быть решено без использования массива или дополнительного пространства. Я попытался решить эту проблему путем обхода с двух концов дерева в режиме eoder и обратного предзаказа, и это заняло некоторое время для кодирования. Пробный прогон кода казался правильным, но я не был уверен. В любом случае, лучший способ не использовать дополнительное пространство — преобразовать дерево в DLL (в пространстве) и использовать ту же технику, что и в массиве.

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

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

Два дня спустя мне позвонили, что я очистил свой телефонный раунд и должен присутствовать в Хайдарабаде для дальнейших раундов (четыре). Договоренности сделали мой Amazon, и я появился для дальнейших раундов 27/4/2013 в их офисе в Хайдарабаде.

Местный:
Раунд 1 (Технический):
1. Первым вопросом было найти вертикальную сумму бинарного дерева. Я сказал ему решение, используя и массив / хэш. Когда бы мы ни двигались влево, мы уменьшали индекс, а двигаясь вправо, мы увеличивали индекс. Решение выглядело хорошо для него, но он не был очень доволен отрицательной индексацией. Поэтому он попросил другое решение, используя двусвязный список. Первоначально я не получал его, но когда он дал намек, я решил решить эту проблему, но потребовалось некоторое время, чтобы покрыть крайние случаи. С окончательным решением он выглядел убежденным.

2. Следующий вопрос состоял в том, чтобы иметь операции стека Push, Pop и FindMax за O (1) раз . Я начал делать это, используя только один индекс максимальной переменной, но потом понял, что мне нужен максимальный индекс на всех уровнях, поэтому дал ему решение с использованием двух стеков. У одного есть элемент, а у другого соответствующий максимальный индекс. Он выглядел убежденным с решением.

Раунд 2 (Технический):
1. Во втором раунде было два интервьюера, и по совпадению один из них был тем же самым парнем, который взял мое телефонное интервью. Первый вопрос касался того, как выбирать список «связанных» товаров, когда продукт отображается на веб-сайте Amazon. проблема заключалась в том, чтобы найти наименее связанный продукт для данного продукта. Первоначально я ответил, используя n-арное дерево, но сказал ему, что у нас будут повторяющиеся записи. Он попросил оптимизировать решение, поэтому я предложил использовать орех списка примыканий, наконец понял, что его можно решить с помощью графиков. Их убедили и попросили кодировать. Я решил это, используя Очередь, поэтому, обходя матрицу, мы помещали элементы в очереди с их уровнем связи. Они были убеждены в решении.

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

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

3 тур (технико-управленческий):
1. Следующим интервьюером был старший парень и спросил меня о моей работе. Объяснил его в деталях.

2. Позже он попросил меня, чтобы для заданного двоичного дерева, имеющего три адресных поля, т. Е. Преемника left, right и bfs, были заполнены левые и правые поля и поле преемника было заполнено. Я решил это, используя обход уровня порядка с очередью, но он хотел решения без использования дополнительного пространства. Я нашел время, чтобы решить эту проблему, когда он дал намек на то, чтобы следить за родителем. После этой подсказки я смог решить ее с несколькими пропущенными условиями, но с его помощью я смог дать рабочий код (как он и я смотрел).

Раунд 4 (Технико-управленческий):
1. Было два интервьюера. Первым вопросом было рассказать мне о себе и своей работе.

2. Учитывая матрицу am * n, нам нужно найти количество способов, с помощью которых бот может добраться до блока (m-1, n-1), если бот может двигаться только вправо и вниз, начиная с (0,0). Я дал ему решение, используя DP. Постройте дерево рекурсии, показывающее окончательное решение. Он не просил кодировать, но попросил найти отношение повторения. Я застрял, я не знаю почему. Я думаю, это было начало упадка. он дал несколько подсказок, и я наконец-то смог написать это.

3. Для заданного двоичного дерева и ключа обрежьте дерево со всеми путями (от корня до листа), сумма которых меньше или равна k. Я смог решить это с некоторым намеком. Решение выглядело убедительным.

Через четыре дня мне пришло письмо, в котором говорилось: « К сожалению, в настоящее время мы не можем выдвинуть вашу кандидатуру. Тем не менее, ваши учетные данные очень впечатляют, и мы хотим сохранить ваши данные в нашей активной базе данных. Мы свяжемся с вами, как только появится еще одна подобная возможность ».

 

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

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

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

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

Amazon Интервью | Набор 28

0.00 (0%) 0 votes