Oracle IC4 Phone Screen Experience

oracle logo
oracle
Software Engineer – L4No Offer
July 2, 202571 reads

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)

Q1
Explain SOLID Principles
Other

Explain each of the SOLID principles in depth.

Q2
Abstract Class vs. Interface
Other

Discuss the differences between Abstract Classes and Interfaces, providing real-world, non-programming examples (e.g., appliances, contracts vs blueprints).

Q3
HTTP Methods: PUT, PATCH, POST, OPTIONS
Other

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.).

Q4
Low-Level Design with OOD and Design Patterns
System Design

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.

Q5
Minimize Array Sum by Halving Elements
Data Structures & AlgorithmsMedium

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.

Q6
SQL vs NoSQL Comparison
Other

Discuss the differences between SQL and NoSQL databases, when to use each, their pros and cons, and CAP theorem tradeoffs.

Q7
High-Level System Architecture Design
System Design

Verbally describe or sketch a high-level system architecture focusing on scalability, modularity, and deployment pipelines.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!