Oracle interview | Fresher | Application Developer | IC-2 level
Summary
I recently interviewed for an Application Developer IC-2 role at Oracle as a fresher from NIT Warangal. The process involved three rounds covering puzzles, SQL, coding, DBMS, DSA, OOPs, and HR questions. I was ultimately waitlisted for the position.
Full Experience
Round-1
My first round consisted of various technical questions. I was asked two puzzles:
- A classic puzzle about splitting 10 coins (some heads, some tails) into two groups while blindfolded such that both groups have an equal number of heads.
- Another puzzle asked for the number of equilateral triangles that can be formed using 6 matchsticks.
Following the puzzles, there were two SQL questions:
- One involved joining tables and finding the Nth highest salary, with a follow-up to discuss different ways to achieve this.
- The second SQL question required converting percentages into grades from a table. I initially suggested using a CASE statement, but a follow-up asked for an alternative approach without CASE, which I proposed could be done by creating a lookup table for percentage ranges and grades, then joining.
I also had a coding question:
- Write code to validate if a date given in "DDMMYYYY" format is correct.
DBMS questions were next:
- I was asked to explain ACID properties with examples.
- Normalization and its use cases were also discussed.
The round concluded with questions about my internship experience, project, and the four pillars of OOPs concepts and their use cases in my project.
Round-2
The second round was focused on Data Structures and Algorithms, with four questions asked:
- I was given an array and needed to find a subarray such that its minimum size is 'm' and the sum of its elements is 'k'. A follow-up question delved into using Dynamic Programming for this.
- A word problem was presented that clearly indicated the use of Dijkstra's algorithm, followed by Bellman-Ford (with a reminder to consider constraints).
- The final DSA question involved a binary tree with a mirror placed at the bottom. I needed to return all leaf nodes that "lead to the root," essentially requiring me to treat the tree as a graph problem.
Round-3
The final round was an HR discussion:
- I was asked about my academic branch and my motivation to switch into the IT industry.
- My minor degree was also a topic of discussion.
- We had an in-depth conversation about my internship experience at LinkedIn and my project. The interviewer probed into alternative approaches for specific problems within my project, questioning why certain ideas might not work and testing my confidence in having explored various solutions.
- I was asked to explain the SOLID principles of OOPs.
- They inquired about my understanding of Oracle's operations and why I believed I would be a good fit for the Application Developer role.
- Another question was about how I managed to balance core academics, learn technical skills, and maintain a good CGPA simultaneously.
- Finally, I was given the opportunity to ask questions.
Interview Questions (17)
Given 10 coins, some heads and some tails. You are blindfolded and need to split them into two groups such that both groups have an equal number of heads (or tails).
Determine the number of equilateral triangles that can be formed using exactly 6 matchsticks.
Given employee salary data across multiple tables, join them and find the Nth highest salary. Discuss different approaches to solve this problem.
Given a table with percentages, convert them into corresponding grades. Initially, a CASE statement approach was discussed. A follow-up asked to achieve this without using a CASE statement, for example, by creating a separate grades lookup table and joining.
Write code to validate if a given string in 'DDMMYYYY' format represents a correct and valid date.
Explain the ACID properties (Atomicity, Consistency, Isolation, Durability) in DBMS with suitable examples.
Explain database normalization and its practical use cases.
Explain the four pillars of Object-Oriented Programming (Encapsulation, Inheritance, Polymorphism, Abstraction) and discuss their use cases, especially in the context of my projects.
Given an array, find a subarray with a minimum size 'm' such that the sum of its elements is 'k'. Discuss a Dynamic Programming approach as a follow-up.
Solve a word problem that requires the application of Dijkstra's algorithm, followed by Bellman-Ford algorithm, keeping in mind specific constraints.
Given a binary tree and a mirror placed at the bottom, return all leaf nodes that 'lead to the root' in this setup. The problem essentially involves treating the tree as a graph.
Discuss your academic branch and explain your motivation for transitioning into the IT industry.
Discuss details about your minor degree.
Discuss your internship experience at LinkedIn and your project in detail. Be prepared to explain alternative approaches to specific problems within your project, why certain approaches might not work, and demonstrate confidence in having explored various solutions.
Explain the SOLID principles of Object-Oriented Design.
Demonstrate your understanding of Oracle's business and explain why you believe you are a good fit for this specific role.
Describe how you managed to balance core academic studies with learning technical skills while maintaining a good CGPA.