Представляем вашему вниманию перевод статьи «My Interview Experience With Microsoft» автора Ashwin Goel.

В этой статье автор делится своим опытом прохождения собеседований в Microsoft и дает некоторые советы.

Около 2-3 месяцев назад я заметил на Linkedin несколько сообщений от сотрудников Microsoft о проведении кампании по отбору кандидатов на летнюю стажировку. Я долго ждал этого и не хотел упустить возможность.

Я отправил резюме с подробным описанием моих достижений и опыта, включая все мои проекты, 15-20 людям из Microsoft в надежде на то, что хотя бы один из них пригласит меня на онлайн-тестирование.

Основные моменты в собеседование в Microsoft

  1. Не стесняйтесь, прежде чем связаться с незнакомцем. В конце концов, это все о создании сетей. Чем лучше вы имеете, тем легче вы можете сделать свою работу.
  2. При общении с кем-то не будьте как “Привет! Не могли бы вы, пожалуйста, направить меня в компанию?”Вместо этого напишите хорошее сообщение, объясняющее ваши проекты, опыт, достижения, и дайте им причины, чтобы направить вас.

В течение 1-2 часов после рассылки я получил приглашение от Microsoft на первый раунд интервью, который был чисто кодовым раундом.

Это было 22 сентября 2019 года, когда у меня был первый раунд.

Я получил три проблемных вопроса, и время, отведенное на то же самое, было достаточно приличным.

Одним из вопросов было

Учитывая массив размера n, переставьте номера массива таким образом, чтобы четные и нечетные номера были расположены попеременно в порядке возрастания.

P.S.: Это был самый простой вопрос.

Во время этого раунда, когда оставалось всего 5 минут, мой ноутбук разбился. Возможно, это самое худшее, что может случиться, но, к счастью, я могу возобновить тест через некоторое время.

Я смог закодировать все три вопроса, пройдя все тестовые случаи, включая граничные случаи и сложные тестовые случаи.

Я был действительно уверен в первом раунде и с нетерпением ждал результатов.

Результаты были объявлены 11 октября, и да, меня выбрали для второго тура.


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

Интервью было назначено на 14 октября. Все началось с краткого вступления, а затем интервьюер начал тестировать меня на концепции OOPS. Я был счастлив, потому что это была одна тема, к которой я никогда не готовился в своей жизни в колледже, потому что мои концепции были ясны прямо с 10+2.

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

Совет если вам задают вопрос с Microsoft а вы его не знаете

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

Теперь идет вторая половина интервью, которая была посвящена решению проблем. Их главная цель-проверить, как мы думаем и каков наш подход к новой проблеме. Поэтому абсолютно важно говорить о том, что у вас на уме.

Данная проблема заключалась в следующем:

Предположим, что существует 3D массив, который сортируется следующим спиральным образом:

01 02 03 04
12 13 14 05
11 16 15 06
10 09 08 07

Итак, каков наилучший способ поиска числа в таком массиве?

Сначала я не мог придумать хорошее решение, поэтому я предложил худшее решение(O(n2)), а затем начал думать об оптимизированном.

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

Основные моменты когда тебя заваливают в Microsoft

  1. Говорить вслух. Пусть интервьюер знает, что вы думаете, и он может помочь вам думать в правильном направлении.
  2. Задавайте вопросы интервьюеру, чтобы получить ясность по этому вопросу, чтобы двигаться дальше.
  3. Начните с худшего решения, а затем начните его оптимизировать.
  4. С любым решением, которое вы предлагаете, они ожидают, что вы также закодируете его, поэтому будьте готовы к этому.

P.S.: Я начал с решения сложности O(n2) и закончил с O(log (n)), и удовлетворение после достижения этого не может быть определено простыми словами.

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


Я посетил офис Microsoft Bangalore 17 ноября среди моих экзаменов в конце семестра только потому, что я не хотел упустить эту прекрасную возможность.

