Nutanix Interview Experiance - Размещение в кампусе

Опубликовано: 5 Января, 2022

Компания Nutanix Technologies приехала в наш кампус BITS Goa для набора персонала на кампусе. Они провели несколько раундов отбора, чтобы окончательно выбрать 3 кандидатов.

Онлайн-тест: платформа Hackerrank

Нам выделили 1 час на решение двух задач.

1-й вопрос: учитывая n портных с определенными значениями навыков (массив положительных целых чисел) и m задач (массив положительных целых чисел), нам нужно определить, сколько времени потребовалось бы портным для выполнения m задач, работая вместе.

Портной может выполнить 1 задание, если его значение навыка> = значение задания. Выполнение 1 задания 1 портным занимает 1 час. например, портной: 4 5 6 задание: 5 5 6 займет 1 час, если портному с навыком 4 5 6 дано задание NULL 5 5 / NULL NULL 6 (2 часа): тогда портные могут распределить задание и взять по одному каждому согласно значение навыка так, чтобы затраченное время было минимальным (в данном случае 2 часа).

Это была прекрасная проблема для двоичного поиска. Его можно смоделировать на https://www.spoj.com/problems/AGGRCOW/, где вам нужно применить двоичный поиск к самому ответу (то есть времени завершения).

2-й вопрос: это проблема динамического программирования

У вопроса была своя история. Я просто излагаю суть проблемы. Учитывая 2D-матрицу, имеющую блок * (означает наличие) или # (означает недоступность). Дано целое число k. Необходимо учитывать все непрерывные k доступных блоков, как вертикальных, так и горизонтальных. Будет некоторый набор (непрерывных) блоков, которые могут перекрываться, имея непрерывность, превышающую k. Задача заключалась в том, чтобы найти максимальное количество перекрытий, которое может иметь любой блок, на основе входной матрицы. Понимание вопроса было очень важным для его решения.

Ответ потребовал сделать 3 2D-матрицы одинаковой размерности в качестве входных данных. 1 для вертикального непрерывного подсчета блоков (> = k). 1 для горизонтального и 1 для всех окончательных перекрытий.

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

Раунд 0: Раунд отладки

Половина из 14 студентов должна была быть исключена из этого раунда. Нам дали 2 объектно-ориентированных кода на C ++ по концепциям ОС: семафор и блокировка мьютекса. Это была не отладка ООП, а отладка, основанная на логических ошибках синхронизации ОС. Нас попросили указать на ошибки и предложить исправления. В некоторых местах отсутствовала точка с запятой, но было сказано, что она указывает только на логические ошибки.

В первой задаче нам нужно было подумать о блокировке Mutex и обработке исключений.

Во второй задаче была сделана небольшая настройка в задаче «Производитель-Потребитель» семафора.

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

Раунд 1: Технический раунд

У интервьюера был секундомер. Как только он объяснил каждую проблему, таймер запустился. (Он не должен был упоминать об этом. Я только что заметил)

1-й вопрос: построить BST из заданного обхода порядка уровней.

2-й вопрос: https://www.geeksforgeeks.org/given-sorted-dictionary-find-precedence-characters/

Мне потребовалось время, чтобы придумать подход к 1-й задаче. Интервьюер дал небольшой намек, который привел меня к правильному подходу к решению. Хотя вторую проблему я решил очень быстро. Он попросил меня написать псевдокод для обеих задач. Я сделал это и был вполне счастлив.

Раунд 2: возобновление раунда

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

Интервьюер был инженером с 23-летним опытом, работающим с Nutanix, и задавал действительно умные вопросы, основанные на том, что я объяснял в своих проектах и тематическом исследовании. (Между прочим, это единственный раунд, где GFG не может вам помочь ) Сессия длилась 40-45 минут. Ближе к концу он сказал мне, что ему понравилось, насколько страстно я объяснял свою работу и вклад в тематическое исследование и проекты, упомянутые в резюме. Это был очень увлекательный раунд, и многие его вопросы были направлены на то, чтобы выяснить, в какой отдел компании я могу лучше всего работать. Он был счастлив после окончания интервью.

Раунд 3: Раунд дизайна

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

В этом раунде меня попросили реализовать кеш LRU с использованием соответствующей структуры данных. https://www.geeksforgeeks.org/lru-cache-implementation/

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

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

Все интервьюеры пытались помочь мне найти ответ, когда я застрял. Я нашел общее интервью с командой NUTANIX очень информативным, а обходы прошли очень гладко. Наконец, я был одним из 3 кандидатов, выбранных для NUTANIX Technologies, Banglore

Автор статьи: Shrehal Bohra.

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию . Если вы готовы, проверьте свои навыки с помощью серий тестов TCS, Wipro, Amazon и Microsoft.