Oracle | Application Developer 3 | March 2022 | Hyderabad | Cleared

oracle logo
oracle
Application Developer 3Hyderabad1.5 yearsOffer
April 15, 202239 reads

Summary

I successfully navigated a rigorous five-round interview process for the Application Developer 3 role at Oracle in March 2022, securing an offer. The interviews covered a broad spectrum, including Data Structures and Algorithms, SQL, System Design, and behavioral aspects, where I demonstrated my problem-solving and design capabilities.

Full Experience

Interview Round 1

This round was conducted by a Senior Application Developer from Oracle SCM Cloud. He began by asking about my experience and current tech stack. Following this, he presented two DSA questions and some SQL queries.

  1. Largest Sum Contiguous Subarray: I was asked to find the contiguous subarray with the largest sum. I initially proposed an O(n^2) solution, and upon his request for a more efficient approach, I presented a sliding window solution. I then coded it in my preferred language, dry-ran it with a test case, and explained each step.
  2. Climbing Stairs: The second DSA question involved calculating the distinct ways to climb n steps, where I could climb 1 or 2 steps at a time. I initially struggled but, after explaining brute-force combinations for n=4 and n=5, I realized it was a Fibonacci series. I wrote the recursive solution, explained its complexity, and then presented a more improved approach, discussing the advantages and disadvantages of both.
  3. Basic SQL Queries: Lastly, he asked me to write example SQL queries for ascending/descending order and for using GROUP BY with aggregate functions.

The first round lasted about 30 minutes. Later that evening, I received a call informing me that the next interview was scheduled for the very next day.

Interview Round 2

A Senior Principal Applications Engineer from Oracle conducted this round. He directly presented two DSA questions.

  1. Vague Set Problem: I don't recall the exact problem, but it involved a list of sets of size 4 and finding two sets with a 'same property.' I proposed an O(n log n) solution and defended its optimality when asked about further optimization, stating sorting was unavoidable. When a hash function was assumed, I discussed how to approach it and the advantages/disadvantages compared to the first method, including scenarios where the first approach would be preferred. I then wrote the code for my initial approach.
  2. Mirror Binary Tree: I was asked to write code to convert a binary tree into its mirror image. I provided a recursive solution. When asked about other ways, I explained the iterative approach. I confirmed my solution was top-down and briefly described how to achieve it using a bottom-up technique. Finally, I addressed how my solution handled corner cases like nodes with only one child.

This interview was about 45-50 minutes long. He intended to ask SQL questions but had to end early due to an urgent call. Again, on the same day evening, I was informed about the third interview scheduled for the next day.

Interview Round 3

This round was with a Group Manager from Oracle Inventory Management. We discussed SQL and DSA problems.

  1. Find Teacher Teaching English and Maths: Given a table of teachers and subjects, I needed to write a query to find teachers who teach both English and Maths. I provided a correct solution using an inner join on the same table. After a hint about set operations, I presented an alternative solution.
  2. Largest Number from Array: I was given an array of numbers and asked to arrange them to form the largest possible value (e.g., {54, 546, 548, 60} -> 6054854654). I discussed an O(n^2) solution and an optimized O(n log n) solution using sorting. I then wrote the O(n^2) code and dry-ran it with the provided example.
  3. Job Sequencing with Deadlines: The task was to find the job sequence that yields maximum profit given jobs with deadlines and profits. I presented an O(n log n) solution, wrote the code, and dry-ran it with the given example and another test case, explaining my approach.

This round also lasted around 45 minutes. The same evening, I was notified about a fourth interview, to be held after two days.

Interview Round 4

This round was conducted by a Director of Inventory Management from Oracle SCM Cloud. He focused on a single system design question.

  1. OTT Platform Package Upgrade Feature: I was asked to design an end-to-end feature for an OTT platform allowing users to upgrade their yearly packages. The design needed to cover calculation of remaining payment for the upgrade, database design, backend code, and suitable tech stacks. I initially started with the calculation, but the interviewer redirected me to provide a complete, from-scratch solution. We had a thorough discussion on my proposed approach. After this, he asked about my current project, my motivation for switching jobs, and what I expected to gain from Oracle.

This interview took approximately 40 minutes. Four days later, I received a call scheduling the final interview for the next day.

Interview Round 5

