Oracle Interview Experience для младшего инженера-программиста (в кампусе) 2022 г.
Компания Oracle посетила наш кампус в двух ролях: NetSuite (младший инженер-программист) и Server Technology (член технического персонала). В этом году схема тестирования для первого тура была изменена. Весь процесс был виртуальным.
Раунд 1 (онлайн-тест): это был онлайн-тест на платформе HackerRank, проведенный 3 августа 2022 года. Это был экзамен под наблюдением продолжительностью 105 минут. Всего было 9 вопросов, 2 из них были вопросами по кодированию, 1 запрос по СУБД и 6 были MCQ на основе DSA.
- Измените строку: https://www.geeksforgeeks.org/lexicographically-largest-subsequence-content-all-distinct-characters-only-once/
- REST API (соответствующие точки питания): вы можете обратиться к разделу HackerRank REST API.
- Запрос к СУБД: Напишите запрос для вывода имен всех хакеров из таблицы HACKER, где количество месяцев меньше 10, а количество хакеров (хакеров * месяцев) больше 100. Записи должны быть в порядке возрастания идентификатора. .
- BFS данного графа.
- Количество ключей в B-дереве порядка 6 и высоты 4.
- Подсчитайте инверсии в заданном массиве.
- Количество топологических сортов для данного графа.
- Количество свопов для преобразования arr1 в arr2.
- Количество свопов для сортировки массива.
Я смог решить все вопросы, кроме REST API. Результаты были объявлены 6 августа 2022 года, 14 кандидатов были включены в шорт-лист на роль NetSuite, а 32 (+6 в списке ожидания) — на роль серверных технологий. Я попал в шорт-лист первого. Предварительное обсуждение (только для отобранных кандидатов) на соответствующие должности состоялось 9 августа 2022 года с 9:00 до 10:00.
Раунд 2 (Техническое собеседование-I): После PPT нас попросили присоединиться к ссылке Zoom Meet во время, сообщенное командой по связям с кампусом Oracle. Когда мы присоединились к собранию, нас попросили присоединиться к комнате отдыха. Потом нам назначили интервьюеров.
- Один из двух интервьюеров вкратце спросил меня о моих проектах, а также о стажировке. Потом меня спросили о предпочитаемом мной языке, на что ответил Java.
- Что такое чистый объектно-ориентированный язык?
- Кратко о столпах ООП.
- Затем мне был представлен ограниченный по времени вопрос о кодировании. Учитывая массив продуктов String и поисковое слово, найдите все возможные продукты, начинающиеся с каждого префикса поискового слова, и поместите их в список. Если имеется более трех продуктов, верните три лексикографически наименьших. Я привел все возможные подходы и оптимизации для этого вопроса, и как только интервьюер был удовлетворен моим подходом, он попросил меня написать код.
- Ввод: products=["плохие", "бублики", "багаж", "сумки", "кровать"], searchWord="сумки"
- Вывод: [["плохие","бублики", "багаж"],["плохие","бублики", "багаж"],["бублики","багаж","мешки"],["сумки"] ]
- Далее было два запроса к СУБД,
- Показать все дубликаты (с частотой) в таблице.
- Удалить все дубликаты в таблице
Использовалась платформа HackerRank, и меня попросили поделиться своим экраном. Интервьюер быстро заметил, что я решил много вопросов на HackerRank (ваш профиль HackerRank автоматически передается интервьюеру), и я был знаком с платформой. Это был отборочный тур, и из 14 студентов в нем выбыли 9-10 студентов.
Раунд 3 (Техническое интервью-II): Мне сказали, что вы будете проинформированы о том, есть ли у вас дальнейшие раунды, и попросили присоединиться к другой комнате обсуждения. Через 10-15 минут присоединился еще один интервьюер.
- Она спросила о моем опыте участия в первом туре и попросила меня более подробно рассказать о моих технических навыках. Затем были заданы некоторые вопросы, связанные со структурами данных.
- Какие структуры данных вы знаете?
- Вы упомянули деревья, так что же такое обходы деревьев, о которых вы знаете?
- Как отличить дерево от графа?
- Что такое DFS и BFS графа?
- Какая структура данных используется для реализации DFS и BFS?
- Затем мне задали еще один кодовый вопрос — «Самая длинная возрастающая подпоследовательность». Я привел все возможные подходы и оптимизации, и как только интервьюер был удовлетворен моим подходом, она попросила меня написать код. https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/
- У вас есть какие-либо вопросы ко мне?
Это также был раунд на выбывание, и только 2 студента смогли пройти этот раунд.
Раунд 4 (Технический+HR): Мне сказали, что вы будете проинформированы о том, есть ли у вас дальнейшие раунды, и попросили присоединиться к другой комнате обсуждения. Через 10-15 минут присоединился еще один интервьюер. Он был довольно дружелюбен и завел нормальный разговор, чтобы проверить мои коммуникативные навыки.
- Откуда ты?
- Готовы ли вы переехать в Хайдарабад, так как он очень далеко от вашего города?
- Так на каком языке вам удобнее?
- Алмазная проблема в Java.
- Интерфейс и решение алмазной задачи.
- Может ли класс реализовать два интерфейса с одной и той же сигнатурой метода?
- Что делать, если основной метод перегружен?
- Что делать, если основной метод переопределен?
- Что, если основной метод сделать закрытым?
- Следующим вопросом был код. Учитывая двух человек и их календари, а также ограниченное время, выведите все слоты, в которых они оба свободны в течение x минут. дал все возможные подходы и оптимизации, и как только интервьюер был удовлетворен моим подходом, она попросила меня написать такой же код. Поскольку у нас было мало времени, а вводом была строка. Было утомительно сначала преобразовать входные данные в целочисленный формат, поэтому интервьюер попросил меня написать псевдокод для решения проблемы. Затем меня спросили о сложности моего кода и могу ли я его еще уменьшить.
- С какими трудностями вы столкнулись во время стажировки? Опишите вкратце.
- У вас есть какие-либо вопросы ко мне?
Мне сказали, что я закончил на сегодня и жду результатов. Весь процесс собеседования был проведен за один день и длился 5 часов, т.е. с 13 до 18 часов без перерыва.
Результаты были объявлены в 10:00 10 августа 2022 года. В NetSuite были отобраны 2 кандидата, а в серверных технологиях — 5.
Советы по собеседованию:
- Уверенность - это ключ! Не нервничайте, интервьюеры дружелюбные люди и постараются сделать так, чтобы вам было комфортно, ведя здоровую беседу.
- Говорите громко и думайте вслух. Постарайтесь объяснить каждую строку вашего кода во время его написания, чтобы интервьюер мог хорошо расшифровать ваши мысли.
- Ваш подход имеет значение. Даже если ваш код не работает, не волнуйтесь, просто попробуйте сообщить о своем подходе интервьюеру, так как его больше интересует, как ваш мозг интерпретирует проблему. Они дадут вам бесчисленное количество подсказок, так что постарайтесь разобраться с ними.
- Если вы не можете ответить на вопрос, не останавливайте интервьюера. Просто скажите: «Извините, сэр, я не могу ответить на этот вопрос».
- Поддерживайте хороший язык тела и теплую улыбку на лице.
Надеюсь, эта статья развеет все ваши сомнения. Всего наилучшего!