Oracle IC4 Phone Screen Experience
Summary
I recently experienced a phone screen for an L4 Software Engineer position at Oracle. The interview was intense and covered a wide range of topics, including my resume, OOP, REST API concepts, low-level design, a live coding problem, database discussions, AI/ML, and architecture. I answered most questions confidently but unfortunately did not receive any follow-up after the round.
Full Experience
Introduction
The interview began with a detailed walkthrough of my background, from my college days to my current role. The interviewer performed a deep dive into my resume, asking about every tool and technology I had mentioned. I also had to provide a high-level overview of my current project architecture and my specific responsibilities within it.
OOP & Design Principles
This section focused on core Object-Oriented Programming (OOP) and design principles. I was asked to explain each of the SOLID principles in depth. Following that, we discussed the differences between Abstract Classes and Interfaces, with a specific request to provide real-world, non-programming examples to illustrate my understanding.
REST API Concepts
The discussion moved to REST API concepts. I had to explain the differences between PUT, PATCH, and POST methods, including when and why each should be used. The interviewer then delved into the OPTIONS HTTP method, asking about its purpose and how it's used, particularly in scenarios like CORS preflight requests.
Low-Level Design & Patterns
I was challenged to design a system using Object-Oriented Design (OOD) principles and various design patterns. The expectation was to provide both code and a strong explanation, with a focus on clarity, modularity, and how the design mapped to real-world scenarios.
DSA Coding – Live Problem on HackerRank
This was the live coding section, where I had to solve a Data Structures & Algorithms (DSA) problem on HackerRank. The problem involved an array and 'k' operations, where in each operation, I could pick any number and divide it by 2. The goal was to perform up to 'k' operations to minimize the total array sum. I approached this using a max heap (priority queue) to continuously halve the largest number for 'k' times. I successfully implemented it and passed all test cases.
Database Design Discussion
We then discussed database design, specifically comparing SQL and NoSQL databases. I explained when to use each, their respective pros and cons, and touched upon the CAP theorem tradeoffs.
AI/ML Discussion
Briefly, I was asked if I had worked with AI/ML models or pipelines, and I shared any related experience I had.
Architecture Diagram
Finally, I was asked to verbally describe or sketch a high-level system architecture, with the focus on scalability, modularity, and deployment pipelines.
Final Thoughts
Overall, I felt I answered around 85–95% of the questions confidently. The interviewer was thorough, at times challenging even basic concepts deeply, but remained respectful throughout. Unfortunately, the recruiter never followed up after the round, despite my attempts to reach out.
Interview Questions (7)
Explain each of the SOLID principles in depth.
Discuss the differences between Abstract Classes and Interfaces, providing real-world, non-programming examples (e.g., appliances, contracts vs blueprints).
Explain the differences between PUT, PATCH, and POST methods, when and why to use each. Also, deep dive into the OPTIONS HTTP method, explaining why and how it's used (CORS preflight, etc.).
Design a system using Object-Oriented Design (OOD) principles and design patterns. Expected code and strong explanation focusing on clarity, modularity, and real-world mapping.
You’re given an array and k operations. In one operation, you can pick any number and divide it by 2. Perform up to k operations to minimize the total array sum.
Discuss the differences between SQL and NoSQL databases, when to use each, their pros and cons, and CAP theorem tradeoffs.
Verbally describe or sketch a high-level system architecture focusing on scalability, modularity, and deployment pipelines.