The last round was with a Senior Director of Oracle Inventory Management. This was a mix of project deep-dive, behavioral, and system design questions.

  1. Current Project Deep Dive & Behavioral: He started by diving deep into my current project, asking about features I worked on, the most challenging ones, and specific details about a feature that piqued his interest. He also asked standard HR questions like my strengths, weaknesses, and how I manage them.
  2. Practical Applications of Searching and Sorting: He asked about searching and sorting, their purpose, and practical real-world examples where sorting is crucial. I gave examples like phone directories and dictionaries. He then challenged me to think of a different example and discussed a scenario of running a medical shop without any sorting, exploring the challenges and potential solutions.
  3. Train Booking System Seat Availability: The second system design question involved designing a database table schema and data storage strategy for a train booking system to find available seats. The complexity was in handling bookings between any intermediate stations on a route (e.g., A to D, C to E). I presented a table design which he seemed pleased with.

Towards the end, he asked about my job change motivations, how Oracle could enhance my skills, how my expertise fits, and my career aspirations within Oracle. He then explained the types of projects and work developers do there. He concluded by informing me that all interview rounds were completed and I would hear back within a week.

Two days later, Oracle called to confirm I had cleared all rounds and offered me the Application Developer 3 role. I received the offer letter a week after that call.

Interview Questions (10)

Q1
Largest Sum Contiguous Subarray
Data Structures & AlgorithmsMedium

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. A subarray is a contiguous part of an array.
Example 1: Input: nums = [-2,1,-3,4,-1,2,1,-5,4] Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.
Example 2: Input: nums = [1] Output: 1
Example 3: Input: nums = [5,4,-1,7,8] Output: 23
Constraints:
1 <= nums.length <= 105
-104 <= nums[i] <= 104

Q2
Climbing Stairs
Data Structures & AlgorithmsEasy

You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Example 1: Input: n = 2 Output: 2
Explanation: There are two ways to climb to the top.
Example 2: Input: n = 3 Output: 3
Explanation: There are three ways to climb to the top.
Constraints:
1 <= n <= 45

Q3
Basic SQL Queries
OtherEasy

Write examples of some SQL queries:
1. Ascending and descending order
2. Group by and aggregate function

Q4
Mirror Binary Tree
Data Structures & AlgorithmsEasy

Write a code for converting binary tree into its mirror tree. Also, discuss iterative approach, top-down vs bottom-up techniques, and handle corner cases like nodes with one child.

Q5
Find Teacher Teaching English and Maths
OtherMedium

Given a table:

Teacher	Subject
A	English
B	Science
C	Maths
A	Maths
D	EVS
B	EVS
Write a query to find the teacher which teaches English and Maths. Like in this example answer will be A (in row 1 and 4).

Q6
Largest Number from Array
Data Structures & AlgorithmsMedium

Given an array of numbers, arrange them in a way that yields the largest value. For example, if the given numbers are {54, 546, 548, 60}, the arrangement 6054854654 gives the largest value. And if the given numbers are {1, 34, 3, 98, 9, 76, 45, 4}, then the arrangement 998764543431 gives the largest value.

Q7
Job Sequencing with Deadlines
Data Structures & AlgorithmsMedium

Find the job sequence of maximum profit.
Input: Five Jobs with following deadlines and profits

JobID   Deadline  Profit
a                2        100
b                1        19
c                2        27
d                1        25
e                 3        15
Output: Following is maximum profit sequence of jobs c, a, e.

Q8
Design OTT Platform Package Upgrade Feature
System DesignHard

Design and develop an upgrade program for an OTT platform from current package type to all possible higher package types, by calculating the difference amount for the 'remaining part of the year' (end date doesn’t change).
Details include Subscriber Id, Subscriber Name, Subscriber Address, Registered Mobile Number(RMN), Registered email, Current Package (Rs299/-, Rs599/-, Rs799/-, Rs1499/- All are yearly packages), Start Date of the package, End Date of the Package (365 days).
Example Scenario:
Start Date: 16-Jun-2021. End Date: 15-Jun-2022. Current Package : Rs 299/- (assume changed to 799/- for example). Current Date : 1–Apr-2022.
SMS Output:

Deal Offer of the day
Your Current package details : <799/->
Your End Date of current package: <<15-Jun-2022>>
Grab Upgrade deals:
599/-: <>
799/-: <>
1499/- : <>
The requirement is to design this complete end-to-end feature, from database design to backend code, including tech stack recommendations.

Q9
Practical Applications of Searching and Sorting
Behavioral

Explain what searching and sorting are, why they are used, and provide practical real-world examples where sorting is essential. Discuss challenges of operating without sorting (e.g., in a medical shop context).

Q10
Design Train Booking System for Seat Availability
System DesignMedium

Design the database table schema and data storage approach for a train booking system to find available seats. Consider a train route with multiple stations (e.g., A, B, C, D, E) where tickets can be bought between any intermediate stations (e.g., A to D, C to E, A to E).

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!