Честно говоря, их кампус был просто рабочим местом мечты. Действительно удивительно!

kak-ya-ustraivalsya-na-rabotu-v-microsoft-ot-avtora-ashwin-goel

Поскольку я приехал рано, мне пришлось ждать на ресепшне. Я не тратил времени зря, повторяя структуры данных на GeekforGeeks.

Вскоре нас пригласили в переговорную и объявили, что нас (около 20 студентов) выбрали из более чем 11 тыс. претендентов.

После приветствия началось интервью.

Второе собеседование в Microsoft

Это собеседования было посвящено резюме. Собеседник заявил, что им понравилось мое резюме. Он спрашивал меня о проектах, пытаясь лучше понять, какую работу мне приходилось выполнять.

Совет что нужно писать в резюме для Microsoft

  1. Вы должны быть уверены в каждом слове вашего резюме.
  2. Не пишите того, в чем плохо разбираетесь.

После этого собеседник решил проверить мои мыслительные способности, задав два вопроса по структурам данных.

Одним из них был вопрос про то, как «реверсировать» связный список. Я читал про это на GfG прошлой ночью в автобусе и помнил решение частично. После некоторого размышления, я смог полностью объяснить весь алгоритм. Он попросил меня реализовать его на C++ и протестировать на нескольких примерах.

P.S.: Microsoft стремится к совершенству, это было заметно по каждому собеседнику. Каждый алгоритм и код подвергались тестированию.

Второй вопрос состоял в следующем:

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

Пусть каждый узел указывает на следующий и произвольный узлы.

Вопрос был с подвохом, поэтому пришлось хорошенько подумать.

Третье собеседование в Microsoft

Это собеседование было посвящено преимущественно кодированию.

Я получил две задачи:

  1. Напишите код для определения высоты бинарного дерева.
  2. Напишите код для определения того, является ли бинарное дерево двоичным.

Я быстро написал код, но потребовалось довольно много времени на устранение некоторых маленьких ошибок.

Обе задачи могут быть решены при помощи рекурсии. Вы можете найти решения на GfG.

Ключевой момент:

  • Написать код — половина успеха. Валидация — важная часть процесса.

Это был финальный раунд и тестировать меня пришел старший разработчик, проработавший в компании более 8 лет. Интервью началось с нескольких вопросов по резюме. Собеседника заинтересовал один из моих проектов — алгоритм планирования процессора IGBTQ. Я подробно объяснил ему проект на доске.

Вторая часть была посвящена решению проблем. Он задал мне такой вопрос:

Имеется последовательность числе от 1 до n.

На каждой итерации (i) мы удаляем каждый i+1 элемент.

Например:

Пусть n = 20

На первой итерации мы удаляем каждый второй элемент.

1 3 5 7 9 11 13 15 17 19

На второй - каждый третий

1 3 7 9 15 19

На третьей - каждый четвертый

1 2 7 13 15

И т.д.

Числа, оставшиеся после всех итераций, называются счастливыми.

Задача - определить, является ли число "n" счастливым.

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

Затем собеседник задал парочку вопросов обо мне и о том, над чем я хочу работать. На этом интервью закончилось.

Ключевые моменты:

  1. Будьте честными в том, почему вы хотите присоединиться к компании. Изучите их текущие проекты и начинания (инициативы), и имейте четкое понимание того, чего от вас ждут.
  2. Перед собеседованием подготовьте четкие и ясные ответы о том, почему вы хотите работать в компании и почему компания должна нанять именно вас.
  3. Не говорите таких вещей как: «Я уверен в своих силах» или «Я трудоголик», бла-бла-бла. Будьте максимально конкретными и приводите примеры из реальной жизни в подтверждение своих слов.

Заключение

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

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

Как бы то ни было, то, что я потерял, я потерял на время, а то, что приобрел, приобрел навсегда.

Добавить комментарий