Рубрики

Microsoft Интервью Опыт (для стажировки)

Весь процесс состоял из онлайн-раунда кодирования, группового полета и трех технических интервью.

Раунд кодирования онлайн : было 3 «функциональных проблемы», т.е. нам нужно было только выполнить функцию, имея 2, 3 и 5 отметок соответственно, и общее время было выделено 75 минут. Он проводился на платформе Cocubes, и хотя я не сталкивался с какими-либо проблемами с библиотеками в Java, некоторые из моих пакетных партнеров, использующих C ++, столкнулись с этой проблемой. При представлении были показаны результаты некоторых тривиальных тестовых случаев.

2 балла : автомобили с нечетными номерами могут путешествовать в нечетные даты, а автомобили с четными номерами — в четные даты. Другие автомобили будут оштрафованы на 250 каждый. Учитывая количество автомобилей (массив целых чисел), проезжающих на определенную дату (целое число), рассчитайте общий собранный штраф.

Примеры:

Input : cars = [1, 2, 3], date = 15
Output : 250(for car 2)
Input: cars = [3, 4, 5], date = 16
Output : 500(for cars 3 and 5)

3 оценки : следующий маленький палиндром

5 баллов : сумма двоюродных братьев в двоичном дереве

Групповой обход : было 7 коротких вопросов типа ответа на C и DSA и проблема с кодированием. Обнаружение и удаление цикла в связанном списке

Интервью : это были 3 личных технических раунда.

Первый раунд : Это был вопрос со связанным списком . Я должен был написать решение на бумаге и запустить его, объясняя интервьюеру.

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

Второй вопрос состоял в том, чтобы отсортировать список чисел, если k наименее значимых цифр не важны.
Примеры:

Input : list = [674, 689, 349, 327, 989], k = 2
Output : [349, 327, 674, 689, 989] is valid and so is [327, 349, 689, 674, 989]

Моим первым подходом была сортировка по радиусу, но в итоге я нашел решение, основанное на сортировке по сегментам. Идея состоит в том, чтобы отобразить каждый элемент в «сегменты», разделив его на 10 ^ k, например, 674 и 689 будут сопоставлены с сегментами 6, 349 и 327 до «3» и т. Д., А затем отсортированы сегменты. Мне не нужно было писать код.

Третий тур : у нас была дискуссия о моем проекте по извлечению ключевых кадров. Он задал мне вопросы об алгоритмах и о том, как я могу их улучшить.

Заданный вопрос был открытым, и решение было достигнуто путем обсуждения.
Есть цифровая клавиатура. Ключ 1 отображается на «a», «b» и «c», 2 на «d», «e», «f» и так далее. Таким образом, последовательность нажатия клавиш 12 соответствует всем возможным комбинациям, таким как «ad», «ae», «af», «bd», «be» и так далее.
Существует также список строк, и при заданной последовательности нажатия клавиш отображаются строки, имеющие отображение в качестве префикса.
Это похоже на то, как работает поиск в звонилке телефона.

list = [abc, adg]

sequence = 1
output = [abc, adg]

sequence = 12
output = [adg]

sequence = 11
output = [abc]

sequence = 2
output = []

Память не является ограничением, но время имеет решающее значение.

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

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

Мне пришлось кодировать часть решения.

В целом, интервьюеры были полезны, и было предложено задавать вопросы.

Хастлин,
orpidus

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

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

Microsoft Интервью Опыт (для стажировки)

0.00 (0%) 0 votes