Опыт интервью с Microsoft | Набор 91 (2 года опыта работы с IDC)
Это главный форум, на котором я делал всю свою подготовку. Большое спасибо GeeksForGeeks! Вот отдача ..
Мне позвонили из команды Bing в IDC. У меня есть 2 года опыта работы, чтобы разместить BTech в CSE. Всего у меня было 5 собеседований, как описано ниже.
1) Первым был раунд «летать / не летать». Сначала было некоторое обсуждение моего предыдущего опыта работы, когда интервьюер задавал мне кое-какие технические и дизайнерские вопросы. Затем меня попросили написать код, чтобы найти наименьший подмассив для сортировки, который сортировал бы весь массив. Ответ доступен на https://www.geeksforgeeks.org/minimum-length-unsorted-subarray-sorting-which-makes-the-complete-array-sorted/. Для этого мне пришлось написать оптимизированный код.
Второй заключался в создании ER-диаграммы для мебельного сценария. Важной частью здесь является то, что Материал мебели может быть отдельным классом, а не свойством таких предметов мебели, как кровать, стул, стол. Таким образом, материал может иметь связанные свойства, такие как IsFlammable, IsWaterResistant и т. Д.
2) В этом интервью у меня был только один вопрос, который меня попросили решить на доске. Вопрос состоял в том, чтобы добавить цифру к числу, которое представлено связным списком, где каждый узел представляет собой цифру числа. Ограничение здесь заключалось в том, что связанный список не мог быть изменен, за исключением цифр, которые должны были быть изменены в ответе, и число могло быть бесконечно длинным. Так что вам нужно было избежать проблемы переполнения памяти. Таким образом, без рекурсии, без стека, без копии связанного списка, без изменения исходного связанного списка, как предлагают решения на geeksforgeeks. Чтобы отслеживать перенос, который должен быть добавлен к предыдущей цифре итеративно, вы в основном должны отслеживать цифру перед последней последовательной 9, которая предшествует последней цифре. Например, в 9719938996 это будет 4-я цифра справа, то есть 8. Итак, теперь за один проход вы можете определить такую позицию, как 9 (если есть), а также последнюю цифру. Тогда необходимые цифры можно будет легко изменить.
3) В этом раунде интервьюер открыл консольное приложение на своем ПК и попросил меня написать там код. Я считаю, что он действительно обращал внимание на время, которое я потратил на написание кода, и на то, компилировался ли он в первый раз или нет. Я уделял больше внимания точности кода, чем затраченному времени. Мне задали следующие вопросы:
Проверьте, является ли число N степенью другого числа X. Затем мы говорили о случае, когда X равно 2. В этом случае мы обсудили, как это можно сделать, проверяя биты.
Проверьте, идентичны ли два двоичных дерева. Мне также пришлось инициализировать и запустить его с тестовым примером. После завершения кода было обсуждение построчной оптимизации.
Поверните матрицу на заданное расстояние. Аналогичный ответ, где расстояние поворота равно 1, можно найти на https://www.geeksforgeeks.org/rotate-matrix-elements/
Затем было обсуждение дизайна онлайн-портала библиотеки. После того, как я дал ему базовую архитектуру, он спросил, как я буду реализовывать функцию поиска. Я предложил сделать это с помощью названия книги, автора, ISBN и т. Д. Он спросил меня, как это сделать, исходя из содержания книги. Я сказал ему, что буду хранить теги для каждой книги, которые можно будет использовать при поиске. Идея ему понравилась, но он посоветовал мне выполнить правильный поиск по тексту. Я рассказал ему об использовании хеш-таблицы и блобов. Возможно, он искал попытки, но, поскольку я был не очень знаком с ними, я избегал этого. Он выглядел удовлетворенным и закончил интервью.
4) Он попросил меня представиться, рассказать о своих проектах и о самой большой технической проблеме, с которой я столкнулся. Затем попросили меня написать код на бумаге для функции LinkedIn, где нам показано, какова глубина связи между двумя людьми. Решением была версия алгоритма кратчайшего пути для графа. Он попросил меня оптимизировать мой ответ для дополнительного пространства O (1) (помимо пространства структуры графа).
Следующий сканарио включал в себя ряд вопросов. Я должен был дать неформальную схему «Клиент, Товар, Заказ» для интернет-магазина, такого как Amazon. Помимо отношений внешнего ключа, его интересовало, как я буду хранить заказы, потому что в каждом заказе на покупку может быть куплено несколько товаров. Ответ заключался в том, чтобы иметь реляционную таблицу, такую как ItemizedOrder, в которой хранятся сопоставления порядков и идентификаторов элементов. Затем он попросил меня написать запрос, чтобы получить всех клиентов, которые не купили определенный товар к заданной дате. Затем он сказал, что для любого предмета, такого как книга, компании придется получать свои книги от многих продавцов книг, у которых будут разные схемы и способы хранения информации о книгах. Он попросил меня разработать систему, которая позволит обрабатывать такие вариации. Я дал ему портал или веб-службу в качестве конечной точки, куда различные поставщики могли загружать свои данные. Тогда моя веб-служба будет иметь механизм правил, который будет отображать разные схемы, назначать значения по умолчанию, где это возможно, для отсутствующих значений, таких как Subtitle, игнорировать отсутствующие значения неважных полей, таких как NoOfPages, иначе возвращать сообщения об ошибках для элементов, у которых недостаточно обязательных данных, например Price. Затем этот механизм правил будет хранить обработанный ввод в нашей базе данных в нашей схеме.
5) Это было с очень старшим парнем, но было больше формальностью. Интервьюер сказал мне, что я был выбран в первые 10 минут, а затем просто пытался проанализировать мою работу и предпочтения в отношении подходящей команды и определить мои ожидания. Он ответил на несколько моих вопросов и закончил интервью через полчаса.
В общем, мне каждый раз задавали 2 общих вопроса: опишите свой предыдущий опыт работы и почему вы хотите присоединиться к Bing. Я не сразу получил ответ на большинство вопросов, но высказал свои мысли вслух. Все они направили меня, когда я застрял, и побудили меня к возможной оптимизации. Дважды мне также давали примеры сценариев, которые мой код не охватил. Поскольку я знал, что прохожу собеседование для Bing, я задавал собеседникам соответствующие вопросы после каждого раунда. Каждое собеседование было рассчитано на 1 час, при этом третье было растянуто на 1,5 часа, а последнее было довольно коротким. За исключением первого интервью, результаты остальных являются коллективными. Так что, даже если вы не очень хорошо справитесь с одним, но если вы сможете прилично управлять другими, вас примут на работу. Всего наилучшего!
Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью и отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию . Если вы готовы, проверьте свои навыки с помощью серий тестов TCS, Wipro, Amazon и Microsoft.