Preparing for an interview? Check out Cracking the Coding Interview
Published on

Oracle | Software Engineer | Onsite | Bengaluru | [offer]

Author
  • Shared Anonymously

Interview Experience at Oracle for Software Developer Position

Interview Process Overview
Initial Recruiter Contact

  • Date: 3rd week of July 2024
  • I received an email from the recruiter regarding a Java Developer position, along with a link to the online assessment (OA).

Online Assessment

  • Date of Completion: 19th July 2024
  • I completed the assessment on the given date and received a confirmation email on 20th July 2024, inviting me to an in-person interview.

Round 1: On-site Interview (Technical Round)
Interviewers: Two interviewers were present
This round focused on fundamental topics, including Java basics, Object-Oriented Programming (OOP), Data Structures and Algorithms (DSA), Puzzles, and SQL.

Java and OOP Questions:

  • Why does Java have wrapper classes for primitive data types?
  • I was asked to analyze and explain the output of the following code:
public class Main(){  
public static void main(String[] arg){  
String name = "Name";  
String name1 = new String("Name");  
system.out.print(name == name1);  
return;  
}  
};  
  • Further questions on OOP covered inheritance, different types of inheritance, and whether Java supports multiple inheritance.
  • Questions on abstract classes and several code analysis tasks were presented, including the following code samples:
public class Main(){  
int a = 20;  
public static void main(String[] arg){  
system.out.print(a);  
return;  
}  
};  
class A{  
public void fun(){  
System.out.print("Hello from A");  
}  
};  
  
class B extencs A{  
public void fun(){  
System.out.print("Hello from B");  
}  
public void fun1(){  
System.out.print("Hello from function1");  
return;  
}  
};  
  
  
public class Main(){  
public static void main(String[] arg){  
// In the discussion they have added each line of code and ask output.  
A obj = new A();  
B obj1 = new B();  
obj.fun();  
obj1.fun();  
obj1.fun1();  
obj = new B();  
obj.fun();  
obj.fun1();  
obj1 = new A();  
obj1.fun();  
obj1.fun1();  
return;  
}  
abstract class A{  
public abstract void fun();  
public static void fun1(){  
System.out.print("Hello world!");  
}  
};  
  
public class Main(){  
public static void main(String[] arg){  
A.fun1();  
return;  
}  
};  

DSA Questions:
The he moves to DSA rounds and ask me two question.

  1. Maximum Sum Subarray: The interviewer noted my familiarity with the problem and asked me to explain the approach to confirm my understanding.
  2. Median of an Array of Integers: Initially, I proposed sorting the array, but when they added that the integers were received as a stream, I suggested an insertion sort and then refined it using two priority queues.

SQL Questions:
Based on my project experience (YouTube clone), the interviewers presented a scenario involving user, video, and comment tables. They asked me to write a query to retrieve the name of the user whose video had the maximum number of comments.

Puzzles:

They ask me 4 puzzles.

  1. 3 Bulbs and 3 Switches from gfg.
  2. 8 balls problem from gfg.
  3. 10 Coins Puzzle from gfg.
  4. The final puzzle involved a scenario with five houses and a thief who changes houses daily, moving to an adjacent house. I was asked to devise the optimal strategy for the police to catch the thief and calculate the minimum number of days required.

Round 2: On-site Interview (Technical Round)
Technical Round
Interviewers: One interviewer was present.
This round focused on system design and quantitative problems.
Quantitative Questions:

  1. A time and work-related problem
  2. A permutation and combination (PNC) problem

System Design (High-Level Desing)
I was asked to design an elevator system for a 10-floor building with four elevator cars.


Final Stages

Three days after the interviews, I received a call from a manager who conducted a deep-dive review of my CV. At the end of the call, the manager verbally confirmed the offer.

One week later, I received an email regarding the background verification process, and after approximately 2 months, I received the official offer letter.

ReportMark as Helpful