Рубрики

Amazon Интервью | Набор 114 (в кампусе для стажировки)

Недавно Amazon India посетила наш кампус за 2 месяца стажировки. Было три раунда

2 онлайн-вопроса по кодированию + 20 MCQ

Вопросы MCQ были в основном 6-7 вопросов о структурах данных, 7-8 программ вывода языка C, 4-5 вопросов об общих способностях, вероятности, перестановке и комбинациях.

Два вопроса были:

а. Учитывая набор интервалов, вы должны сгруппировать перекрывающиеся интервалы и отобразить все интервалы в неубывающем порядке.
Например: (1,5), (8,11), (3,6), (10,20)
Выход: (1,6), (8,20)
Совет: Хотя это очень простой вопрос и его можно найти на многих онлайн-порталах, просто помните, что данный ввод представлен в виде строки, и его необходимо тщательно проанализировать.
Для этого вместо преобразования строки в целые числа вы можете использовать что-то вроде

while(scanf("(%d,%d),",&a,&b))
{
//store a and b as you wish to
}

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

eg: -5,-2,5,2,4,7,1,8,0,-8
output: -5,5,-2,2,-8,4,7,1,8,0

Опять же, для ввода вы можете использовать вышеупомянутую технику.

Около 20 из 150 студентов были отобраны после этого тура для личных интервью.

Ниже приведены интервью двух из нас.

Person1:

КРУГЛЫЙ 1:

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

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

2. Учитывая массив размером 2n + 1, где n целых чисел повторяются два раза, а одно целое число встречается только один раз, найдите это целое число. Я сказал ему, используя XOR. Затем он изменил вопрос на
Дан массив размером 2n + 2, где n целых чисел повторяются 2 раза, а 2 целых числа встречаются только один раз. Найди их обоих. Это также можно сделать с помощью XOR. Вы можете найти решение в разделе массивов Geeks для Geeks

3. Для любого бинарного дерева, в котором все листья имеют свои левый и правый указатели, связанные в двусвязном списке слева направо, вместо указания на NULL. Кроме того, левый указатель левого листа указывал на сам этот узел, а правый указатель правого листа указывал на сам этот лист, и если был внутренний узел без левого или правого дочернего элемента, этот конкретный указатель будет указывать на сам этот узел.
Вам нужно найти Inorder Traversal дерева.
Как только я рассказал ему о подходе, он снова попросил меня написать код на бумаге.

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

РАУНД 2:

1. Он подробно спросил меня о моих проектах в течение 15 минут.

2. Затем он спросил меня о предметах, которые я изучал в 3-м и 4-м семестрах.
Я забыл, что все предметы, которые я изучал 😀 😀 😀
Первой темой, которая пришла мне в голову после долгих размышлений, было программирование на Unix Linux. Затем он попросил меня написать все команды, которые я знал, за 5 минут. Я перечислил почти 20. Он спросил меня функции некоторых из них и различия между некоторыми из них.

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

Человек 2

КРУГЛЫЙ 1:
1. Учитывая односвязный список и целое число k, мне пришлось написать код, чтобы обратить список в пары k, также обрабатывая все базовые случаи.
например. 1-> 2-> 3-> 4-> 5-> 6-> 7-> 8 k = 3
о / п 3-> 2-> 1-> 6-> 5-> 4-> 8-> 7
Она на самом деле пробовала мой код в нескольких базовых случаях, пытаясь найти ошибки.

2. Учитывая 2 массива, один из которых имеет размер n, а другой — размер (n + k), но с заполненными значениями k, меня попросили объединить два во второй массив без использования дополнительного пространства. Я быстро объяснил ей логику, и мы перешли к следующему вопросу.

3. По заданной строке символов найдите индекс первого повторяющегося символа в строке.
например. abcba
o / p: 0 (как «а» появилось раньше, чем «б», хотя оба повторяются дважды).
Опять код без ошибок был необходим.

4. Затем она задала мне вопросы об исследовательском проекте, над которым я сейчас работаю. Это продолжалось еще 10-15 минут.

РАУНД 2:
1. Этот раунд начался с вопросов по моему исследовательскому проекту. Затем он спросил меня, какие структуры данных мне нравятся. У нас была долгая дискуссия о кучах и связанных с этим временных сложностях.

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

3. Учитывая целое число n, сколько BST вы можете сделать с n без узлов ?
Я рассказал ему о каталонском числе и прямой формуле — 2 ^ n — n. Но он хотел получить деривацию, поэтому я построил повторение и показал ему DP, чтобы оценить его.

4. Учитывая n человек, вам говорят все пары людей, которые принадлежат к одной стране. Вы должны указать количество пар людей, которые не принадлежат к одной стране,
Я выразил это как график и применил dfs, чтобы получить количество подключенных компонентов и размер каждого. Тогда это была простая формула без каких-либо компонентов.

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

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

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

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

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

Amazon Интервью | Набор 114 (в кампусе для стажировки)

0.00 (0%) 0 votes