Oracle | Intern | Bangalore | On-campus
Summary
I interviewed for a Project Intern - Member Technical Staff role at Oracle in Bangalore and was successfully selected after a comprehensive process that included an online assessment, multiple technical rounds focusing on DSA, core computer science concepts, and project discussions, followed by an HR interview.
Full Experience
My Interview Experience at Oracle for Project Intern
I recently interviewed for the Project Intern-Member Technical Staff for Server Technology role at Oracle for Summer 2024. The entire process was quite structured, starting with an online assessment followed by multiple technical rounds and a final HR discussion.
Online Assessment
The online assessment lasted 90 minutes and consisted of 10 English questions, 10 Mental Ability questions, and 2 DSA questions. The DSA questions varied among candidates but were generally on the easier side.
Technical Rounds (Offline)
Round 1
This round primarily focused on Data Structures and Algorithms. I was asked two standard DSA questions and some questions on core topics like Operating Systems (OS) and Database Management Systems (DBMS).
Round 2
This round delved into some basic coding concepts related to OS. The interviewer was particularly interested in multithreading, asking me to code a multithreaded sorting algorithm and fielding several questions on thread safety. We also discussed my projects in detail.
Round 3
This round was mostly a discussion about my projects. It was a straightforward and simple interaction.
HR Round
The HR round covered standard questions, nothing out of the ordinary. Everyone who reached this stage was selected.
Verdict
I was selected for the role!
Interview Questions (5)
Count Pairs with XOR greater than or equal to AND
Given an array arr of size n. We need to find the number of pairs i, j such that arr[i] XOR arr[j] >= arr[i] AND arr[j]. Constraints: 2 <= n <= 2e5, 1 <= arr[i] <= 2^31.
Bus Routes
You are given an array routes where routes[i] is a bus route that the i-th bus repeats forever. For example, if routes[0] = [1, 5, 7], this means the first bus travels in the sequence 1 -> 5 -> 7 -> 1 -> 5 -> 7 -> ... forever. You are also given a source and a target stop. Initially, you are at the source stop. You can only get on a bus at a bus stop that it serves. You can transfer between buses at any bus stop they both serve. Return the minimum number of buses you must take to travel from source to target. Return -1 if it is impossible to reach the target.
Domino and Tromino Tiling
You have two types of tiles: a 2x1 domino shape and an L-tromino shape. Given an integer n, return the number of ways to tile a 2 x n board. Since the answer may be very large, return it modulo 10^9 + 7.
Largest Rectangle in Histogram
Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram.
Multithreaded Sorting Algorithm
I was asked to code a multithreaded sorting algorithm and address questions related to thread safety during its implementation.
Preparation Tips
My Preparation Strategy
My preparation largely focused on sharpening my Data Structures and Algorithms skills, primarily through solving problems similar to those found on LeetCode. I also ensured a strong grasp of core computer science fundamentals, specifically Operating Systems (OS) and Database Management Systems (DBMS), which were frequently tested. Given the focus on multithreading in one of my technical rounds, I dedicated time to understanding concurrency concepts and thread safety. Additionally, I meticulously prepared to discuss my past projects, anticipating questions about their design, implementation, and challenges encountered.