Опыт интервью Ivanti (на кампусе) 2022
Иванти посетил наш кампус (VIT) в августе 2022 года в качестве разработчика программного обеспечения. В общей сложности 384 студента были включены в окончательный список для онлайн-оценочного экзамена.
Раунд 1: OA (1 час): Первый раунд проходил на платформе Hackerearth. Он состоял из 2 вопросов по кодированию и 4 MCQ по способностям, продолжительность составляла 1 час. Вопросы по кодированию были такими:
- Первый кодовый вопрос касался небольшого изменения максимального количества необходимых конференц-залов. Я смог сделать это полностью. Все тест-кейсы пройдены.
- Второй вопрос был таким. Нам дали (i) массив ARR длины N и (ii) M запросов вида [L, R, K]. Нам нужно найти количество элементов больше заданного числа K в диапазоне [L, R]. Я сделал это, используя решение грубой силы O (M * N). Пройдено 8/12 тестовых случаев. Остальные 4 получили TLE. Я думаю, что существует решение с O (M log N) с использованием подхода дерева сегментов.
Через 4 дня пришел список, и из него было отобрано около 50 студентов.
Раунд 2: Техническое интервью 1 (30 минут). Раунд начался с того, что интервьюер попросил меня представиться, после чего мы кратко обсудили мои проекты и прошлые стажировки. Он задал мне несколько основных вопросов DSA. Вопрос был таким:
- Вопрос 1. Найдите уникальные элементы в массиве. Я сделал это, используя unordered_map: TC O(n) SC O(n). Я использовал два прохода. Первый проход — подсчет частот, а второй проход — печать элементов с частотой, равной 1. Он попросил меня сделать это только один проход. Я не мог понять это. Возможно, он ожидал сначала отсортировать массив, а затем сравнить соседние элементы: TC O(nlogn) SC: O(1)
- Вопрос 2. Найдите в заданном массиве подмассив, сумма которого равна K. Выведите начальный и конечный индексы этого подмассива. Верните -1, если он не существует. Сначала я рассказал ему о подходе грубой силы O(n 2 ). Затем я рассказал ему об оптимизированном подходе с использованием unordered_map O(n). Я смог полностью решить этот вопрос.
Мы должны были поделиться своим экраном и написать код в нашем компиляторе и пройти тестовые случаи, данные интервьюером.
Наконец, он спросил меня, знаю ли я Java и ReactNative. Я сказал «Да» Java и «Нет» ReactNative. Но я также упомянул, что я разработчик React, поэтому мне будет легче изучить ReactNative. Затем он спросил меня о моем предпочтительном домене. Я сказал ему FrontEnd и DataAnalyst. В шорт-лист этого тура вошли 40 из 50 студентов.
Раунд 3: Техническое интервью (60 минут). Интервьюер начал с того, что спросил меня о моих предыдущих раундах. Затем он попросил меня объяснить мою работу на прошлых стажировках.
- Наконец попросили меня решить второй вопрос о кодировании моего OA, поделившись экраном. Я решил это, используя тот же метод грубой силы, что и раньше. Затем он дал мне несколько небольших вариаций примерно того же.
- Мне удалось их реализовать. Затем он спросил меня, могу ли я оптимизировать свой подход. Я подумал пару минут, а потом сказал ему, что, возможно, его можно оптимизировать с помощью дерева сегментов.
- Он также задал мне второй вопрос: поменять местами все слова в предложении, не меняя положения специальных символов.
Ввод: « Пойдем* к Мана-ли Три!п ». Выход: «сте'Л ог* от аи?лан-ам пир!Т ». Это был простой вопрос, поэтому я смог полностью его решить. - Затем он задал мне несколько основных вопросов по СУБД и ООП. Это были относительно очень простые вопросы. Я ответил им всем.
- Затем он спросил меня о том, что происходит, когда мы запускаем Программу. Я рассказал ему шаги каким-то случайным образом, и он поправил меня и ясно объяснил, как это работает.
- В конце концов, он спросил меня, не хочу ли я что-то спросить. Я спросил его о роли, над которой я буду работать, если меня выберут, а также о том, сможем ли мы ее поменять. Он ответил, что это зависит от интереса и команды, которую вы назначили.
В шорт-лист этого тура вошли 30 из 40 студентов.
Раунд 4: Технический + HR (90 минут): Этот раунд длился 90 минут, первые 70 минут были техническими, а последние 20 минут были HR.
Сначала введение, затем обсуждение моего опыта работы. Затем он много расспрашивал меня об ООП и некоторых вопросах, основанных на сценариях, о наследовании и полиморфизме. Он также попросил меня объяснить 4 столпа ООП и их реальные примеры. Ничего из ОС или СУБД или любой другой темы не спрашивали.
Он также задал мне 2 вопроса по кодированию, которые я должен был решить в онлайн-компиляторе, поделившись экраном.
- Вопрос 1: Учитывая 2 отсортированных массива, объедините их в третий массив, который полностью отсортирован. Сначала я сказал грубую силу, копируя оба массива в третий массив и сортируя окончательный массив. ТС O(n log n). Затем он попросил меня оптимизировать его. Я использовал два указателя O(n) и смог это сделать. В конце концов я застрял, так как получал неправильные ответы, но смог отладить его за несколько минут.
- Вопрос 2: Реализуйте связанный список с нуля. Кроме того, реализуйте функцию для вставки узла в связанный список в заданной позиции. Это был вопрос, на решение которого у меня ушло более 30 минут. Я застрял несколько раз. Интервьюер попросил меня отладить код, который я начал делать с помощью операторов cout. Интервью научило меня, как использовать опцию отладчика в компиляторе. Он говорил мне о каждом шаге использования отладчика. (Благодаря ему я теперь знал, как пользоваться отладчиком.) Наконец-то я смог ответить на вопрос.
В вопросах HR он обсудил мои планы на будущее. Я сказал ему, что хочу получить степень по менеджменту в ближайшие 3-4 года. У нас было много дискуссий на одну и ту же тему. Затем он также спросил меня о моих любимых доменах, над которыми я хотел бы поработать, если меня выберут. Вопросов по персоналу больше не задавали.
На следующий день пришел окончательный список. Около 20 студентов получили предложение стажировки супер мечты, к счастью, я был одним из них.