Oracle | SDE-1 | On-campus | Rejected | FTE 24 Batch
Summary
I interviewed for an Application Developer role at Oracle as a fresher and went through three technical rounds covering DSA, CS fundamentals, system design, and puzzles. Despite performing well in most rounds, I ultimately received a rejection.
Full Experience
My journey at Oracle for the Application Developer role started with an online assessment. This round featured a mix of aptitude questions, two easy Data Structures and Algorithms (DSA) problems, and a question focused on REST APIs, all conducted on the HackerRank platform.
Technical Interview - Round 1
I began by introducing myself, even sharing my interest in web series, which unexpectedly led to a brief discussion about a HBO documentary on the Chernobyl nuclear disaster. Following that, the interviewer shifted to core technical topics. We delved into inheritance, particularly the challenges posed by the 'diamond problem,' and explored the implications of inheriting base classes using private, protected, and public modes. I was also presented with a puzzle similar to the "Camel and Banana Puzzle." The discussion then moved to Java's design choice regarding multiple inheritance. When prompted for questions, I inquired about how Oracle handles synchronization in distributed databases, and the interviewer thoroughly explained the intricate system behind their sophisticated cloud platform.
Technical Interview - Round 2
This was a particularly engaging and long round for me. After my introduction, the interviewer asked several questions about my projects, including a scenario-based question: "What steps would you take if your webpage doesn't load properly?" The technical questions covered various areas such as REST APIs, different IP protocols, the OSI Model, the specific utility of the Transport Layer, the necessity of Normalisation in databases, and an explanation of various types of SQL joins. I also faced some questions related to Virtual Memory and the Software Development Life Cycle (SDLC). While I couldn't answer the SDLC question perfectly, I later understood its relevance, as his team focused on DevSecOps, which involves continuous development, deployment, and monitoring with an emphasis on security. At the end, I asked what a fresher could expect to work on given Oracle's involvement in innovations like IoT, ML, and AI. He responded that if selected, I would likely be assigned to the DevSecOps team.
Technical Interview - Round 3 (Vice President Round)
The final round was conducted by the Vice President of Oracle himself, who was very sensible and approachable. After my general introduction, he posed the famous "Monty Hall Problem" puzzle. For Data Structures and Algorithms, he asked how to detect a loop in a tree (implying a graph context), and I explained a general Depth First Search (DFS) approach. He then requested the pseudo-code for both DFS and Breadth First Search (BFS). Lastly, we discussed the need for database normalization and the circumstances under which denormalization might be required. My interview concluded around 3 PM, but unfortunately, I received the news of my rejection around 8:30 PM.
Interview Questions (14)
Inheritance and Diamond Problem
Discussion on object-oriented programming concepts, specifically inheritance and how the 'diamond problem' arises in multiple inheritance scenarios.
Access Specifiers in Inheritance
Explain the differences and implications of inheriting base classes using private, protected, and public access modes.
Camel and Banana Puzzle
A camel has to transport 3000 bananas over a distance of 1000 kilometers. The camel can carry a maximum of 1000 bananas at a time. The camel eats 1 banana per kilometer. What is the maximum number of bananas that can be transported?
Why Java Doesn't Support Multiple Inheritance
Discuss the reasons behind Java's design choice not to support multiple inheritance of classes and how it addresses related concerns (e.g., through interfaces).
Troubleshooting Webpage Load Issues
Describe the diagnostic steps and potential solutions if a webpage fails to load correctly, covering client-side and server-side aspects.
OSI Model
Explain the layers of the OSI model and their functions.
Utility of Transport Layer
Discuss the primary functions and importance of the Transport Layer in the OSI or TCP/IP model.
Database Normalisation Requirements
Explain why database normalization is necessary and its benefits.
Types of SQL Joins
Describe and differentiate between various types of SQL joins (e.g., INNER, LEFT, RIGHT, FULL OUTER).
Software Development Life Cycle (SDLC)
Explain the Software Development Life Cycle (SDLC) and its different phases/models.
Monty Hall Problem
Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, 'Do you want to switch to door No. 2?' Is it to your advantage to switch your choice?
Find a Loop in a Tree/Graph
Given a graph (or tree with potential cycles), describe an algorithm to detect if a cycle exists. If a cycle exists, explain how to find it.
Pseudo-code for DFS and BFS
Provide the pseudo-code for Depth First Search (DFS) and Breadth First Search (BFS) graph traversal algorithms.
Normalisation vs. Denormalisation
Discuss the reasons for database normalization, its benefits, and also explain scenarios where denormalization might be considered beneficial or necessary, along with its trade-offs.
Preparation Tips
My main takeaway from this interview experience is the critical importance of not underestimating HR questions. They can significantly influence the selection process, even if the technical rounds feel manageable.