Опыт собеседования с Amazon | Набор 261 (для SDE1)
У меня был опыт работы около 1 года и 9 месяцев.
Телефонное интервью:
Все началось с краткого знакомства со мной и моей работой. Затем он задал мне вопрос по кодированию
1) Учитывая связанный список, например: 1-> 2-> 3-> 4-> 5-> 6, внесите следующие изменения 1-> 6-> 2-> 5-> 3-> 4
Легко, но долго. Пришлось написать код производственного уровня.
Через 2-3 часа меня пригласили на домашнее собеседование в кампусе Amazon:
Раунд 1: Лицо 2 Лицо
Все началось с обсуждения моих предыдущих работ и проектов. После обсуждения он задал следующие технические вопросы:
1) Учитывая предварительный обход, построить двоичное дерево поиска.
Простое решение. Попросил меня его закодировать.
2) Учитывая чужой словарь, найдите порядок алфавитов в словаре.
Требовался только подход. Я объяснил ему подход, и он остался доволен. В любом случае вот ссылка на код:
https://www.geeksforgeeks.org/given-sorted-dictionary-find-precedence-characters/
3) Соедините n веревок с минимальными затратами
Меня попросили написать код производственного уровня для решения указанной выше проблемы.
Раунд 2: лицом к лицу
Интервью снова началось с обсуждения моих проектов, а затем он задал технический вопрос.
1) Учитывая m отсортированных массивов с n элементами, объедините эти массивы в один отсортированный массив размером m * n
Я слышал об этом вопросе раньше, но никогда не видел оптимизированного решения, поэтому я дал решение O (m * m * n). Он попросил меня оптимизировать его, но я не смог этого сделать, поэтому он попросил меня закодировать решение O (m * m * n). Я потратил много времени на его кодирование, так как хотел обработать все крайние случаи. Наконец я его закодировал. Он не обнаружил никаких проблем, но попросил меня исправить это. Затем я предложил использовать кучи, чтобы получить минимум всех m массивов.
Куча вопросов, почему куча, а почему не BST. Попросил доказать это математически.
Но он остался доволен, когда я дал решение с использованием кучи.
Повышение штанги в 3-м раунде: телефонная связь
Обсудили мои предыдущие проекты и задали некоторые поведенческие вопросы, например, почему вы уходите из нынешней компании, конфликты с вашим менеджером и т. Д.
Технические вопросы:
1) Найдите максимальный элемент в массиве, который сначала увеличивается, а затем уменьшается
2) Найдите тройку Пифагора в массиве
Дали решение O (n3), затем сделали его O (n2logn). Он попросил меня еще больше его оптимизировать.
Наконец придумал решение O (n2).
3) Учитывая очень большое двоичное число, которое не может быть сохранено в переменной, определите остаток от десятичного эквивалента двоичного числа при делении на 3.
Я понятия не имел об этом вопросе. Он дал мне подсказку, с помощью которой я смог ее решить. Но позже он попросил меня найти остаток для любого числа k. Он снова намекнул, и я смог ее решить.
Обычно, когда мы добавляем цифру к двоичному числу, предыдущее двоичное число удваивается, следовательно, остаток также удваивается.
Например: 101 -> 5 1010 -> 2 * 5 + 0 = 10 1011 -> 2 * 5 + 1 = 11 Если k = 3, то 5 = 1 * 3 + 2 2 * 5 = 2 * 3 + 2 * 2 Следовательно, остаток будет (2 * 2 + 0)% 3 = 1 для 1010 Аналогично для 1011 остаток будет (2 * 2 + 1)% 3 = 2
Отслеживая остаток от предыдущего двоичного числа, можно определить текущий остаток.
Менеджер по найму в 4-м раунде: лицом к лицу
Вопросы о поведении и некоторые вопросы о моих предыдущих проектах.
Затем он задал мне технический вопрос:
1) Для числа, скажем, «1234», верните число прописью, например, одна тысяча двести тридцать четыре.
Смог охватить все сценарии. Он остался доволен моим подходом
Предложения:
Думайте громко и будьте уверены. Ничего страшного, если сначала ты не знаешь ответа. В основном они видят, как вы решаете вопросы, решения которых не знаете.
Спасибо geeksforgeeks. Вы, ребята, делаете отличную работу.
Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью и отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше
Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию . Если вы готовы, проверьте свои навыки с помощью серий тестов TCS, Wipro, Amazon и Microsoft.