Рубрики

Microsoft IDC Интервью Опыт | Комплект 83 (в кампусе)

Меня недавно поместили в Microsoft IDC. Вот мой опыт интервью 🙂

Первые два раунда были проведены Cocubes.com в нашем кампусе. Другие раунды были на месте. Microsoft была объявлена компанией мечты в нашем кампусе, студенты потоков CSE / ECE / MCA / MTech имели право сидеть. Она пришла как для стажировки, так и для полной занятости.

Раунд 1: Техническая способность

Первый раунд состоял из 15 вопросов, которые нужно было выполнить за 30 минут.
MCQ были основаны на C.C ++, Java и некоторых вопросах операционной системы. Около 200+ из нашего колледжа собрались на этот раунд.

Раунд 2: Раунд онлайн-кодирования

После первого раунда около 100 (также состоящих из студентов) проходили отбор во второй тур. В этом раунде были заданы два вопроса по кодированию за 90 минут.
У всех разные вопросы. Вопросы, которые я получил, были:

  1. Если два массива представляют собой цифры одного массива, представляющие число, максимизируйте число, заменив его элементами второго массива.
    например:
    обр = {3,1,4,5,6}
    rep = {1,9,5,2,3}

    после замены
    обр = {9,5,4,5,6}
    одну цифру респ можно использовать для замены только один раз.
    Для этого почти каждый, кто получил этот вопрос, использовал метод грубой силы. Но я использовал другой подход. Я построил максимальную кучу массивов повторений. И запустил цикл, проверяющий, был ли максимальный элемент повторения больше, чем элемент в arr и затем заменил его в arr и удалил то же самое из maxheap.

  2. Дана матрица, где каждая ячейка представляет значение прочности. Значение может быть положительным, отрицательным или нулевым. В каждой ячейке добавляется значение силы. Вы должны достичь от точки (0,0) до точки (m-1, n-1), если в любой точке сила становится нулевой или отрицательной, то вы не можете продолжить дальше. Найдите минимум Требуется сила, прежде чем начать, чтобы достичь конца матрицы.
    например {{1, -3,0},
    {-2,1, -1}} Ответ: 2 ((2 + 1 + (- 2) +1 + (- 1) = 1 пройденный путь)
    Я дал решение DP, но не смог пройти несколько тестов в этом вопросе.

После этого тура около 15 студентов были включены в список (включая меня 😀). Через несколько дней мы получили эти результаты, а затем получили приглашение на собеседование на месте в MSIDC, Хайдарабад.

Раунд 3: Письменное кодирование

Около 30 студентов, состоящих из студентов других колледжей, также были вызваны на место. Это был письменный раунд. Каждому дали около 45 минут и 1 вопрос.

  1. Дан корень двоичного дерева, значения n и k. Найдите сумму узлов на расстоянии k от узла со значением n. Это похоже на вопрос о гиках -> http://espressocode.top/print-nodes-distance-k-given-node-binary-tree/
    Я смог сделать это довольно быстро 😀 Я даже объяснил свой ответ персоналу, и он попросил меня написать разные типы тестовых случаев, чтобы полностью проверить, работает ли мой код на всех из них.

После этого тура около 14 человек были включены в шорт-лист.

Раунд 4: Техническое интервью
Это был раунд личного интервью. Интервьюер спросил меня о себе и о проектах, которые я сделал до сих пор. Мы кратко обсудили эти проекты.
Затем он дал мне два вопроса для решения:

  1. Найти и элемент в повернутом массиве http://espressocode.top/search-an-element-in-a-sorted-and-pivoted-array/
  2. Учитывая два связанных списка, оба представляют число. Создайте связанный список, содержащий его сумму
    То же, что и -> http://espressocode.top/sum-of-two-linked-lists/

Это были довольно простые вопросы. Я знал решения и объяснил это интервьюеру. Он задал им несколько вопросов, казался удовлетворенным. Спросил меня, есть ли у меня какие-либо вопросы к нему. Хорошо, одна вещь, которую я понял после того, как дал интервью, когда он спрашивает кандидата о каких-либо вопросах, то вы всегда должны что-то задавать, показывает, что вы заинтересованы. Поэтому я спросил его о различных технологиях, над которыми будет работать новый SDE, и тому подобных вещах. У меня была довольно хорошая дискуссия с ним, он рассказал мне много вещей со своего конца тоже.
Я сделал это в следующем раунде, то 😀

Раунд 5: Техническое интервью

Этот раунд был о вопросах дизайна. Если вы пройдете предыдущие наборы собеседований, вы заметите, что Microsoft задает вопросы о дизайне, чтобы проверить способность кандидатов решать реальные проблемы. У каждого были разные вопросы в личном интервью. Вопрос, который я получил, был:

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

    — Он сказал мне не торопиться и дать решение. Я дал ему решение рассматривать текст как связанный список слов. Где каждый узел в связанном списке содержал строку слова и индекс. И для каждого узла в связанном списке у меня будет структура Trie. Я использовал три для эффективного поиска. То, что я предложил, это то, что я использую три, когда пользователь вводит слово и вставляет его в три, и лист этого слова будет содержать индекс этого слова плюс указатель на этот узел в связанном список Если предположить, что у дерева уже есть слово, то я увеличиваю количество слов в листе, и лист будет содержать вектор, в котором есть список индексов, где слово встречалось, и список указателей, где слово присутствует в списке. написал код и объяснил, как он может обрабатывать все угловые случаи. Мы обсудили решение, и он задал мне определенные вопросы по различным тестам. Мой подход справился с ними хорошо. Он казался довольным. Он добавил к вопросу, что поисковый запрос может содержать слова или фразы. Таким образом, мое использование индексов может справиться с поиском фразы 🙂. Я также предположил, что вместо структуры данных Trie мы могли бы использовать троичное дерево поиска, поскольку это было бы более эффективным с точки зрения пространства.

Я немного сомневался в этом раунде, но я прошел 😀 После этого раунда лишь немногие студенты прошли в последний тур.

Раунд 6: HR + Техническое интервью

Интервьюер был довольно опытным и очень приятным. Он спросил меня, как прошли мои предыдущие раунды. Он просматривал мой обзор результатов предыдущих раундов. Он посмотрел мое резюме и спросил меня о проектах, которые я сделал. Он увидел, что я проходил стажировку в IITB, поэтому он много спрашивал меня об этом проекте. Он также задал мне несколько основных вопросов по персоналу, например, почему Microsoft должна вас нанять? Где вы видите себя в следующие 5 лет? Он был очень впечатлен моей успеваемостью и моим рангом AIEEE. Спросил меня, как я справляюсь с экзаменами и входами на 12-ю доску. Он сделал это очень удобно, почти болтал и узнавал обо мне.

  1. Затем он спросил меня о вопросе, заданном мне в предыдущем раунде, т.е. текстовом редакторе. Я дал ему краткое объяснение моего подхода. Затем он дал мне еще один вопрос, основанный на текстовом редакторе. Он спросил меня, как я могу эффективно извлечь K наиболее часто встречающихся слов из текста. К счастью, я просто проходил этот вопрос как раз перед этим раундом 😀. Я предложил решение, используя Trie и Min Heap.
    Аналогично -> http://espressocode.top/find-the-k-most-frequent-words-from-a-file/
    Он попросил меня написать код для того же. Я записал это и объяснил ему.
  2. Следующий вопрос, который он мне задал, был: — Учитывая двоичное дерево поиска, выведите путь, который имеет сумму, равную k, и имеет минимальные скачки. т.е. если есть несколько путей с суммой, равной k, то выведите путь с минимальным количеством узлов.
    Сначала я дал ему подход грубой силы. Аналогично -> http://espressocode.top/root-to-leaf-path-sum-equal-to-a-given-number/
    Но я знал, что дело не в том, что у нас есть дерево бинарного поиска. Таким образом, интервьюер дал мне несколько советов — например, каковы основные критерии BST. Я сразу понял, что минимальный путь всегда будет справа от узла, потому что он имеет большее значение. Я сказал ему решение, которое он казался удовлетворенным ..

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

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

Подсказки :

  • Хорошо разбирайтесь в структурах данных. Решите как можно больше проблем от Geeks4Geeks
  • Будьте уверены в интервью. Имейте улыбающееся лицо и приспосабливайтесь к вопросу. Интервьюер может в любое время изменить или изменить вопрос, просто чтобы сбить вас с толку.
  • Интервьюеры очень полезны, если вы чувствуете, что застряли, общайтесь с ними .. объясните свой подход, они дадут вам подсказки.
  • Когда интервьюер задает вопрос, внимательно его слушайте, не спешите сразу же писать код. Спросите его о различных критериях и ограничениях, касающихся вопроса.
  • Проверьте свой код со всеми возможными тестовыми примерами и перечислите их.
  • Наконец, даже если вы не можете найти правильное решение, просто объясните свой подход. Рекрутеры анализируют, как вы решаете проблему, не обязательно, чтобы у вас было точное решение.

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

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

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

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

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

Microsoft IDC Интервью Опыт | Комплект 83 (в кампусе)

0.00 (0%) 0 votes