Рубрики

Amazon Интервью | Комплект 109 (в кампусе)

Амазонка посетила мой кампус несколько дней назад. Я не очистил финальный раунд Amazon, но меня выбрали в DE Shaw на следующий день после отказа от Amazon Amazon
Вот мой опыт интервью с Amazon.

Онлайн тур (проводится на HackerRank):
20 вопросов по MCQ и 2 вопроса по кодированию (без вопросов C ++, вопросов ввода-вывода C (очень сложные) и вопросов о способностях).
Вопросы по кодированию:
1. Объедините перекрывающиеся интервалы (очень известная повторяющаяся задача).
2. Учитывая односвязный список, вы должны вычитать значение первого узла из последнего узла и так далее, пока не достигнете среднего узла.
Например: ввод: 5 -> 4 -> 3 -> 2 -> 1
Выход: 4 -> 2 -> 3 -> 2 -> 1

Совет: Многие люди говорят, что сделать 1 код достаточно, чтобы очистить 1-й раунд, хотя это не так, я сделал так, что и коды, и многие из моих друзей, которые сделали только один код, были отклонены. Каждый, кто сделал оба кода, был выбран. Были некоторые студенты, которые прошли этот раунд, написав только один код, но не пытайтесь попытать здесь удачи, написав только один код — мое предложение.

Раунд 1 (Bar Raiser):
Завершите обсуждение моего проекта.
Предположим, у вас есть файл с миллиардом записей, и вы должны отсортировать данные файла по столбцу и можете поместить в память только этот столбец, а после этого заполнить вашу память.
например, ваш файл содержит
имя возраст адрес пин-код секс
… ..…. ………
И вы можете отсортировать файл в соответствии с Pincode, тогда вы можете только поместить Pincode в память.
Сначала я подошел к нему с помощью сортировки слиянием, но для этого требуется, чтобы весь файл был помещен в память. Затем я предложил использовать min heap, но он сказал, что процесс heapify из миллиарда чисел займет много времени. Он сказал, что вы приближаетесь, затем я предложил использовать сбалансированное бинарное дерево поиска для хранения Pin-кодов вместе с индексами, а затем перебрать BST по порядку и поменять местами индексы первого Pin-кода файла с индексом Inorder. элемент. Услышав это, он был счастлив и попросил меня написать код и быть осторожным с крайними случаями.
Я это сделал.

Раунд 2 (Основы CS)
Он хотел проверить мои знания о СУБД, ОС и компьютерных сетях. Спросил все, что связано с этой темой, включая все уровни сетей и от потоков процессов до взаимоблокировок и управления памятью в ОС. Задал SQL-запрос для поиска 3-х максимальных оценок ученика из базы данных. Я дал ему 2 решения 🙂.
Спросил меня мой любимый алгоритм сортировки. Мой фаворит — вставная сортировка, но я сказал ему сортировку слиянием, потому что я много знал о сортировке слиянием, поэтому я хотел привести интервью к сортировке слиянием, и, как и ожидалось, он задал много вопросов о сортировке слиянием, и я дал ему все ответы.
Он попросил меня построить дерево из заданного обхода дерева по предварительному и порядковому порядку, я сказал, что невозможно построить только из этих двух обходов, вы должны дать мне, чтобы построить уникальное дерево.

Раунд 3 (основы CS + кодирование)
Глубокая дискуссия о проекте.
Попросил меня выбрать мой любимый предмет, кроме какого-либо, связанного с кодированием или алгоритмами. Я сказал, что компьютерные сети. Он спросил, почему это ваш любимый? Почему не ОС или СУБД?
Он спросил меня, что происходит, когда вы набираете www.amazon.in в вашем браузере. Я ожидал этого вопроса: P. Я знал это, рассказал ему все.
Смотрите ссылки ниже для решения
Что действительно происходит, когда вы переходите на URL
Что именно происходит, когда вы просматриваете веб-сайт в браузере?
Что происходит при вводе URL в браузере
Он попросил меня решить проблему кодирования сейчас.
Предположим, мне дан отсортированный массив неизвестного размера, тогда как я буду эффективно искать элемент в этом массиве.
Я сказал, что могу увеличить int i на степень 2 и проверить, будет ли данный элемент arr [i]> искать всякий раз, когда я нахожу такой элемент, тогда я могу применить бинарный поиск между i / 2 и i. Он сказал, что этот подход будет работать, но что произойдет, если при увеличении i вы пересечете длину массива. Предположим, что массив имеет размер 6, тогда ваш i станет 8, а arr [8] выдаст значение мусора, чтобы ваша программа могла идти в бесконечном цикле. Я сказал, что могу увеличить i в блоке try, и всякий раз, когда происходит такой случай, я могу перехватить исключение в блоке catch, где я уменьшу i на 1.
Он улыбнулся и попросил меня написать код, заботясь о крайних случаях.

Раунд 4 (Кодирование)
Глубокая дискуссия о проекте, который был под защитой. Интервьюер попросил меня спроектировать базу данных приложения для чата, похожего на WhatsApp. Я сделал это и сказал, что если какой-нибудь злоумышленник получит доступ к базе данных, тогда я сказал, что буду применять шифрование md5 к телефонным номерам, затем он спросил меня, как работает md5. Почему только md5? Он спросил меня, что такое Человек в середине атаки, и попросил меня убрать человека в середине атаки из передачи сообщений. Он был впечатлен. 🙂
Затем он спросил меня, что такое кеш, почему кеш быстрый и чем он отличается от оперативной памяти и жесткого диска архитектурно. Это был вышибала, я ненавидел компьютерную архитектуру, признался, что я новичок в компьютерной архитектуре. Он засмеялся и сказал, слава богу, есть одна вещь, в которой вы начинающий. Я тоже смеялся 😀

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

    struct node {  int val;  
     struct node *left,*right,*random;
    }node; 

Если случайный указатель указывает на любой случайный узел двоичного дерева и может даже указывать на NULL, то как вы будете клонировать это дерево?
Это был виновный вопрос, который привел к моему отказу.
Я много думал об этом, но не смог решить это напрямую. Я сказал, что мы можем использовать хеш, затем он сказал, что если в дереве есть дубликаты, тогда ваш хэш потерпит неудачу, тогда я сказал, что мы можем преобразовать двоичное дерево в список ссылок с двойным расположением, а затем клонировать список ссылок с двойным числом, он сказал, что все в порядке, но Как вы будете генерировать оригинальное дерево из списка ссылок, я никогда не говорил, что оно сбалансировано. Я много размышлял здесь, орешек, да, я не мог решить это.
Я получил решение, попробовав его после собеседования. Вы можете легко клонировать левый и правый указатели, обходя дерево, и клонировать случайные указатели, вы можете применить это: newroot-> random = oldroot-> random; oldroot-> случайное = newroot;
Затем снова пройдитесь по новому дереву и поместите newroot-> random = newroot-> random-> random.

2. Найдите строку с максимальным количеством 1 с

Я решил это эффективно.

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

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

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

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

Amazon Интервью | Комплект 109 (в кампусе)

0.00 (0%) 0 votes