Oracle Interview Experience для младшего инженера-программиста (в кампусе) 2022 г.

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

Компания Oracle посетила наш кампус в двух ролях: NetSuite (младший инженер-программист) и Server Technology (член технического персонала). В этом году схема тестирования для первого тура была изменена. Весь процесс был виртуальным.

Раунд 1 (онлайн-тест): это был онлайн-тест на платформе HackerRank, проведенный 3 августа 2022 года. Это был экзамен под наблюдением продолжительностью 105 минут. Всего было 9 вопросов, 2 из них были вопросами по кодированию, 1 запрос по СУБД и 6 были MCQ на основе DSA.

  1. Измените строку: https://www.geeksforgeeks.org/lexicographically-largest-subsequence-content-all-distinct-characters-only-once/
  2. REST API (соответствующие точки питания): вы можете обратиться к разделу HackerRank REST API.
  3. Запрос к СУБД: Напишите запрос для вывода имен всех хакеров из таблицы HACKER, где количество месяцев меньше 10, а количество хакеров (хакеров * месяцев) больше 100. Записи должны быть в порядке возрастания идентификатора. .
  4. BFS данного графа.
  5. Количество ключей в B-дереве порядка 6 и высоты 4.
  6. Подсчитайте инверсии в заданном массиве.
  7. Количество топологических сортов для данного графа.
  8. Количество свопов для преобразования arr1 в arr2.
  9. Количество свопов для сортировки массива.

Я смог решить все вопросы, кроме 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.

Советы по собеседованию:

  • Уверенность - это ключ! Не нервничайте, интервьюеры дружелюбные люди и постараются сделать так, чтобы вам было комфортно, ведя здоровую беседу.
  • Говорите громко и думайте вслух. Постарайтесь объяснить каждую строку вашего кода во время его написания, чтобы интервьюер мог хорошо расшифровать ваши мысли.
  • Ваш подход имеет значение. Даже если ваш код не работает, не волнуйтесь, просто попробуйте сообщить о своем подходе интервьюеру, так как его больше интересует, как ваш мозг интерпретирует проблему. Они дадут вам бесчисленное количество подсказок, так что постарайтесь разобраться с ними.
  • Если вы не можете ответить на вопрос, не останавливайте интервьюера. Просто скажите: «Извините, сэр, я не могу ответить на этот вопрос».
  • Поддерживайте хороший язык тела и теплую улыбку на лице.

Надеюсь, эта статья развеет все ваши сомнения. Всего наилучшего!