oracle logo

Oracle Interviews

74 experiences3,194 reads507 questions39% success rate
Oracle Interview Experience | OAL | IC3 | Reject
oracle logo
Oracle
Senior AI engineerRejected
December 23, 202529 reads

Summary

I applied for a Senior AI engineer role at Oracle's OAL team and went through an OA with machine learning and coding challenges. Despite solving the coding question optimally, I faced challenges in the interview round where I struggled with a backtracking question. However, I performed well on LRU cache and Top Kth Element problems. The puzzle about measuring 9 minutes with hourglasses was solved correctly. Overall, I didn't receive positive feedback and was rejected.

Full Experience

I applied for a Senior AI engineer role at Oracle's OAL team through Naukri. The OA included topics like Machine Learning, LLM, Prompt Engineering, Aptitude, and Problem Solving. There were 10 MCQs and one coding question where I had to find the index to remove from an array so that the sum of even and odd positions equals. I initially used a brute force approach but then optimized it to pass all test cases.

In the first interview round, there were two interviewers, one being the Hiring Manager. The HM asked a backtracking coding question about generating number strings where the sum of digits equals a lucky number K. I struggled with this and bombed it. The other interviewer asked questions about my resume and then moved on to two coding problems: LRU cache using a doubly linked list and Top Kth Element using a min heap. I answered these well. The HM also asked a puzzle about measuring 9 minutes with 7 and 4-minute hourglasses, which I solved in 5 minutes. However, the HR informed me I didn't get positive feedback and was rejected, likely due to the initial challenges.

Interview Questions (5)

Q1
Find Index to Remove for Equal Even-Odd Sum
Data Structures & AlgorithmsMedium

Given an array of numbers, remove one number at any index such that the sum of values at even and odd positions becomes equal. Return the index of the array. If multiple indices are present, return the first one. If no such index exists, return -1.

Q2
Generate Number Strings with Digit Sum K
Data Structures & AlgorithmsHard

Given a string length N and a lucky number K, return all number strings where the sum of digits equals K. For example, for N=4 and K=9, valid outputs include "0009" and "5742".

Q3
LRU Cache Implementation
Data Structures & AlgorithmsMedium

Implement an LRU cache using a doubly linked list.

Q4
Top Kth Element Using Min Heap
Data Structures & AlgorithmsMedium

Find the Kth largest element in an array using a min heap.

Q5
Measure 9 Minutes with Hourglasses
System Design

You have two hourglasses: one that measures 7 minutes and another that measures 4 minutes. You need to measure exactly 9 minutes.

Oracle | IC4 | Interview Experience | Ghosted by HR
oracle logo
Oracle
ic4withdrew
December 14, 202549 reads

Summary

I went through the interview process for Oracle's IC4 role at Oracle Health. The interviews were a mix of technical and behavioral rounds, but I was ultimately ghosted by HR and didn't receive any feedback.

Full Experience

I had recently interviewed with Oracle for the position of IC4 at Oracle Health. The process started with a screening round on October 30th, where I was asked basic OOPs concepts, string immutability, serialization, synchronization, and some data structure questions. I also had to implement reverse a string using recursion and discuss linked list operations.

The next round on November 10th was a DSA round with two LeetCode problems: maximum product of three numbers and search in rotated sorted array. I had to solve these on paper, which was a bit challenging.

The third round on November 12th was a HLD round, where I discussed technologies used, Java versions, AWS, and a parking lot HLD. The fourth round was a hiring manager round focusing on project discussions and behavioral questions. The final round was a bartender round, where I discussed projects and a hospital management HLD.

Despite the interviews being average to good, I was surprised to be asked for the HLD of a parking lot. After the interviews, I was ghosted by HR and didn't receive any feedback.

Interview Questions (2)

Q1
Maximum Product of Three Numbers
data structures & algorithmsmedium

Given an integer array, find three numbers such that their product is maximum. The array can contain negative numbers, zeros, and positive numbers.

Q2
Search in Rotated Sorted Array
data structures & algorithmsmedium

Given a sorted array that has been rotated at some pivot unknown, find the index of a given target. The array may contain duplicates.

Oracle ic4
oracle logo
Oracle
Rejected
December 12, 2025100 reads

Summary

I recently went through a technical screen at Oracle for an IC4 role, which I unfortunately failed. The interview was heavily focused on system design and behavioral questions rather than traditional data structures and algorithms.

Full Experience

I recently experienced a technical screen at Oracle for an IC4 position, and unfortunately, it didn't go as planned, leading to me bombing it. This interview notably leaned more towards system design and behavioral aspects than the typical LeetCode-style DSA problems I might have expected.

The session kicked off with a series of STAR method behavioral questions. I was asked to describe a time when I made a significant mistake and how I went about fixing it. We also discussed the technologies and frameworks I typically use, with an emphasis on highlighting specific frameworks. Another behavioral question prompted me to recall a situation where I was working on something I initially didn't understand at all, and how I managed to overcome that challenge to complete the task.

The technical portion, administered via HackerRank, consisted of two main problems. The first task was to design a server scheduler. I was given a server and an end time for a task, and my implementation needed to return a signal indicating whether the job could or could not be run. The second question built directly on the first, extending the scenario to include multiple servers with dependencies. This problem was explicitly described as similar to the 'Course Scheduler' problem found on LeetCode, strongly suggesting a solution involving a directed graph and Depth-First Search (DFS).

Interview Questions (4)

Q1
Describe a Mistake and Resolution
Behavioral

Describe a time when you made a mistake and explain how you fixed it.

Q2
Overcoming Lack of Understanding
Behavioral

Describe a time where you were working on something you didn't understand anything, and how you managed to overcome that challenge.

Q3
Single Server Scheduler Design
System Design

Design a server scheduler. You are given a server and an end time for a task, and the system should return something to indicate whether the job can or cannot be run.

Q4
Course Scheduler with Dependencies (Multiple Servers)
Data Structures & AlgorithmsMedium

This problem built on the single server scheduler, extending it to a scenario with multiple servers and task dependencies. It was explicitly compared to the LeetCode 'Course Scheduler' problem, suggesting a solution using a directed graph and DFS.

Oracle Sep 2025 PMTS Screening Round | Poor experience
oracle logo
Oracle
PMTSNo Offer
December 11, 202560 reads

Summary

I had a poor screening experience for a PMTS role at Oracle. Despite managing to code the Kth Largest element in a BST and discussing the LLD for a multilevel parking system, severe time constraints and technical issues on HackerRank led to a frustrating interview and ultimately, no offer.

Full Experience

My screening round for the PMTS role at Oracle was a truly poor experience. The interview began with two behavioral questions. Following this, I was given a coding challenge: Kth Largest element in BST. I was able to complete the code along with the necessary boilerplate, but I encountered a significant issue with HackerRank's compiler. This technical glitch wasted at least 7-8 minutes, during which the interviewer remained completely unhelpful, simply watching me struggle. Frustrated, I eventually had to ask him to compile the code on his own system to verify it.

Next, I was asked to perform a complete Low-Level Design (LLD) of a multilevel parking system. At this point, only 20 minutes were left for this entire section. I clarified with the recruiter what was expected given the severe time constraint, and he mentioned that a complete design with code was required. With such limited time, I could only define the Functional Requirements (FR) and Non-Functional Requirements (NFR), sketch out a class diagram, and briefly explain my approach for reserving and freeing parking slots, along with a high-level discussion of the API design. The expectation of a complete design and code in such a short period was extremely infuriating.

I tried to reach out to the recruiter multiple times regarding the issues I faced during the interview, but he informed me that he could not provide any assistance. My overall impression of Oracle's interview process, particularly their time management and the conduct of their interviewers, was very negative. If they intend to ask LLD questions in a screening round, they should allocate sufficient time or stick exclusively to LeetCode-style problems. Their attempt to emulate Amazon's approach of including behavioral questions in all rounds, but with such poor execution, truly sucks.

Thumbs down to their pathetic code of conduct.

Interview Questions (2)

Q1
Kth Largest Element in BST
Data Structures & AlgorithmsMedium

Given the root of a binary search tree (BST) and an integer k, return the kth largest value (1-indexed) of all the values of the nodes in the BST.

Q2
Low-Level Design (LLD) of a Multilevel Parking System
System Design

Design a complete Low-Level Design for a multilevel parking system. This includes defining functional and non-functional requirements, creating a class diagram, and detailing the approach for reserving and freeing parking slots, along with API design.

Oracle On-Campus Interview Experience
oracle logo
Oracle
intern + fteOffer
November 29, 202577 reads

Summary

I recently had the opportunity to interview with Oracle for an Intern + FTE role through their on-campus placement drive. The entire process consisted of an online assessment followed by four rounds of interviews: two technical, one managerial, and a final HR round, culminating in a successful offer.

Full Experience

My Oracle On-Campus Interview Experience

I recently participated in Oracle's on-campus placement drive, aiming for an Intern + FTE role. The selection process was comprehensive, starting with an Online Assessment, followed by four distinct interview rounds: two technical, one managerial, and a final HR round.

Round 1: Technical Round (45 mins)

This round was quite intense, focusing heavily on core Computer Science concepts, theoretical knowledge, and basic coding skills. We delved into various topics to assess my foundational understanding.

Round 2: Technical Round (45 mins)

The second technical round was a blend of Data Structures and Algorithms (DSA) and further CS fundamentals. This round involved solving specific coding problems and discussing more complex concepts.

Round 3: Managerial Round (30 mins)

This round was designed to test my problem-solving abilities beyond just technical skills, evaluating my behavioral aspects and how I handle pressure in challenging situations. It was more about my approach and thought process.

Round 4: HR Round (5 mins)

The final HR round was brief and focused on standard questions to assess cultural fit and logistical preferences, confirming my alignment with the company's expectations.

Ultimately, I received an offer for the Intern + FTE role, which I was very excited about!

Interview Questions (21)

Q1
Explain TCP and UDP
Other

Describe what TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are, highlighting their fundamental differences and characteristics.

Q2
TCP vs UDP Use Cases
Other

When do we use TCP and when UDP? Provide examples of scenarios where each protocol is more suitable and explain the reasoning behind your choices.

Q3
HTTP Status Codes
Other

Discuss the significance of HTTP Status Codes. Provide examples of common status codes and explain their meanings (e.g., 200, 404, 500).

Q4
Gold Rod Payment Puzzle
Other

An employee works for 7 days. The employer has a gold rod of 7 units. How does the employer pay the employee 1 unit at the end of each day? Maximum 2 cuts allowed.

Q5
Types of Constructors
Other

Explain the different types of constructors found in object-oriented programming (e.g., default, parameterized, copy constructor), and when each type is typically used.

Q6
Virtual Functions
Other

What is a Virtual Function? Explain its purpose, how it's implemented (e.g., in C++), and its role in achieving polymorphism.

Q7
Favorite Data Structure Discussion
Other

Which data structure do you like more and why? Discuss your preferred data structure, its advantages, disadvantages, and common use cases.

Q8
SQL Joins
Other

Explain different types of Joins in SQL (e.g., INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN). Describe their functionality and provide examples of when to use each.

Q9
BFS Algorithm Implementation
Data Structures & Algorithms

Write code to implement the Breadth-First Search (BFS) algorithm.

Q10
Reverse Words in a String III
Data Structures & Algorithms

Given a string with words, reverse each word individually. Example: "Hello World" → "olleH dlroW"

Q11
Design Tic-Tac-Toe Game
System Design

Design a Tic-Tac-Toe game. Consider the data structures needed to represent the board, the logic for making moves, and how to determine a winner.

Q12
Kth Minimum Salary SQL Query
Other

Write a SQL query to find the Kth minimum salary from a table. Assume you have an 'employees' table with a 'salary' column.

Q13
Duplicate Class Names in JAR
Other

What happens when you have same-named classes in a JAR file and you call that class? Explain the class loading mechanism in such a scenario.

Q14
Fair Cake Sharing Puzzle
Other

You and I have a cake. I took some uneven part from it. Now your friend comes. How can you both share the remaining cake equally?

Q15
Describe Yourself Beyond Resume
Behavioral

Tell me something not in your resume that defines who you are. This could be a hobby, a passion, or a characteristic not evident from your professional experience.

Q16
Critical Situation Handling
Behavioral

Your team has written 100K lines of code and delivered it to the client. The client faces an issue, and your entire team is on leave except you. How do you solve this situation?

Q17
Explain HashMap Working
Data Structures & Algorithms

Explain the working of a HashMap. Describe its internal structure, how elements are stored, collision resolution techniques, and its time complexity for common operations.

Q18
Location Preference
Behavioral

What is your preferred work location, and are you open to other locations?

Q19
Willingness to Relocate
Behavioral

Are you willing to relocate for this role?

Q20
Other Offers
Behavioral

Do you have any other job offers or are you currently interviewing with other companies?

Q21
Questions for Interviewer
Behavioral

Do you have any questions for us about the role, the team, or Oracle as a company?

Oracle On-Campus
oracle logo
Oracle
software developeron-campusRejected
November 27, 202575 reads

Summary

I participated in Oracle's campus hiring for a Full-Time Software Developer role, successfully clearing all technical rounds but ultimately receiving a rejection after the HR and managerial interview.

Full Experience

Oracle visited our campus in September 2024, recruiting for Full-Time Software Developer roles across different teams. I went through their interview process which included an online assessment, two technical interviews, and a final HR/managerial round.

Round 1: HackerRank Online Assessment

This round comprised one coding question based on simple math/triangles and multiple-choice questions covering Aptitude, OS, CN, OOPs, and DBMS. I attempted all questions and felt confident about my performance, believing I scored around 80%.

Round 2: Technical Interview 1 (In-person)

This interview focused on Data Structures & Algorithms, my resume, and frontend concepts. I was asked to implement Merge Sort and traverse a linked list, demonstrating both brute-force and optimized approaches. We also discussed my project and tech stack from my resume, along with the detailed steps involved when entering a web page URL. Frontend questions touched upon HTML tags, React DOM, unit testing, semantic elements, and CSS basics. I felt very confident about this round and successfully cleared it.

Round 3: Technical Interview 2 (In-person)

The second technical interview delved deeper into DSA, Java, and OOPs. I implemented a solution to remove duplicates from a linked list, presenting both a brute-force and an optimized method. Java discussions included a simple multithreading implementation and some high-level concepts. For OOPs, I was asked about inheritance implementation and some tricky theoretical questions. This round also felt positive, and I moved to the final stage.

Round 4: HR + Managerial

This final round covered cultural fit questions, further discussion of my resume, and an explanation of the client-server flow and its steps. Honestly, I couldn’t quite gauge the interviewers' mood during this session.

Despite clearing all the technical rounds, I received a rejection. I had been hopeful, especially after feeling good about the HR round. It was my first in-person interview, and I genuinely felt I performed strongly on the technical aspects. While the rejection was disheartening, I knew I had given my best. I suspect less preparation for the managerial/behavioral questions and more spontaneous answers might have contributed to the outcome. I hope sharing my experience can be helpful for others preparing for interviews.

Interview Questions (5)

Q1
Merge Sort Implementation
Data Structures & Algorithms

I was asked to implement the Merge Sort algorithm, demonstrating the code and explaining its working principle.

Q2
Linked List Traversal (BF + Optimized)
Data Structures & Algorithms

I needed to explain and implement ways to traverse a linked list, covering both brute-force and optimized approaches.

Q3
Steps When Entering a Web Page URL
System Design

I was asked to describe the detailed sequence of events and steps that occur from the moment a user types a web page URL into a browser until the page is rendered.

Q4
Remove Duplicates from Linked List (BF + Optimized)
Data Structures & Algorithms

I had to implement a solution to remove duplicate nodes from a linked list, presenting both a brute-force and an optimized method.

Q5
Client-Server Flow and Steps
System Design

In the HR/Managerial round, I was asked to explain the client-server communication flow and outline its various steps.

Oracle USA PMTS Offer
oracle logo
Oracle
Principal MTSWithdrew
November 22, 202573 reads

Summary

I received an offer for the Principal MTS role at Oracle USA after a series of phone screen and onsite interviews, which I ultimately passed on due to competing staff-level offers.

Full Experience

I interviewed for the Principal MTS (PMTS) level at Oracle USA. The process involved a phone screen followed by a comprehensive onsite loop.

Phone Screen (60 mins)

  • I faced 2 behavioral questions.
  • There was 1 standard coding question on binary trees, which I completed quickly in about 5 minutes.
  • The main focus was a system design problem centered on a metrics and logging system. This round lasted almost 35 minutes and involved extensive discussions on Kafka, Elastic Search DB, various design choices, and tradeoffs.

Onsite Interview Rounds

My onsite interviews included:

  • System Design: This round began with 2 behavioral questions. The core technical part was to design a job scheduler system. Having studied this topic previously, the conversation flowed smoothly. The interviewer delved deep into indexes, specifically primary and sort keys of DynamoDB, Global Secondary Indexes (GSI), and the rationale behind using NoSQL for such a system.
  • Hiring Manager: This 60-minute session was split into 30 minutes of behavioral questions and 30 minutes dedicated to system design. The design question was closely related to the hiring manager's team's work. They probed extensively into all my design choices, requiring me to propose alternatives and compare tradeoffs, and also discuss the design's flexibility in adapting to future requirement changes.
  • Coding Round 1: After 2 behavioral questions, I received a big question prompt on Hackerrank. It involved flights data with dependencies (e.g., flight1 → flight2). The task was to return a sorted list of all delayed flight IDs, given an initial list of delayed flights. I recognized it as a simple DFS application, though I initially considered topological sort.
  • Bar Raiser (Bar Tender): This 60-minute session was an in-depth conversation covering my background, most challenging project, design choices, my role and impact, collaboration with other teams, conflict resolution, situations where things went south, and how I mentored junior/mid-senior engineers. It was a lot of talking.
  • Coding Round 2: Similar to the first coding round, this also started with 2 behavioral questions. The problem statement was explained verbally, without a prompt on Hackerrank, so I took notes. The question boiled down to finding the maximum length of a subarray with all unique IDs in a given list. A follow-up asked what if the subarray could contain at most 'k' distinct unique IDs. I knew these types of problems are common on LeetCode.

The recruiter contacted me within two days with positive feedback and an offer. However, I ultimately decided to pass on the offer as I had competing staff-level offers from other companies.

Overall, I found the conversations pleasant and the interviewers to be good.

Interview Questions (4)

Q1
Design a Metrics and Logging System
System Design

Design a system for metrics collection and logging. Discuss core components, design choices, and tradeoffs. Specific areas of discussion included Kafka and ElasticSearch DB.

Q2
Design a Job Scheduler System
System Design

Design a job scheduler system. The discussion delved into details such as indexes, primary and sort keys for DynamoDB, Global Secondary Indexes (GSI), and the rationale for using a NoSQL database in this context.

Q3
Delayed Flights with Dependencies
Data Structures & Algorithms

Given flights data with dependencies (e.g., flight1 → flight2), and a list of flight IDs that are delayed, return a sorted list of all flight IDs that will be delayed due to these initial delays, considering the dependencies.

Q4
Max Length Subarray with Unique IDs (and k Distinct IDs)
Data Structures & Algorithms

Given a list of IDs, find the maximum length of a subarray that contains all unique IDs. As a follow-up, consider a variant where the subarray can contain at most 'k' distinct unique IDs.

Oracle SMTS Interview Experience
oracle logo
Oracle
sde 2Offer
November 14, 2025238 reads

Summary

I interviewed with Oracle for an SDE 2 role and successfully received an offer. The interview process included a screening round, two technical rounds, a behavioral round, and a system design round, covering DSA, Java/Spring Boot, SQL, JavaScript, and system design principles.

Full Experience

I recently had the opportunity to interview with Oracle for an SDE 2 position and was delighted to receive an offer. My interview journey spanned several rounds, each designed to evaluate different aspects of my technical prowess and behavioral aptitude.

Screening Round:

The initial screening round presented me with a LeetCode medium-level problem that required the use of a priority queue. This was followed by questions specifically targeting Java and Spring Boot frameworks.

Loop Interviews:

Round 1: Technical Round (1 hour)

This round was heavily focused on Data Structures and Algorithms. I encountered two DSA problems: one involved a hashmap, which was relatively easy, and another tree-based problem that bore a strong resemblance to LeetCode's "Binary Tree Maximum Path Sum". Additionally, the interviewer delved into JavaScript topics, specifically questioning my understanding of page rendering/loading optimizations and the event loop.

Round 2: Technical Round (~1 hour)

The second technical round featured a LeetCode medium-level graph problem. Further discussions ensued around Java/Spring Boot, and I was also asked to write SQL queries for two distinct problems.

Round 3: Behavioral Round (45 minutes)

This round was dedicated to assessing my behavioral skills. I was presented with various situation-based questions designed to understand my approach to teamwork, problem-solving, and conflict resolution.

Round 4: System Design Round (~1.5 hours)

The system design challenge was to "Design BookMyShow". The interviewer's primary interest was in my approach to handling concurrency. I was explicitly asked to focus on the concurrency aspects and to bypass the detailed design of services or APIs. We also discussed multithreading in depth, and there were questions related to the projects I had mentioned in my resume.

Ultimately, I was selected, and I'm very pleased with the outcome.

Interview Questions (2)

Q1
Binary Tree Maximum Path Sum (Variant)
Data Structures & Algorithms

A tree-based problem similar to LeetCode's 'Binary Tree Maximum Path Sum', which typically involves finding the maximum sum of a path between any two nodes in a binary tree.

Q2
Design BookMyShow
System Design

Design a system like BookMyShow, focusing specifically on handling concurrency. The interviewer requested to concentrate on concurrency aspects rather than designing services or APIs.

Oracle interview | Fresher | Application Developer | IC-2 level
oracle logo
Oracle
application developer ic-2Ongoing
November 12, 202594 reads

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:

  1. 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.
  2. Another puzzle asked for the number of equilateral triangles that can be formed using 6 matchsticks.

Following the puzzles, there were two SQL questions:

  1. One involved joining tables and finding the Nth highest salary, with a follow-up to discuss different ways to achieve this.
  2. 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:

  1. Write code to validate if a date given in "DDMMYYYY" format is correct.

DBMS questions were next:

  1. I was asked to explain ACID properties with examples.
  2. 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:

  1. 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.
  2. A word problem was presented that clearly indicated the use of Dijkstra's algorithm, followed by Bellman-Ford (with a reminder to consider constraints).
  3. 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:

  1. I was asked about my academic branch and my motivation to switch into the IT industry.
  2. My minor degree was also a topic of discussion.
  3. 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.
  4. I was asked to explain the SOLID principles of OOPs.
  5. They inquired about my understanding of Oracle's operations and why I believed I would be a good fit for the Application Developer role.
  6. Another question was about how I managed to balance core academics, learn technical skills, and maintain a good CGPA simultaneously.
  7. Finally, I was given the opportunity to ask questions.

Interview Questions (17)

Q1
Blindfolded Coin Split
Other

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

Q2
Equilateral Triangles with 6 Matchsticks
Other

Determine the number of equilateral triangles that can be formed using exactly 6 matchsticks.

Q3
Nth Highest Salary with Table Joins
Other

Given employee salary data across multiple tables, join them and find the Nth highest salary. Discuss different approaches to solve this problem.

Q4
Convert Percentage to Grades
Other

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.

Q5
Validate Date Format DDMMYYYY
Data Structures & Algorithms

Write code to validate if a given string in 'DDMMYYYY' format represents a correct and valid date.

Q6
ACID Properties in DBMS
Other

Explain the ACID properties (Atomicity, Consistency, Isolation, Durability) in DBMS with suitable examples.

Q7
Database Normalization
Other

Explain database normalization and its practical use cases.

Q8
OOPs Four Pillars
Other

Explain the four pillars of Object-Oriented Programming (Encapsulation, Inheritance, Polymorphism, Abstraction) and discuss their use cases, especially in the context of my projects.

Q9
Subarray with Min Size M and Sum K
Data Structures & Algorithms

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.

Q10
Word Problem: Dijkstra's and Bellman-Ford
Data Structures & Algorithms

Solve a word problem that requires the application of Dijkstra's algorithm, followed by Bellman-Ford algorithm, keeping in mind specific constraints.

Q11
Leaf Nodes Leading to Root with Mirror
Data Structures & Algorithms

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.

Q12
Career Transition to IT
Behavioral

Discuss your academic branch and explain your motivation for transitioning into the IT industry.

Q13
Minor Degree Discussion
Behavioral

Discuss details about your minor degree.

Q14
Internship Project Deep Dive
Behavioral

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.

Q15
OOPs SOLID Principles
Other

Explain the SOLID principles of Object-Oriented Design.

Q16
Why Oracle and This Role?
Behavioral

Demonstrate your understanding of Oracle's business and explain why you believe you are a good fit for this specific role.

Q17
Managing Academics and Skill Development
Behavioral

Describe how you managed to balance core academic studies with learning technical skills while maintaining a good CGPA.

Oracle Interview Experience
oracle logo
Oracle
November 6, 2025156 reads

Summary

I recently completed a 5-round interview process at Oracle, which assessed my skills in Data Structures & Algorithms, System Design, and behavioral competencies. The experience covered various technical challenges and discussions.

Full Experience

My interview journey at Oracle consisted of five distinct rounds.

The first round was a DSA Online/Technical Coding Round on HackerRank/CodePair. I was given two medium-level problems, which involved concepts like arrays, hashmaps, and sliding window. The emphasis was on writing clean, optimized code and clearly articulating my approach.

Following that, I had a second DSA Technical Coding Round. The questions in this round were slightly more challenging, focusing on binary search, heaps, and dynamic programming. There were also follow-up questions centered on optimizing for both time and space complexity.

The third round was another DSA Technical Coding Round, which delved into problem-solving combined with data structure design. For instance, I was asked questions related to designing systems like an LRU Cache or a custom stack. This round also involved handling edge cases and performing dry runs with test cases.

Next up was the System Design Round. As this was for an experienced role, the discussion was more focused on low-level design. We talked about designing scalable systems, such as a URL shortener, a notification service, or a booking system. Key areas of discussion included choosing appropriate databases, designing APIs, managing concurrency, and understanding various trade-offs.

Finally, the fifth round was a Managerial + HR Round. This round primarily involved discussions about my previous projects, the challenges I've encountered, and my experiences working in team scenarios. I also faced a few behavioral questions, such as 'Tell me about a time you disagreed with your manager?' and 'How do you handle deadlines and pressure?'. There were also some light technical questions to gauge my overall understanding.

Interview Questions (7)

Q1
Design LRU Cache
Data Structures & AlgorithmsMedium

Design and implement a Least Recently Used (LRU) cache. The problem also included some edge case handling and test case dry runs.

Q2
Design a Custom Stack
Data Structures & AlgorithmsMedium

Design and implement a custom stack. This involved problem-solving and data structure design, including edge case handling and test case dry runs.

Q3
Design a URL Shortener
System DesignHard

Design a scalable system like a URL shortener. Focus on aspects such as database choice, APIs, concurrency, and trade-offs.

Q4
Design a Notification Service
System DesignHard

Design a scalable system like a notification service. Topics included database choice, APIs, concurrency, and trade-offs.

Q5
Design a Booking System
System DesignHard

Design a scalable booking system. Topics included database choice, APIs, concurrency, and trade-offs.

Q6
Disagreement with Manager
Behavioral

Tell me about a time you disagreed with your manager.

Q7
Handling Deadlines and Pressure
Behavioral

How do you handle deadlines and pressure?

Oracle OCI | Interview Experience | Rejected
oracle logo
Oracle
MTS II4.2 yearsRejected
November 4, 202571 reads

Summary

I interviewed for a Senior Member of Technical Staff (SMTS) role at Oracle OCI across multiple rounds, which included coding, system design, and behavioral questions. Although I performed well in most rounds, a challenging system design question in the final round led to my rejection for SMTS, though I was offered a Member of Technical Staff (MTS) role, which I declined.

Full Experience

I recently interviewed for the SMTS (Senior Member of Technical Staff) position at Oracle OCI. My current experience stands at 4.2 years at Informatica, a product-based company, with a compensation of around 32-34LPA CTC.

Interview Process

Screening Round

This round involved a coding question similar to 'Merge K sorted lists'. I was expected to provide a dry run and working code. We also discussed my projects, Apache Spark vs. Flink, and the concept of statelessness in REST APIs. I successfully cleared this round.

Loop Round 1 (Taken by SMTS)

In this coding round, I was asked to convert a prefix expression to a postfix expression (e.g., +ab to ab+). The second coding question was about designing an LRU Cache, including discussions on data structure choices, achieving constant-time operations, and making it thread-safe. I performed well and received a 'Strong Hire' rating.

Loop Round 2 (Bartender Round - Taken by PMTS)

This round focused heavily on my projects, with an in-depth discussion about the choices I made during development. I also faced questions about managing difficult stakeholders and several other behavioral scenarios. I received a 'Strong Hire' rating for this round as well.

Loop Round 3 (Taken by Hiring Manager)

This round was centered on High-Level Design (HLD). The problem involved designing a Concurrent Job Orchestrator that supports highly concurrent job executions, priority, license handling, and autoscalability. There were also some tricky behavioral questions. I was rated 'Hire/Strong Hire'.

Loop Round 4 (Taken by PMTS)

The final loop round began with an in-depth discussion about my projects, focusing specifically on the design decisions and reasoning behind using Apache Spark. The remaining 30 minutes were dedicated to a system design question:

Content Management System: A large multinational food company wanted a system to display in-store menu items for each of their locations. The system needed central management, the ability to show scheduled promotions, allow different prices per menu item at each location, and support breakfast, lunch, and dinner options.

I got really nervous during this design question and struggled to complete a comprehensive design within the 20-minute timeframe. This round did not go well, and I received a 'No Hire' rating.

Outcome

The recruiter eventually reached out. Due to my performance in the last round, the team could not offer me the SMTS position. Instead, they offered an MTS role, which I ultimately rejected.

Interview Questions (10)

Q1
Merge K Sorted Lists
Data Structures & Algorithms

A coding question similar to merging K sorted lists. Dry run and working code were expected.

Q2
Project Discussion and Apache Spark vs Flink
Other

Discussion about my projects, including a comparison between Apache Spark and Flink.

Q3
Statelessness in REST APIs
Other

Conceptual question about statelessness in REST APIs.

Q4
Prefix to Postfix Expression Conversion
Data Structures & Algorithms

Given a Prefix expression (e.g., +ab), convert it to a Postfix expression (ab+). Dry run and working code were expected.

Q5
Design LRU Cache (Thread-Safe)
Data Structures & Algorithms

Design an LRU Cache. Discussions involved data structure choices, achieving constant-time operations, and how to make the cache thread-safe (including suitable thread-safe data structures).

Q6
In-depth Project Discussion
Other

Detailed discussion about my projects and the rationale behind all choices made during development.

Q7
Managing Difficult Stakeholders
Behavioral

A behavioral question on how to manage difficult stakeholders, along with several other behavioral scenarios.

Q8
High-Level Design: Concurrent Job Orchestrator
System DesignHard

High-Level Design (HLD) for a Concurrent Job Orchestrator. The system needed to support highly concurrent job executions, prioritize tasks, handle licensing, and ensure autoscalability.

Q9
Project Discussion: Apache Spark Design Decisions
Other

In-depth discussion about my projects, focusing specifically on the design decisions and reasonings related to Apache Spark, as my project included it.

Q10
System Design: Content Management System for Multinational Food Company
System DesignHard

Design a Content Management System (CMS) for a large multinational food company. The system must display in-store menu items for each location, be managed centrally, support scheduled promotions, allow different pricing for menu items at each location, and offer breakfast, lunch, and dinner options.

Oracle OCI | IC3 | Pre-screening round
oracle logo
Oracle
SDE IIOngoing
October 10, 202583 reads

Summary

I completed a pre-screening round for an IC3 role at Oracle OCI, which focused on a data structures and algorithm problem involving processing a stock stream. I am currently awaiting the outcome, as the portal status remains 'Interview and Selection'.

Full Experience

In mid-September, I participated in a pre-screening round for an IC3 position at Oracle OCI. The interview primarily revolved around a single, complex data structures and algorithms problem. I am currently awaiting further communication regarding my application, and the status on the recruitment portal remains 'Interview and Selection'.

Interview Questions (1)

Q1
Top K Most Expensive Stocks in Last T Minutes from a Stream
Data Structures & Algorithms

You are given a stream of Stocks with data points like (Stock_Name, Price, Time). Implement a function that will return the top K most expensive stocks observed within the last T minutes. Both K and T are not fixed and can vary with each function call. A key constraint is that if the same stock appears multiple times in the stream, its old price is invalidated, and only the latest price should be considered for the top K calculation.

Orcale Health Interview Experience
oracle logo
Oracle
October 9, 202586 reads

Summary

I recently experienced an interview process with Oracle Health, which included multiple rounds covering data structures, algorithms, system design, and behavioral questions.

Full Experience

My interview journey with Oracle Health commenced with a screening round focused on Data Structures and Algorithms. I was given two DSA problems, one of which was the classic Coin Change problem, and the other was related to counting sort. After successfully clearing the screening, I moved on to Round 1.

Round 1 was a mixed bag, testing both my Java knowledge and problem-solving skills. We discussed the differences between Java's abstract classes and interfaces, a fundamental concept. Following that, I tackled the LeetCode Median of Two Sorted Arrays problem. The interviewer also delved into my understanding of microservices, their advantages, REST APIs, and specific CRUD operations using an employee records example. We touched upon various types of pagination and the distinction between forbidden and unauthorized status codes. Finally, I was asked about the Java Stream API and how to extract the first 3 minimum and 3 maximum elements using it.

Round 2 was dedicated to High-Level Design (HLD). My task was to design a Metric and Logging Platform, which involved outlining the architecture and key components.

The third round was a "Bartender" round, which was essentially a behavioral interview. I was asked to share experiences about my most challenging project, a time when I took a risk and failed, how I handled negative feedback from a manager, an instance where I went beyond my role definition for a customer, and a situation where I set a personal goal and achieved it.

Finally, Round 4 was with the Hiring Manager, primarily focusing on a detailed discussion about my previous projects and a high-level system design question related to a Hospital Management System.

Interview Questions (17)

Q1
Coin Change Problem
Data Structures & Algorithms

Given an array of coin denominations and a target amount, find the minimum number of coins needed to make up that amount.

Q2
Difference between Java Abstract Class and Interface
Other

Explain the key differences between abstract classes and interfaces in Java, including their use cases, multiple inheritance, and method implementations.

Q3
Median of Two Sorted Arrays
Data Structures & Algorithms

Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

Q4
What are Microservices and their Advantages?
System Design

Explain what microservices architecture is and detail its advantages over monolithic architectures.

Q5
Understanding REST APIs
System Design

Explain what REST APIs are, their principles, and common use cases.

Q6
CRUD REST APIs with Employee Records Example
System Design

Describe the typical CRUD (Create, Read, Update, Delete) operations using REST APIs, providing a concrete example with employee records.

Q7
Types of Pagination
System Design

Discuss different types of pagination strategies used in web development and data retrieval.

Q8
Difference between HTTP 401 Unauthorized and 403 Forbidden
System Design

Explain the distinction and appropriate use cases for HTTP status codes 401 Unauthorized and 403 Forbidden.

Q9
Introduction to Java Stream API
Other

Explain the purpose and core concepts of the Java Stream API.

Q10
Extracting Min/Max Elements using Java Stream API
Other

Demonstrate how to retrieve the first 3 minimum and 3 maximum elements from a collection using the Java Stream API.

Q11
High-Level Design: Metric and Logging Platform
System Design

Design a scalable and reliable high-level architecture for a metric and logging platform.

Q12
Most Challenging Project
Behavioral

Describe your most challenging project, the obstacles you faced, and how you overcame them.

Q13
Time You Took a Risk and Failed
Behavioral

Share an experience where you took a significant risk that ultimately did not succeed. What did you learn from it?

Q14
Handling Negative Feedback from Manager
Behavioral

Describe a situation where you received negative feedback from your manager and how you responded to it.

Q15
Going Beyond Role Definition for Customer
Behavioral

Share an instance where you went outside of your defined role to meet a customer's requirement or solve a customer's problem.

Q16
Time You Set a Goal for Yourself
Behavioral

Describe a time when you set a significant goal for yourself and what steps you took to achieve it.

Q17
System Design: Hospital Management System
System Design

Design a high-level system for a Hospital Management System, outlining its key features and architectural considerations.

Oracle IC3 screening round
oracle logo
Oracle
October 1, 2025155 reads

Summary

I recently had a screening round for an IC3 position at Oracle, which involved a profile discussion followed by two Data Structures and Algorithms questions.

Full Experience

My screening round for an IC3 role at Oracle began with a thirty-minute discussion about my professional profile. Following that, I was presented with two Data Structures and Algorithms problems. The first question was about merging overlapping intervals, and the second involved finding the longest non-repeating substring within a given string.

Interview Questions (2)

Q1
Merge Intervals
Data Structures & AlgorithmsMedium

Given an array of intervals intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

For example, given [[1,3],[2,6],[8,10],[15,18]], the output should be [[1,6],[8,10],[15,18]].

Q2
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Given a string s, find the length of the longest substring without repeating characters.

For example, if s = "abcabcbb", the answer is 3 (for "abc"). If s = "bbbbb", the answer is 1 (for "b").

Oracle OCI | SMTS (IC3) | Workflow Team | TPS
oracle logo
Oracle
SMTS (IC3) | Workflow Team6.3 yearsOngoing
September 29, 2025123 reads

Summary

I recently had a screening round interview for the SMTS (IC3) role on the Workflow Team at Oracle OCI, which included an introduction, a behavioral question about my most challenging project, and a coding problem to design a video buffer data structure.

Full Experience

Hi Fam, I'm currently an SSE at Walmart with 6.3 years of experience. I recently appeared for a screening round for the SMTS (IC3) role on the Workflow Team at Oracle OCI. This round was taken by a fellow SMTS. The first 20 minutes were dedicated to an introduction and a discussion where I described the most challenging project I've worked on. Following that, I had a 40-minute coding session where I was given a problem to design a video buffer data structure. I'm currently waiting for further loop rounds to be scheduled.

Interview Questions (2)

Q1
Describe Most Challenging Project
Behavioral

Describe the most challenging project that you have worked on.

Q2
Video Buffer Data Structure Design
Data Structures & AlgorithmsMedium

You're working on a video streaming project and you've been asked to design a video buffer data structure to store a limited number of items. The data structure should support four operations: 'add', 'delete', 'getFirst', and 'getEnd'.

  • The 'add' operation should add an item, return True if it succeeds.
  • The 'delete' operation should delete the oldest element, return True if it succeeds.
  • The 'getFirst' operation should retrieve the oldest item in the data structure.
  • The 'getEnd' operation should retrieve the newest item in the data structure.

Constraint: Not allowed to use Java Collections Framework.

Oracle OCI | SMTS (IC3) | KMS | TPS
oracle logo
Oracle
MTS II6 yearsOngoing
September 23, 202580 reads

Summary

I recently interviewed for a Staff Member of Technical Staff (SMTS) position (IC3) at Oracle OCI within their KMS team, undergoing a screening round that included both coding and theoretical questions. The outcome is currently ongoing.

Full Experience

I recently went through a screening round for an SMTS role (IC3) on the KMS team, which is part of the Security Products Group at Oracle OCI. The KMS team is identified as a Tier-0 Service. The interview was conducted by a fellow SMTS. The round focused on two coding problems followed by theoretical discussions for the remaining 15 minutes.

Interview Questions (5)

Q1
Jump Game 1
Data Structures & AlgorithmsMedium

I was asked to solve the standard LeetCode problem, Jump Game 1.

Q2
Sum of Array Maximums After K Operations
Data Structures & Algorithms

Given an array, I needed to perform K operations. In each operation, I had to find the maximum element in the array and reduce it to half its value (floor). The goal was to find the sum of all elements in the array after K operations.

Q3
Scaling a System from 1K to 1M TPS
System Design

I was asked to explain how to scale a system's throughput from 1,000 transactions per second (TPS) to 1,000,000 TPS.

Q4
Productionizing a System
System Design

I had to explain the process and considerations involved in taking a system from development to production.

Q5
Spring vs. Spring Boot
Other

I was asked to discuss the differences and use cases between the Spring Framework and Spring Boot.

Oracle (OHAI) interview experience
oracle logo
Oracle
September 20, 202583 reads

Summary

I participated in a Blitz Hiring event at Oracle. The initial coding round featured a unique problem about constructing word squares, followed by interviews on resume, system design, and behavioral questions.

Full Experience

I attended the Oracle Blitz Hiring event. The first part was a coding round where I was presented with a challenging problem. This coding challenge focused on creating word squares from a given set of four-letter words. Following the coding assessment, I proceeded to three additional interview rounds. These subsequent interviews primarily delved into my resume, system design capabilities, and questions related to Oracle's Leadership Principles (OHAI LP).

Interview Questions (1)

Q1
Word Square Construction
Data Structures & Algorithms

Let's define a thing called a word square. A word square consists of four 4-letter words (named top, bottom, left, and right) arranged into a square such that the corner characters are shared. Words go left-to-right or top-to-bottom, and not the other ways. Write a function that takes a set of 4-letter strings as input and prints all word squares that you can make using the words in the input set. A word cannot be used more than once in a word square.

For example:

      top
    A C I D
    T     A
    O     R right
    M A R K
      bot
Oracle Screening Round - SSE
oracle logo
Oracle
SDE IINo Offer
September 6, 202541 reads

Summary

I attended a screening round for an SSE role at Oracle, which involved a coding question, a system design problem, and an LLD discussion. I believe my performance was affected by lack of sleep, potentially leading to a rejection or ghosting.

Full Experience

My Oracle screening round for the SSE role consisted of three distinct parts. The first part involved an easy-medium coding question centered around a Priority Queue. The second part was a System Design challenge to generate Unique IDs. Finally, the third part focused on the Low-Level Design (LLD) of a Singleton class.

I must admit, I felt quite jittery before and during the interview, likely due to insufficient sleep the night prior. This impacted my performance, particularly in Part 1 where I took too long to solve the problem. Additionally, I believe I overlooked a crucial detail in the LLD of the Singleton class, which may have led to my potential rejection or ghosting.

Interview Questions (2)

Q1
System Design: Unique ID Generator
System Design

Design a system that can generate unique identifiers efficiently and at scale.

Q2
Low-Level Design: Singleton Class
Other

Discuss or implement the Low-Level Design (LLD) of a Singleton class, including considerations for thread-safety and different implementation approaches.

Preparation Tips

My main tip is to ensure you get sufficient sleep the night before your interview. My lack of sleep made me feel jittery, which negatively impacted my performance and potentially led to me overlooking critical details in some parts of the interview.

Oracle Health | Senior Software Developer | IC3 | Interview Experience
oracle logo
Oracle
senior software developerRejected
September 4, 2025199 reads

Summary

I interviewed for a Senior Software Developer, IC3 role at Oracle Health in August 2025. Despite clearing most technical rounds and presenting viable solutions, I was ultimately rejected, with feedback that seemed to contradict the interview process itself, possibly due to a misalignment with my C++ background or role expectations.

Full Experience

Pre-screening Round

My interview journey with Oracle Health began in August 2025. After a recruiter reached out via email, we had a video conference where she detailed the Senior Software Developer profile, emphasizing it would be primarily backend work with some frontend.

This round covered various technical topics:

  • Differences between exceptions and errors in Java.
  • How to create an immutable class.
  • Concepts related to deadlock.
  • All SOLID principles with illustrative examples.
  • Factory and Abstract Factory design patterns.
  • Encapsulation versus Abstraction.
  • Questions on Actuator and Dispatcher Servlet, which I admittedly didn't know.
  • Discussion about my projects. I clarified that my professional experience was mainly in C++ but that I used Java extensively for DSA.

I left this round not expecting to proceed further, mainly due to my C++ background and my inability to answer the Spring Boot questions.

Loop Round 1 - Hiring Manager Round

This round started with introductions and a discussion about my current role. Surprisingly, the hiring manager mentioned they were looking for a frontend developer, which directly contradicted the recruiter's information about a backend-focused role. Despite this, the interview continued.

We discussed API query parameters, path variables, and request bodies. The main focus was a system design question for a BookMyShow-like service. The interviewer was primarily interested in requirements and API design, specifically asking for API request types, request bodies, and response bodies. We skipped database schema and estimations due to time constraints, and I concluded by creating an HLD diagram. The interviewer was friendly throughout.

Loop Round 2 - DSA

After a brief project discussion, I was asked to convert a number to a Roman numeral. My initial solution used a direct mapping for all combinations (e.g., 1000, 900, 500, 400). The interviewer then challenged me to use only base mappings (1000, 500, etc.) and make the solution "extensible." I provided a hardcoded solution for this, which wasn't satisfactory. He then hinted at a pattern where for 'even' values (like 1000), the next subtraction rule might be at index +2, and for 'odd' values (like 500), at index +1. I coded this, but I argued that this pattern itself wasn't truly "extensible" for Roman numerals, as they are fixed, and this arbitrary pattern wasn't a universal rule. I felt I had provided a correct solution, even if not meeting his specific "extensible" criteria for an inherently non-extensible system.

Loop Round 3 - Bartender Round

This round began with the interviewer introducing himself, followed by questions about my current work and projects, focusing on a specific feature I implemented. He tried to delve quite deeply into the feature, which I felt was beyond the scope of this round, especially since my C++ protocol development work was hard for him to grasp. Despite my use of analogies, I doubt he fully understood. We also discussed disagreements with seniors. The interviewer was neutral, neither friendly nor rude.

Loop Round 4 - DSA

This round involved a mix of DSA and core Java concepts:

  • I had to implement a producer-consumer problem using two threads to count and print odd and even numbers alternately, using wait/notify.
  • Questions on Cloneable, Serializable, and the transient keyword.
  • Implementing an immutable class and the use of the final keyword.
  • Creating a thread-safe singleton class.
  • A DSA question to find a cycle in a linked list. I offered both the slow/fast pointer and HashSet approaches. He requested another approach, but I couldn't recall one.
  • Another DSA question was about the sum of values of all leaf nodes in a binary tree. I provided a recursive solution, and when he clarified he wanted only the sum of leaf nodes at the deepest level, I quickly adapted my code. I performed dry runs for both DSA problems.

This interview went very well, and I felt I answered about 90% of the questions correctly. I couldn't answer some specific questions like the drawbacks of Cloning or the multiton pattern.

Verdict: Not Selected

The recruiter later provided feedback, which was quite conflicting:

  1. The hiring manager claimed I failed to implement the DB schema in the system design round, which was baffling because she explicitly told me to skip it and focus on API design.
  2. She also stated I couldn't make the system design, which I strongly disagree with. I provided a design, asked clarifying questions, and offered options when she gave no input, always confirming my choices.
  3. Another piece of feedback claimed I couldn't come up with a solution for one of the DSA rounds. This is also untrue; I provided correct solutions, even if one wasn't "extensible" in the way the interviewer preferred for an inappropriate problem context.

In conclusion, I'd advise caution with overly "friendly" interviewers. I suspect my rejection was more likely due to my C++ background or the initial confusion about the role's frontend/backend requirements, leading the hiring manager to fabricate feedback. This kind of experience can be quite disheartening for job seekers.

Interview Questions (15)

Q1
Java Exceptions & Errors
Other

Explain the differences between exceptions and errors in Java, and how they are typically handled.

Q2
Create Immutable Class in Java
Other

Describe the principles and steps to create an immutable class in Java. Provide a code example.

Q3
Deadlock Concepts
Other

Explain what a deadlock is in concurrent programming, its necessary conditions, and common strategies for prevention or detection and recovery.

Q4
SOLID Principles with Examples
Other

Elaborate on each of the five SOLID principles of object-oriented design and illustrate them with practical examples.

Q5
Factory vs. Abstract Factory Pattern
Other

Differentiate between the Factory Method and Abstract Factory design patterns. Explain their use cases and provide examples for each.

Q6
Encapsulation vs. Abstraction
Other

Compare and contrast encapsulation and abstraction in object-oriented programming, highlighting their distinct purposes and how they are implemented.

Q7
Spring Boot Actuator & Dispatcher Servlet
Other

Explain the roles and functionalities of Spring Boot Actuator and the Dispatcher Servlet in a Spring application context.

Q8
Design BookMyShow-like Service
System DesignMedium

Design a system similar to BookMyShow for ticket booking. Focus on defining core requirements, API design (including request types, request bodies, and response bodies). You may skip detailed database schema and capacity estimations. Finally, provide a High-Level Design (HLD) diagram.

Q9
Integer to Roman Numeral Conversion (Extensible)
Data Structures & AlgorithmsMedium

Convert an integer to its Roman numeral representation. The interviewer was particularly interested in an 'extensible' solution, suggesting that mappings should primarily be for base values (e.g., 1000, 500, 100) and that combinations (e.g., 900, 400) should be derived through a pattern, such as 'for even indexes, subtraction is at +2, and for odd, at +1'.

Q10
Producer-Consumer for Odd/Even Numbers
OtherMedium

Implement a producer-consumer problem using two threads. One thread should produce odd numbers, and the other even numbers, ensuring they are printed alternately. Use Java's concurrency primitives like wait() and notify() for synchronization.

Q11
Java Concurrency & Serialization Concepts
Other

Explain the purpose and usage of the Cloneable and Serializable interfaces, and the transient keyword in Java. Discuss their implications and potential pitfalls.

Q12
Immutable Class Implementation & Final Keyword
Other

Demonstrate how to implement an immutable class in Java. Discuss the various applications and implications of the final keyword when used with variables, methods, and classes.

Q13
Thread-Safe Singleton Pattern
OtherMedium

Implement a thread-safe Singleton design pattern in Java, explaining the considerations for ensuring thread safety.

Q14
Find Cycle in Linked List
Data Structures & AlgorithmsMedium

Given the head of a singly linked list, determine if it contains a cycle. Implement multiple approaches if possible.

Q15
Sum of Deepest Leaf Nodes in Binary Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, calculate the sum of values of all leaf nodes that are located at the deepest level of the tree.

OCI Software Developer 3
oracle logo
Oracle
Software DeveloperNo Offer
August 22, 202513 reads

Summary

I applied for an Oracle Software Developer role and went through a series of interviews. The first round was a medium-level DSA problem and resume-based questions. The subsequent loop interviews included a mix of coding, design, and behavioral questions. The final interview ended on a negative note due to the WFO policy discussion.

Full Experience

I am currently working in a top fintech company as a SDE-2. I had previously worked in one of Oracle's subsidiaries. I got the call from a recruiter one day. She scheduled the first eliminator round. I was asked a medium-level DSA problem and a lot of questions on my resume. I cleared the first eliminator round.

The recruiter then scheduled all my loop interviews on a day. Each round lasted one hour.

Loop Interview 1:
1. Write the python function which will be used to run a shell command in parallel on thousands of nodes. We need to optimize the code so that it does not overwhelm the machine where we run this code.
2. Design a volume as a service with inputs: size of volume, IOPS, mount path. Should adhere to general cloud service agreements like high availability.
The interviewer was very friendly. He said 'we' will solve this design problem. Gave a lot of hints. He also said you can browse the net if you are not sure of the syntax.

Loop Interview 2:
1. Find the longest palindromic substring in a string.
2. Follow up: If you can add a character to the substring at any place. What would be the longest palindromic substring?
I was able to code the brute force approach. Got stuck in the follow up question tho. Messed it up !!

Loop Interview 3:
1. Why you want to switch?
2. Current Compensation Details?
3. Can you work from office 5 days?
4. Write Merge Sort
I was turned off when he said the WFO policy and started asking current compensation. Also interviewer seemed really strict.

Interview Questions (3)

Q1
Parallel Shell Command Execution
Data Structures & AlgorithmsMedium

Write a Python function that runs a shell command in parallel on thousands of nodes. The code should be optimized to avoid overwhelming the machine where the code is executed.

Q2
Longest Palindromic Substring
Data Structures & AlgorithmsMedium

Find the longest palindromic substring in a given string. Follow up: If you can add a character to the substring at any place, what would be the longest palindromic substring?

Q3
Merge Sort Implementation
Data Structures & AlgorithmsMedium

Implement the Merge Sort algorithm.

Oracle OCI | SMTS (IC3) | OpenSearch | TPS
oracle logo
Oracle
SMTS (IC3)6 yearsOngoing
August 22, 202517 reads

Summary

I recently had a screening round for an SMTS (IC3) role with the OpenSearch Team at Oracle OCI. The interview involved a system design whiteboard challenge, several technical questions covering APIs, data structures, and system concepts, and a discussion about my projects.

Full Experience

Hi Fam, I'm currently an SSE at Walmart with 6 years of experience. I recently appeared for a screening round for the OpenSearch Team at Oracle OCI for an SMTS (IC3) role.

The screening round was taken by the Hiring Manager. It consisted of three main parts:

1. Design Whiteboard (25 min)

The MVP requirement was to allow multiple users to edit texts concurrently. The design also needed to be flexible enough to include shapes in future phases.

2. Technical Questions

I was asked several technical questions covering various concepts:

  • What is Stateful and Stateless APIs?
  • What is reflection?
  • I was quizzed around different HTTP error codes: 4xx, 5xx, 2xx.
  • What is a multidimensional array? What are its real-life applications?
  • What is a hashtable? How is it different from a HashMap? What are its real-life applications?
  • What is a linked list? How is it different from an array? What are the real-life applications of a linked list? I also discussed time complexities for linked list traversal, etc.
  • What is a circuit breaker? I had to explain its concept.
  • How do you reverse a linked list?

3. Project-level discussion (15 min)

The discussion revolved around questions on Elasticsearch and streaming pipelines, based on my past projects.

Overall, it was a comprehensive screening round covering system design, core technical knowledge, and project-specific expertise.

Interview Questions (9)

Q1
Design Concurrent Text and Shape Editor
System DesignHard

Design a system that allows multiple users to concurrently edit texts. The design should also be extensible to include shapes in future phases.

Q2
Stateful vs. Stateless APIs
OtherEasy

Explain the concepts of Stateful and Stateless APIs.

Q3
Explain Reflection
OtherEasy

Explain what reflection is in programming.

Q4
HTTP Error Codes (2xx, 4xx, 5xx)
OtherEasy

Explain different HTTP error codes, specifically 2xx, 4xx, and 5xx series.

Q5
Multidimensional Arrays and Applications
Data Structures & AlgorithmsEasy

What is a multidimensional array? Provide real-life applications.

Q6
Hashtable vs. HashMap and Applications
Data Structures & AlgorithmsMedium

What is a hashtable? How does it differ from a HashMap? Provide real-life applications for both.

Q7
Linked List vs. Array, Applications, and Complexities
Data Structures & AlgorithmsMedium

What is a linked list? How is it different from an array? Provide real-life applications of linked lists and discuss time complexities for operations like traversal.

Q8
Explain Circuit Breaker Pattern
System DesignMedium

Explain the Circuit Breaker design pattern.

Q9
Reverse a Linked List
Data Structures & AlgorithmsEasy

Explain or demonstrate how to reverse a linked list.

Oracle/SMTS/IC3
oracle logo
Oracle
SMTS IC3
August 18, 202514 reads

Summary

I recently interviewed at Oracle for an SMTS IC3 role where I was asked a specific algorithmic problem called 'Biological Hazards' which involved analyzing bacteria interactions.

Full Experience

I recently had an interview at Oracle for an SMTS IC3 position. The interview revolved around a single, specific algorithmic problem. The problem, titled 'Biological Hazards', challenged me to analyze interactions between bacteria samples arranged in a row. The core task was to identify contiguous intervals where all bacteria could coexist without any being poisonous to another within that segment.

Interview Questions (1)

Q1
Biological Hazards
Data Structures & Algorithms

A biological researcher is studying bacteria interactions where certain bacteria are poisonous to others. The samples are arranged consecutively in a row, numbered from 1 to n.

You are given two integer arrays allergic and poisonous of equal length m, where:

  • poisonous[i] is poisonous to allergic[i].

Your task is to determine the number of contiguous intervals [l, r] within the row such that all bacteria in that interval are capable of coexisting (i.e., no bacterium in the interval is poisonous to another bacterium in the same interval).

Example 1

Input:

n = 3
allergic = [2, 1, 3]
poisonous = [3, 3, 1]

Output:

4

Explanation:

The bacteria are arranged as [1, 2, 3].

All possible intervals are: (1), (2), (3), (1,2), (2,3), (1,2,3).

Valid intervals are (1), (2), (3), (1,2).

Total valid intervals = 4

[Reject] Oracle interview - MTS 2 - 1.5 years experience
oracle logo
Oracle
MTS 2Banglore1.5 yearsRejected
July 17, 202536 reads

Summary

I applied for the MTS 2 role at Oracle with 1.5 years of experience and was rejected after the first round, which involved extensive project discussion and a DSA question on anagrams.

Full Experience

I applied for the MTS 2 role at Oracle via their portal and received a callback after about 15-20 days, following numerous prior rejections. The recruiter explained the process, stating that the first round would be an eliminator, focusing on Data Structures and Algorithms, problem-solving, and a minor project discussion. I confirmed that Java or a similar language was acceptable.

My first round was with a principal engineer who had 11 years at Oracle. He immediately delved into a project discussion, grilling me intensely for 45 minutes on topics like Kubernetes, AWS, VPC, sidecar and init containers, microservices, connection protocols, and logging systems. He even challenged the architectural choices of my projects. In the remaining 10 minutes, he asked a simple DSA question: checking for anagrams, and insisted I use Java. Although I am familiar with Java, I hadn't practiced DSA extensively and struggled significantly. An unexpected electricity cut further compounded my panic, causing me to lose focus. After multiple trials and some assistance from hackerrank's autofill, I eventually completed the problem.

I was rejected straight off the bat!

Interview Questions (1)

Q1
Check if Two Strings are Anagrams
Data Structures & AlgorithmsEasy

Given two strings, determine if they are anagrams of each other. Anagrams are words or phrases formed by rearranging the letters of another, typically using all the original letters exactly once.

Oracle front end developer interview
oracle logo
Oracle
front end developer5.5 years
July 15, 20255 reads

Summary

I interviewed for a front-end developer role at Oracle, covering DSA, technical discussions, and machine coding, including a specific question on Longest Common Substring, and am currently awaiting feedback.

Full Experience

Hi All,

I appeared for an interview at Oracle last week.

Experience: 5.5 years
Current Company: Service-based

Round 1: DSA + Technical Discussion (1.5 hrs)

- Problem-solving round involving the Longest Common Substring question
- Discussion on my project experience
- Concepts around memoization and lazy loading
- A few scenario-based questions
- Questions on design patterns
- React hooks fundamentals
- Core JavaScript topics were also covered

Round 2: Machine Coding + Deep Dive (1.5 hrs)
- Questions based on the technologies mentioned in my resume
- More discussion on design patterns
- Hands-on JavaScript coding (topics included higher-order functions, singleton pattern, closures)
- Questions related to the event loop
- Some output-based questions
- A few polyfill implementations

I haven't heard back after this round yet.

Note: A strong understanding of JavaScript fundamentals is also crucial for clearing these rounds.

Thank you!

Interview Questions (6)

Q1
Longest Common Substring
Data Structures & Algorithms

A problem-solving round focused on finding the Longest Common Substring.

Q2
Implement Higher-Order Functions in JavaScript
Other

Hands-on JavaScript coding focusing on higher-order functions.

Q3
Implement Singleton Pattern in JavaScript
Other

Hands-on JavaScript coding focusing on the singleton pattern.

Q4
Implement Closures in JavaScript
Other

Hands-on JavaScript coding focusing on closures.

Q5
Explain JavaScript Event Loop
Other

Questions related to the event loop in JavaScript.

Q6
Implement JavaScript Polyfills
Other

Hands-on coding involving a few polyfill implementations.

Preparation Tips

A strong understanding of JavaScript fundamentals is also crucial for clearing these rounds.

Oracle OCI IC3 (Senior Member of Technical Staff - SMTS) | Bangalore | July 2025 | Selected
oracle logo
Oracle
IC3 (Senior Member of Technical Staff - SMTS)Bangalore
July 15, 20254 reads

Summary

I successfully navigated multiple technical and behavioral rounds, including DSA, System Design, and Java-specific questions, ultimately receiving a selection for the Senior Member of Technical Staff (SMTS) role at Oracle OCI, Bangalore.

Full Experience

I saw a post by recruiter on LinkedIn and contacted him via InMail. The recruiter contacted within few days asking basic details. Then radio silence for 3 weeks and then got a call from scheduling team for scheduling interviews

Screening Round Taken by a Principle MTS. I was asked 1 DSA question: Q: https://leetcode.com/problems/divide-two-integers/description/ Solved fully


Got a call from recruiter within 2 days for scheduling LOOP rounds:

Technical Round 1 (Taken by SMTS):

Round started with basic Java QUestions:

  • Polymorphism in Java, how to acheive
  • Composition & Association
  • Aggregation
  • Aggregation vs Composition

Then I was asked a DSA question:

  • Longest Subarray with 0 Sum - question from GFG

Lastly, I was told to draw the HLD for an ECommerce website like Amazon. Expectations:

  • Functional Requirements
  • Non Functional Requirements
  • DB Schema
  • DB resilient design
  • Services
  • Diagram

Bartender Round:

Taken by someone from different team. I was asked multiple behavioural questions. The round went almost 45 mins

Tecnical Round 2 (Taken by Director of Engineering):

Few behavioural Questions.

2 coding questions:

  • Given a String s, build all possible subsequences, sort them and return as a List
  • Create a Thread safe data structure and write 2 producer and 1 consumer for it.

Tecnical Round 3 (Taken by a Principle MTS):

  • Questions from Resume
  • 1 DSA question: Q: Remove duplicate sequence from linked list. Ex: Input: 1->2->2->2->5->4->4, output: 1->5 Input: 1->1->2->2->2->5->4->4, output: 5

Interview Questions (10)

Q1
Divide Two Integers
Data Structures & Algorithms

The problem asks to divide two integers without using multiplication, division, or modulo operators.

Q2
Polymorphism in Java
Other

Explain polymorphism in Java and how to achieve it.

Q3
Composition & Association in Java
Other

Explain Composition & Association in Java.

Q4
Aggregation in Java
Other

Explain Aggregation in Java.

Q5
Aggregation vs Composition
Other

Discuss the differences between Aggregation and Composition.

Q6
Longest Subarray with 0 Sum
Data Structures & Algorithms

Find the length of the longest subarray with a sum of 0.

Q7
High-Level Design for E-commerce Website (Amazon-like)
System Design

Design a High-Level Architecture for an E-commerce website similar to Amazon. Discuss functional requirements, non-functional requirements, database schema, database resilient design, services, and provide a diagram.

Q8
Generate and Sort All Subsequences of a String
Data Structures & Algorithms

Given a string s, generate all possible subsequences, sort them lexicographically, and return them as a list.

Q9
Thread-Safe Data Structure with Producer-Consumer
Data Structures & Algorithms

Design and implement a thread-safe data structure. Then, write code for two producer threads and one consumer thread that interact with this data structure.

Q10
Remove Duplicate Sequences from Linked List
Data Structures & Algorithms

Given the head of a singly linked list, remove all nodes that have duplicate consecutive numbers, leaving only distinct numbers. For example, if the input is 1->2->2->2->5->4->4, the output should be 1->5. If the input is 1->1->2->2->2->5->4->4, the output should be 5.

Oracle OCI | SMTS (IC3) | Screening Round
oracle logo
Oracle
SMTS (IC3)6 years
July 14, 20258 reads

Summary

I appeared for a 1-hour screening round for an SMTS position at Oracle OCI (Security Products Group). The interview included a project discussion and two technical questions: one on dividing integers without the division operator and another on the differences between HashMap and ConcurrentHashMap. I felt the interviewer was not satisfied with my responses, and I anticipate a 'no hire' outcome.

Full Experience

Hi Fam,

Appeared for screening round for SMTS position today at OCI (Security Products Group).

YOE: 6
Currently SSE@Walmart

1hr round, Platform: Hackerrank
1. 5 min intro.
2. 10 min project discussion and cross examination
3. DSA question: Divide 2 positive integers without using / operator.
Gave naive approach of repeated subtraction.
Probed on time complexity.
Asked me to come up with optimal solution. I couldn't.
This went for 20 min i think.
4. Asked me difference between HashMap and ConcurrentHashMap.
Explained him about the thread safety, segment locking, ConcurrentModificationException etc.
Interview ended 15 min early as he was done judging.

Overall, Interviewer didnt seem satisfied with my answers and I wouldn't be surprised if this turns into a no hire call.

Interview Questions (2)

Q1
Divide Two Positive Integers Without Division Operator
Data Structures & AlgorithmsMedium

Divide two positive integers (dividend and divisor) without using the multiplication, division, or modulo operators. Focus on edge cases and time complexity.

Q2
Difference between HashMap and ConcurrentHashMap
Other

Explain the key differences between Java's HashMap and ConcurrentHashMap. Discuss aspects like thread safety, internal implementation details, performance characteristics under concurrency, and common use cases.

Oracle Interview Experience | March 2025 | Java Developer
oracle logo
Oracle
Java Developer
July 10, 20254 reads

Summary

I had an interview opportunity with Oracle for a Java Developer role in March 2025, which consisted of two rounds focusing on Java basics, DSA, and projects, but I was ultimately rejected.

Full Experience

I got this opportunity from Naukri. Recruiter mentioned it was a drive.

Round 1 - Basic Questions & DSA

Basic questions on java - difference between call by reference, call by value, oops concept , what is final, static keyword, all other basic questions which I don't remember.

1 DSA question - Minimum number of platforms.

Round 2 - HM

This was more around projects and I was given one DSA question which I was not able to solve this.

Verdict - Rejected

Interview Questions (5)

Q1
Java: Call By Reference vs Call By Value
Other

Explain the difference between call by reference and call by value in Java.

Q2
Java: OOP Concepts
Other

Discuss Object-Oriented Programming (OOP) concepts in Java.

Q3
Java: Final Keyword
Other

Explain the purpose and usage of the 'final' keyword in Java.

Q4
Java: Static Keyword
Other

Explain the purpose and usage of the 'static' keyword in Java.

Q5
Minimum Number of Platforms
Data Structures & AlgorithmsMedium

Given arrival and departure times of all trains that reach a railway station, find the minimum number of platforms required for the railway station so that no train waits.

Oracle PMTS Interview Experience
oracle logo
Oracle
PMTSBangalore
July 5, 20254 reads

Summary

I interviewed for a PMTS role at Oracle in Bangalore and successfully received an offer. The interview process included several technical rounds focusing on Data Structures & Algorithms, system design discussions based on my resume, and specific coding challenges.

Full Experience

Phone Screening (VP Round)
Duration: ~15 minutes

The VP briefly reviewed my resume, focusing on my experience with notification services (a key requirement for the role).

Assessed my knowledge in relevant areas but did not dive deep.

Shortly after, I was scheduled for the technical rounds.

Technical Round 1 (DSA Focused)
Introduction: Brief discussion about my background.

Problem 1: https://leetcode.com/problems/merge-intervals/description/ (LeetCode)

Problem 2: Find the duplicate in an array of size n with elements in [0, n-1].

Expected solution: Efficient swapping approach (similar to https://leetcode.com/problems/find-the-duplicate-number/description/).

Technical Round 2 (Resume Deep Dive + DSA)
First 30 mins: In-depth discussion on my resume, covering:

  • Redis Cache (eviction policies, clustering)
  • Kafka (consumer groups, partitioning, offset management)
  • REST API Security (OAuth 2.0, JWT, rate limiting)

High-level system design aspects of past projects.

DSA Problems:

Problem 1: Validate parentheses in a string (basic () case).

Follow-up: Extended to multiple types ((), [], {}).

Problem 2: Given an employee hierarchy (tree structure), find all reports under each manager.

Follow-up: Reverse lookup (find all managers for a given employee).

Technical Round 3 (Resume Grilling + Coding)
Resume Discussion: Focused on my experience with:

  • Email Notification Service (SMTP, DLQ handling)
  • Kafka (message retries, ordering guarantees)
  • Blue-Green Deployment (strategies, advantages)

High availability, throughput, and latency optimizations.

Coding Problem: Multiply two very large integers represented as strings (e.g., "123456789" * "987654321").

Constraints: No use of BigInteger or language libraries—had to implement manual multiplication.

Final Discussion & Offer
After clearing all rounds, had a follow-up call with the VP within a day to discuss:

  • Project alignment
  • Salary expectations
  • Background verification (BGV) process

Final Verdict: Hired!

Offer details: https://leetcode.com/discuss/post/6893969/oracle-pmts-bangalore-by-anonymous_user-j50z/

Interview Questions (5)

Q1
Merge Intervals
Data Structures & Algorithms

Merge overlapping intervals given a collection of intervals.

Q2
Find Duplicate in Array (0 to n-1)
Data Structures & Algorithms

Given an array of size n with elements in the range [0, n-1], find the duplicate number. The expected solution involves an efficient swapping approach.

Q3
Validate Parentheses
Data Structures & Algorithms

Validate if the parentheses in a string are balanced and correctly matched. Initially for basic '()' cases, then extended to multiple types: '()', '[]', '{}'.

Q4
Employee Hierarchy Reports and Managers
Data Structures & Algorithms

Given an employee hierarchy represented as a tree structure:

  • Find all direct and indirect reports under each manager.
  • Implement a reverse lookup to find all managers (direct and indirect) for a given employee.
Q5
Multiply Large Integers as Strings
Data Structures & Algorithms

Implement a function to multiply two very large integers represented as strings (e.g., "123456789" * "987654321"). The solution must not use BigInteger or any language-specific large number libraries; manual multiplication logic is required.

Oracle Phone Screening Round
oracle logo
Oracle
July 2, 20255 reads

Summary

I had a phone screening round for OCI which began with discussions about my current project, architecture, role, and responsibilities. This was followed by cloud-related questions (load balancers, caching, API gateways) and Java/Spring Boot topics. The remaining time was spent on an intense DSA problem involving a phone dictionary, for which I proposed and partially implemented a BST-based solution. Ultimately, I was ghosted.

Full Experience

Hi Everyone,

I recently gave Phone Screening round for OCI.

In the invite, it was supposed to be a DSA round, but ended up with lot of topics.

Started with current Project discussion, architecture, role and responsibilities. Then some Cloud related questions eg: how load balancers work, caching, API gateways etc. Some Java/Spring boot related questions as well. But this time almost 25 mins already passed.

After that an intense discssion on a DSA problem.

Given a phone dictionary. Implement 3 operations

  1. Add unique names to phone dictionary
  2. Return all names from dictionary
  3. Find all names starting b/w character range

For this problem i started with a simple HashMap to store unqiue names. And for finding names b/w range i proposed to use additional data-strucure to store character and name mapping(HashMap)

Later on improvement. I proposed a BST based solution. I was able to implement first 2 functionalities, for 3rd one i just gave the psuedo code.

May be I took a lot of time during the initial questions. That's why I got rejected/Ghosted.

Verdict - No response/Ghosted

Interview Questions (1)

Q1
Implement Phone Dictionary Operations
Data Structures & Algorithms

Given a phone dictionary. Implement 3 operations

  1. Add unique names to phone dictionary
  2. Return all names from dictionary
  3. Find all names starting b/w character range
Oracle IC4 Phone Screen Experience
oracle logo
Oracle
Software Engineer – L4No Offer
July 2, 202572 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.

Oracle | Senior Application Engineer | Hyderabad | April 2025 [Offer]
oracle logo
Oracle
Senior Application EngineerHyderabad
June 11, 20255 reads

Summary

I interviewed for the Senior Application Engineer role at Oracle, Hyderabad, in April 2025, and received an offer after four rounds, which I ultimately declined for a better opportunity.

Full Experience

Round 1 (In-person)
  1. Given two arrays, sort without extra space
    A = [10, 2, 20, -1]
    B = [1, 5, 25]
    Output:
    A = [-1, 1, 2, 5]
    B = [10, 20, 25]
  2. https://leetcode.com/problems/regular-expression-matching/description/
  3. Implement Singleton class
    • Follow up: How do you prevent creating clones of the singleton class object?
Round 2 (In-person)
  1. Given an array, reorder such that even numbers are pushed to the left side of the array and odd numbers to the right
  2. Given two tables - employee and department. Wite SQL query to find the name of employee with max salary
    • Follow-up 1: Wite SQL query to find the name of employee with second max salary (covering corner cases like multiple employees have max and second max salary)
    • Follow-up 2: Write SQL query to print the max salary of each department
Round 3 (In-person with the Hiring Manager)
  1. Write code to add given number of days to a given date in string format without using date functions. Should Handle leap year case as well
Round 4 (Online meeting with the Vice President)
  1. Given the table employee_salary(eid, salary_credited, month)
    • Write SQL query to find employees with salary greater than 10,00,000
    • Write SQL query to find employees with total salary received so far greater than 50,00,000
  2. Difference between where and having clause
  3. Difference between mysql and postgreSQL
  4. Design movie recommendation app. Write some code for user registration module
  5. Where do you see yourself in 5 years?
  6. Why are you leaving your current organization?
Verdict: Selected

However, I declined the offer as I got a better offer

Compensation details: https://leetcode.com/discuss/post/6833191/oracle-senior-application-engineer-hyder-wqdh/

Interview Questions (12)

Q1
Sort Two Arrays Without Extra Space
Data Structures & Algorithms

Given two arrays, sort without extra space
A = [10, 2, 20, -1]
B = [1, 5, 25]
Output:
A = [-1, 1, 2, 5]
B = [10, 20, 25]

Q2
Regular Expression Matching
Data Structures & Algorithms
Q3
Implement Singleton Class with Clone Prevention
Data Structures & Algorithms

Implement Singleton class

Follow up: How do you prevent creating clones of the singleton class object?

Q4
Reorder Array: Even Left, Odd Right
Data Structures & Algorithms

Given an array, reorder such that even numbers are pushed to the left side of the array and odd numbers to the right

Q5
SQL Query: Max Salary Employee
Other

Given two tables - employee and department. Write SQL query to find the name of employee with max salary

Follow-up 1: Wite SQL query to find the name of employee with second max salary (covering corner cases like multiple employees have max and second max salary)

Follow-up 2: Write SQL query to print the max salary of each department

Q6
Add Days to Date String Without Date Functions
Data Structures & Algorithms

Write code to add given number of days to a given date in string format without using date functions. Should Handle leap year case as well

Q7
SQL Queries on Employee Salary Table
Other

Given the table employee_salary(eid, salary_credited, month)

Write SQL query to find employees with salary greater than 10,00,000

Write SQL query to find employees with total salary received so far greater than 50,00,000

Q8
Difference between WHERE and HAVING clause
Other

Difference between where and having clause

Q9
Difference between MySQL and PostgreSQL
Other

Difference between mysql and postgreSQL

Q10
Design Movie Recommendation App with User Registration
System Design

Design movie recommendation app. Write some code for user registration module

Q11
Where do you see yourself in 5 years?
Behavioral

Where do you see yourself in 5 years?

Q12
Why are you leaving your current organization?
Behavioral

Why are you leaving your current organization?

Oracle | SMTS | US | 2025 [Reject]
oracle logo
Oracle
MTS IIUS
May 21, 20255 reads

Summary

I interviewed at Oracle for an SMTS role in the US, facing several System Design challenges across multiple rounds, including designing distributed LFU/LRU caches and a metrics/monitoring system. The outcome was a rejection.

Full Experience

Coding Rounds: Custom problems, not from leetcode, simple Round 1: Design Distributed LFU Cache Round 2: Design Distributed LRU Cache Round 3: Design Metrics and Monitoring System Behavioral Round

All these Design problems (Rounds 1,2,3) were System Design problems, like "design TinyURL". No they were not LeetCode coding problems. No they were not OOP design problems.

Interview Questions (3)

Q1
Design Distributed LFU Cache
System Design

Design Distributed LFU Cache

Q2
Design Distributed LRU Cache
System Design

Design Distributed LRU Cache

Q3
Design Metrics and Monitoring System
System Design

Design Metrics and Monitoring System

Oracle Screening 2025 April | OCI | IC3 | EMEA
oracle logo
Oracle
SDE IIEMEA
May 19, 20257 reads

Summary

I had a 60-minute screening round for an IC3 role at Oracle OCI in EMEA, which I passed. The interview focused on a discussion of my past projects and current work, followed by a DSA question on LFU Cache, a dry run, and follow-up questions.

Full Experience

Screening Round, 60 minutes call.

Initial 15 minutes: Discussion about the team, past projects, current work etc.

Next 30 minutes: DSA question (LFU Cache) -> straightforward, no modification, did not expect it though. Who asks LC Hard for oracle, especially in a screening interview, which is elimination?

Next 10 minutes: Dry run, follow up about the question, follow up was basically just explaining how the LRU case will work in case of collisions

Final 5 minutes: My questions about the team and the work, etc.

Verdict: Got a reply from the recruiter 3 days after the interview that I passed this round.

Interviewer was very nice and friendly, however, was quite throughout when I was coding, so it was alarming.

Interview Questions (1)

Q1
LFU Cache
Data Structures & AlgorithmsHard

Implement the LFU Cache data structure. The problem was straightforward with no modifications. A follow-up involved explaining how an LRU case would work in case of collisions.

Oracle Interview Experience | Senior Application Developer | Selected
oracle logo
Oracle
Senior Application Developer
May 12, 20256 reads

Summary

I interviewed for a Senior Application Developer role at Oracle across multiple rounds, including technical, managerial, and techno-managerial discussions, and was ultimately selected.

Full Experience

Oracle Interview Experience - Senior Application Developer
The HR found the profile from Naukri. Received a call from HR for the onsite interviews.

Round 1 (onsite) -

1) Given a string, write a function to encode and decode it. The encode string should not be easily decoded by naked eyes.
2) Binary Tree Maximum Path Sum

Round 2 (onsite) -

1) Given a string of binary bits, find all the substrings which are repeating consecutively and the no of times its repeated. The repeating string length should be greater than 2.
eg:-
Given String - "010110111"
o/p -
101 -> 2
011 -> 2

2) Maximum Subarray

Round 3 (onsite) -

It more of a managerial round, the interviewer asked few questions related to my current work. He later gave me one question.
Given a date and the no of days, what will be the date after adding the given no of days. The days can be very large as well. He gave me days as 1000.
eg - 01/03/2025 , days = 20
o/p - 21/03/2025

Round 4 (virtual) -

This was a techno-managerial round.
He asked me questions related to my resume and few behavorial questions. He also asked 1 easy DSA question and 1 sql query.
DSA question -
Given the list of numbers, find the all possible combinations from given input which can have a target sum as 220.

SQL query -
Given a table:
(emp_id, date of salary, salary amount)
Find the employee who has until now received a total amount > 1000000

After couple of days received a call from HR and she confirmed that I am selected. Waiting for the offer letter :)

Interview Questions (7)

Q1
Encode and Decode String
Data Structures & Algorithms

Given a string, write a function to encode and decode it. The encode string should not be easily decoded by naked eyes.

Q2
Binary Tree Maximum Path Sum
Data Structures & AlgorithmsHard
Q3
Find Repeating Binary Substrings
Data Structures & Algorithms

Given a string of binary bits, find all the substrings which are repeating consecutively and the no of times its repeated. The repeating string length should be greater than 2.
eg:-
Given String - "010110111"
o/p -
101 -> 2
011 -> 2

Q4
Maximum Subarray
Data Structures & AlgorithmsMedium
Q5
Add Days to Date
Data Structures & Algorithms

Given a date and the no of days, what will be the date after adding the given no of days. The days can be very large as well. He gave me days as 1000.
eg - 01/03/2025 , days = 20
o/p - 21/03/2025

Q6
Find Combinations for Target Sum
Data Structures & AlgorithmsEasy

Given the list of numbers, find the all possible combinations from given input which can have a target sum as 220.

Q7
SQL Query: Employees with Total Salary > 1,000,000
Other

Given a table:
(emp_id, date of salary, salary amount)
Find the employee who has until now received a total amount > 1000000

ORACLE Interview Experience | SDE - I
oracle logo
Oracle
SDE - I
May 6, 20253 reads

Summary

I had an interview experience at Oracle for an SDE-I role, where I encountered questions covering Java/OOP concepts, Data Structures & Algorithms including LeetCode problems, and a specific SQL query on manager hierarchy.

Full Experience

Interview Experience at Oracle

1. Brief Introduction

I started the interview with a quick introduction about myself, my background, and my experience working with Java and data structures and algorithms.


2. Java/OOP Questions

The interviewer asked several Java questions centered around the four pillars of Object-Oriented Programming:

  1. Encapsulation
  2. Abstraction
  3. Inheritance
  4. Polymorphism

3. Data Structures & Algorithms (DSA) Questions

  1. LeetCode 179: Largest Number
  2. Symmetric Tree Check
    • Problem: Determine if a binary tree is symmetric in structure (ignoring node values).
  3. Subset Sum Equal To K

4. SQL Question

Problem Statement:

Given an Employee table with the following schema:

EmployeeManager
E1E2
E2E3
E3E4
E5E6

Write a SQL query that, for a given employee name, returns all managers in the reporting hierarchy.

  • Example 1: Input: E1 → Output: E2, E3, E4
  • Example 2: Input: E5 → Output: E6

Hint: You may need to use a recursive common table expression (CTE) to traverse the hierarchy.

WITH RECURSIVE ManagerHierarchy AS (
  SELECT Employee, Manager
  FROM EmployeeTable
  WHERE Employee = 'E1'     -- Replace 'E1' with the desired employee

UNION ALL

SELECT e.Employee, e.Manager FROM EmployeeTable e INNER JOIN ManagerHierarchy mh ON e.Employee = mh.Manager ) SELECT Manager FROM ManagerHierarchy;


These were the questions I encountered during my Oracle interview. Hope this helps others preparing for similar interviews!

Interview Questions (4)

Q1
Largest Number
Data Structures & Algorithms

Given a list of non-negative integers, arrange them such that they form the largest number.

Q2
Symmetric Tree Check (Structure Only)
Data Structures & Algorithms

Determine if a binary tree is symmetric in structure (ignoring node values).

Q3
Subset Sum Equal To K
Data Structures & Algorithms

Given a set of integers and a target sum K, determine if any subset of the integers sums to K.

Q4
SQL Query: Find All Managers in Reporting Hierarchy
Other

Given an Employee table with the following schema:

EmployeeManager
E1E2
E2E3
E3E4
E5E6

Write a SQL query that, for a given employee name, returns all managers in the reporting hierarchy.

  • Example 1: Input: E1 → Output: E2, E3, E4
  • Example 2: Input: E5 → Output: E6

Hint: You may need to use a recursive common table expression (CTE) to traverse the hierarchy.

Oracle OHAI IC3|SDE 3 Interview Experience.
oracle logo
Oracle
Software Engineer
May 3, 20253 reads

Summary

I interviewed for a Software Engineer (IC3|SDE 3) role at Oracle across five rounds, covering Data Structures & Algorithms, System Design, and project discussions. The experience included solving specific problems like 'Insert Delete GetRandom O(1)', a custom string encoding, and designing a healthcare recommendation system.

Full Experience

Oracle Interview Experience – Software Engineer Role Round 1: Screening

DSA Question: Solved the Insert Delete GetRandom O(1) problem, focusing on achieving all operations in average constant time using a combination of HashMap and ArrayList. Project Discussion: Brief discussion on the current project, architecture, and key contributions. Design Patterns: Definitions and real-world implementation of core design patterns like Singleton, Factory, Observer, and Strategy were discussed. After this they schedules loop rounds. Round 2: System Design

Project Deep Dive: Explained the architecture, tech stack, and challenges of the current/previous project. High-Level Design: Designed a Healthcare Medicine Recommendation System that suggests medications based on a patient’s disease and medical history. Covered components like data ingestion, rule engine for recommendations, caching strategies, database schema, and handling scalability. Round 3: Data Structures & Algorithms

Leaders in Array Variant: Solved a variation of the classic "Leaders in an Array" problem. String Encoding Question: Given input like 12(2)3(2)10#, decoded it into abbcccj. Focus was on parsing and converting numerical and symbolic patterns into their corresponding characters. Round 4: Data Structures & Algorithms

Integer to Roman Conversion: Implemented a highly optimized solution for converting integers to Roman numerals without hardcoding mappings, leveraging arrays and modular logic. Round 5: Advanced DSA + System Design

Balanced BST Implementation: Implemented a Binary Search Tree with logic to rebalance the tree after every insertion and deletion (e.g., using AVL or Red-Black Tree concepts). System Design (HLD + Scalability Concepts): Deep discussion on: Scalability techniques Apache Kafka for event-driven architecture Circuit Breaker Pattern for fault tolerance Saga Pattern for managing distributed transactions in microservices

Interview Questions (8)

Q1
Insert Delete GetRandom O(1)
Data Structures & Algorithms

Solved the Insert Delete GetRandom O(1) problem, focusing on achieving all operations in average constant time using a combination of HashMap and ArrayList.

Q2
Discussion on Core Design Patterns
Other

Definitions and real-world implementation of core design patterns like Singleton, Factory, Observer, and Strategy were discussed.

Q3
Design a Healthcare Medicine Recommendation System
System Design

Designed a Healthcare Medicine Recommendation System that suggests medications based on a patient’s disease and medical history. Covered components like data ingestion, rule engine for recommendations, caching strategies, database schema, and handling scalability.

Q4
Leaders in an Array (Variant)
Data Structures & Algorithms

Solved a variation of the classic "Leaders in an Array" problem.

Q5
String Encoding/Decoding (e.g., 12(2)3(2)10# to abbcccj)
Data Structures & Algorithms

Given input like 12(2)3(2)10#, decoded it into abbcccj. Focus was on parsing and converting numerical and symbolic patterns into their corresponding characters.

Q6
Integer to Roman Conversion
Data Structures & Algorithms

Implemented a highly optimized solution for converting integers to Roman numerals without hardcoding mappings, leveraging arrays and modular logic.

Q7
Balanced Binary Search Tree Implementation
Data Structures & Algorithms

Implemented a Binary Search Tree with logic to rebalance the tree after every insertion and deletion (e.g., using AVL or Red-Black Tree concepts).

Q8
Discussion on Advanced System Design Concepts
System Design

Deep discussion on: Scalability techniques, Apache Kafka for event-driven architecture, Circuit Breaker Pattern for fault tolerance, Saga Pattern for managing distributed transactions in microservices.

Oracle | System Level Design | IC3 - Senior Software Engineer
oracle logo
Oracle
IC3 - Senior Software Engineer
May 1, 20254 reads

Summary

This post describes a system design interview experience at Oracle for a Senior Software Engineer role, where I was asked to design a hospital management system.

Full Experience

The interview focused on a system level design problem.

System Level Design

The hospital has multiple wards. Every ward has patients. Every ward is managed by a group of Nurses If a medicine is to be given to the patient, the nurse would do it. Doctors come to see patients check medicines, what new medicine to give, and cancel any existing medicine. Doctors use an app to place orders for medicine. Medicine A should 2 times a day to 3 patients (6 tasks) First day morning - evening

Nurse has a dashboard and see task that which medicine is to be given to the patient on time and mark the task as done.

There are 4 major parts we have in our system,

  1. Order management system responsible for searching, modifying and canceling order.
  2. An App to place, modify and regenerate orders.
  3. Task management system, show which task is created.
  4. Internal dashboard shows which task has done, yet to be done.

Scale: 10000 patients in one hospital There can be multiple hospitals as well in the city.

Design a High-Level System design supporting the below use case,

  • Highly Scalable
  • low latency
  • Availability
  • Fault Tolerant
  • APIs Design
  • Work-flow Design

Interview Questions (1)

Q1
System Design: Hospital Ward Management
System DesignHard

System Level Design

The hospital has multiple wards. Every ward has patients. Every ward is managed by a group of Nurses If a medicine is to be given to the patient, the nurse would do it. Doctors come to see patients check medicines, what new medicine to give, and cancel any existing medicine. Doctors use an app to place orders for medicine. Medicine A should 2 times a day to 3 patients (6 tasks) First day morning - evening

Nurse has a dashboard and see task that which medicine is to be given to the patient on time and mark the task as done.

There are 4 major parts we have in our system,

  1. Order management system responsible for searching, modifying and canceling order.
  2. An App to place, modify and regenerate orders.
  3. Task management system, show which task is created.
  4. Internal dashboard shows which task has done, yet to be done.

Scale: 10000 patients in one hospital There can be multiple hospitals as well in the city.

Design a High-Level System design supporting the below use case,

  • Highly Scalable
  • low latency
  • Availability
  • Fault Tolerant
  • APIs Design
  • Work-flow Design
Interview Experience - Oracle SMTS
oracle logo
Oracle
MTS II3.1 years
April 20, 20255 reads

Summary

I interviewed for the Senior Member of Technical Staff (SMTS) role at Oracle with 3.10 YOE. The process involved a screening round with a coding test, three loop interviews covering DSA, System Design, and project deep dives, and I ultimately received an offer.

Full Experience

I recently interviewed for the SMTS (Senior Member of Technical Staff) role at Oracle. Here's a breakdown of the process:

📍 Screening Round
Duration: 1 Hour

Format: Online Coding Test (Peer Programming)
Questions was similar to this problem.

Content:

2 LeetCode Medium-level DSA problems

Focus was on problem-solving skills and optimal solutions

Standard topics like Graphs, HashMaps, and Two Pointers

🔁 Loop Interviews (3 Rounds)
Round 1: DSA-Focused Round
Duration: 1 Hour

Format: Live Coding

Content:

Solved 2 LeetCode Medium questions

Interviewer focused on writing clean code and explaining time/space complexities

Follow-ups involved optimizing initial approaches

Round 2: System Design + DSA
Duration: 1 Hour (45 min System Design + 15 min DSA)

Format: Virtual Whiteboard/Discussion

Content:

System Design: Design a healthcare system for doctors and patients

Covered components, data flow, entities, APIs, scalability, and data consistency

DSA: One short LeetCode-style problem (more of a warm-up to wrap up the round)

Round 3: Director Round (Tech Deep Dive)
Duration: 1 Hour

Content:

In-depth discussion on current/past projects

Walked through architecture decisions, design trade-offs, scalability, and tech stack choices

Questions like "Why did you choose this design?", "How would you improve it?", "What challenges did you face?"

Interview Questions (3)

Q1
Number of Islands (similar problem)
Data Structures & AlgorithmsMedium

The question in the screening round was similar to the 'Number of Islands' problem on LeetCode.

Q2
Design a Healthcare System
System Design

Design a healthcare system for doctors and patients. The discussion covered various components, data flow, entities, APIs, scalability, and data consistency.

Q3
Project Deep Dive and Design Decisions
Behavioral

An in-depth discussion on current/past projects, focusing on architecture decisions, design trade-offs, scalability, and technology stack choices. Questions included: "Why did you choose this design?", "How would you improve it?", and "What challenges did you face?"

Interview Experience - Oracle SMTS
oracle logo
Oracle
MTS II3.1 years
April 20, 20255 reads

Summary

I recently interviewed for the SMTS role at Oracle, received an offer, and summarized the process which included a screening round, three loop interviews focusing on DSA and System Design, and a director round discussing my projects.

Full Experience

Company: Oracle
Role: SMTS (Senior Member of Technical Staff)
Experience: 3.10 YOE
Status: ✅ Offer Received

I recently interviewed for the SMTS (Senior Member of Technical Staff) role at Oracle. Here's a breakdown of the process:

📍 Screening Round

Duration: 1 Hour

Format: Online Coding Test (Peer Programming)
Questions was similar to this problem.

Content:

  • 2 LeetCode Medium-level DSA problems
  • Focus was on problem-solving skills and optimal solutions
  • Standard topics like Graphs, HashMaps, and Two Pointers

🔁 Loop Interviews (3 Rounds)

Round 1: DSA-Focused Round

Duration: 1 Hour

Format: Live Coding

Content:

  • Solved 2 LeetCode Medium questions
  • Interviewer focused on writing clean code and explaining time/space complexities
  • Follow-ups involved optimizing initial approaches

Round 2: System Design + DSA

Duration: 1 Hour (45 min System Design + 15 min DSA)

Format: Virtual Whiteboard/Discussion

Content:

  • System Design: Design a healthcare system for doctors and patients
  • Covered components, data flow, entities, APIs, scalability, and data consistency
  • DSA: One short LeetCode-style problem (more of a warm-up to wrap up the round)

Round 3: Director Round (Tech Deep Dive)

Duration: 1 Hour

Content:

  • In-depth discussion on current/past projects
  • Walked through architecture decisions, design trade-offs, scalability, and tech stack choices
  • Questions like "Why did you choose this design?", "How would you improve it?", "What challenges did you face?"

✅ Final Outcome

I’m happy to share that I received the offer 🎉

Here's the Offer Breakup for anyone interested in the compensation details.

Comp Details

Interview Questions (3)

Q1
Number of Islands (similar)
Data Structures & AlgorithmsMedium

Question similar to LeetCode's Number of Islands problem.

Q2
Design a Healthcare System
System Design

Design a healthcare system for doctors and patients. The discussion covered components, data flow, entities, APIs, scalability, and data consistency.

Q3
Project Deep Dive and Design Choices
Behavioral

In-depth discussion on current/past projects. Questions included: "Why did you choose this design?", "How would you improve it?", "What challenges did you face?" Discussion covered architecture decisions, design trade-offs, scalability, and tech stack choices.

Preparation Tips

  • Be strong with core DSA, especially medium-level LeetCode problems
  • Practice System Design, even for mid-level roles
  • Be ready to deep dive into your projects — know the why, how, and impact
  • Communication matters a lot, especially in the Director round
Oracle| Application Developer 3 | Hyderabad | March 25 [Rejected]
oracle logo
Oracle
Application Developer 3Hyderabad3.5 years
April 3, 20254 reads

Summary

An experienced professional with 3.5 years of experience interviewed for an Application Developer 3 role at Oracle in Hyderabad, completing two technical rounds before being rejected. The interview focused on data structures, algorithms, and some behavioral aspects.

Full Experience

Status: Experienced professional with 3.5 years in software development

Interview Process

First Round (Technical Zoom Call, 1 hour):

Assignment Questions:

One day before they provided a google doc with some SQL and Java implementation problem. So First 15 minutes was discussed on the solution of those problems

Logical Problem:

Problem: Find Top K Frequent Elements of an array

I solved this question and provided the optimized code


Second Round (Technical Zoom Call, 1 hour):

Behavioral Questions:

Asked about my current work role. A few general technical question based on my resume. Logical Problem:

Problem:

  1. Find missing number in consecutive array of n+1 elements Solved Using Math Formula
  2. Reverse a String Preserving space Solved with brute force
  3. Queue Using 2 stacks Provided the approach--Not solved becuase time is over.

Verdict: Rejected After Second Round.

Interview Questions (4)

Q1
Find Top K Frequent Elements of an array
Data Structures & Algorithms

Find Top K Frequent Elements of an array

Q2
Find Missing Number in Consecutive Array
Data Structures & Algorithms

Find missing number in consecutive array of n+1 elements

Q3
Reverse a String Preserving Space
Data Structures & Algorithms

Reverse a String Preserving space

Q4
Implement Queue Using Two Stacks
Data Structures & Algorithms

Queue Using 2 stacks

Preparation Tips

One day before the first round, they provided a google doc with some SQL and Java implementation problems to solve.

Oracle Interview DS questions
oracle logo
Oracle
software role
April 1, 20257 reads

Summary

I recently interviewed with Oracle for a software role, and it was a great learning experience where I encountered several coding questions testing my problem-solving skills, data structures, and algorithmic thinking.

Full Experience

I recently had the opportunity to interview with Oracle for a software role, and it was a great learning experience! Here are some of the coding questions I encountered during the process:

1️⃣ Remove the minimum number of parentheses for a valid string

Given a string containing parentheses, the goal is to remove the minimum number of invalid parentheses to make the string valid. Hint:-The solution requires efficient use of stacks or DFS.
2️⃣ Stock Price Tracker

You are given a stream of records about a particular stock. Each record contains a timestamp and the corresponding price of the stock at that timestamp. You need to implement the Stock Price class that supports the following operations:
Update the price of the stock at a given timestamp.
Retrieve the latest stock price (price at the latest timestamp recorded).
Retrieve the maximum stock price recorded so far.
Retrieve the minimum stock price recorded so far.
Hint:-This problem can be efficiently solved using a combination of hash maps and priority queues.

3️⃣ Maximum Path Sum in a Binary Tree

Given a binary tree, find the path with the maximum sum. The path can start and end at any node.
Hint:- The solution involves a depth-first search (DFS) traversal while keeping track of the maximum sum encountered.

These questions tested my problem-solving skills, data structures, and algorithmic thinking. Overall, it was a great experience!

If you’re preparing for coding interviews, I highly recommend practicing these types of questions. Feel free to drop a comment if you have any thoughts or if you’ve faced similar challenges in your interviews!

#Oracle #InterviewExperience #CodingInterview #DataStructures #Algorithms #SoftwareEngineering

Interview Questions (3)

Q1
Remove Minimum Number of Parentheses for Valid String
Data Structures & Algorithms

Given a string containing parentheses, the goal is to remove the minimum number of invalid parentheses to make the string valid. Hint:-The solution requires efficient use of stacks or DFS.

Q2
Stock Price Tracker
Data Structures & Algorithms

You are given a stream of records about a particular stock. Each record contains a timestamp and the corresponding price of the stock at that timestamp. You need to implement the Stock Price class that supports the following operations:
Update the price of the stock at a given timestamp.
Retrieve the latest stock price (price at the latest timestamp recorded).
Retrieve the maximum stock price recorded so far.
Retrieve the minimum stock price recorded so far.
Hint:-This problem can be efficiently solved using a combination of hash maps and priority queues.

Q3
Maximum Path Sum in a Binary Tree
Data Structures & Algorithms

Given a binary tree, find the path with the maximum sum. The path can start and end at any node. Hint:- The solution involves a depth-first search (DFS) traversal while keeping track of the maximum sum encountered.

Oracle IC2 || Interview Experience
oracle logo
Oracle
SDE I2.9 years
March 30, 20254 reads

Summary

I interviewed for an IC2 role at Oracle. Despite strong DSA skills, my design skills were deemed weak, leading to a referral for another team requiring a complete re-interview process.

Full Experience

Years of Experience (YOE): 2.9 years

Round 1: Screening Round

Question 1: A prefix nums[0..i] is sequential if, for all 1 <= j <= i, nums[j] = nums[j - 1] + 1. In particular, the prefix consisting only of nums[0] is sequential. Return the smallest integer x missing from nums such that x is greater than or equal to the sum of the longest sequential prefix.

Input: nums = [1,2,3,2,5] Output: 6 Explanation: The longest sequential prefix of nums is [1,2,3] with a sum of 6. 6 is not in the array, therefore 6 is the smallest missing integer greater than or equal to the sum of the longest sequential prefix.

Input: nums = [3,4,5,1,12,14,13] Output: 15 Explanation: The longest sequential prefix of nums is [3,4,5] with a sum of 12. 12, 13, and 14 belong to the array while 15 does not. Therefore 15 is the smallest missing integer greater than or equal to the sum of the longest sequential prefix.

Question 2: https://leetcode.com/problems/asteroid-collision/description/

Round 2

Question 1: Median of Two Sorted Arrays – I was able to provide a solution using extra space. The interviewer was looking for a more optimal solution (without extra space), but he was okay with my approach and moved on to the next problem.

Question 2: https://leetcode.com/problems/palindrome-partitioning/description/ Was able to solve this completely

Round 3

This was supposed to be an LLD/Java round. The interviewer asked me to create a Spring Boot project with a proper folder and file structure. He asked me to create one for a BookMyShow app. Since I didn’t have much experience with Spring Boot, I couldn't create a very detailed app.

He was mainly interested in understanding the data flow and how it happens. Then, he moved on to API discussions and also discussed the same for my previous projects.

Round 4 (HM)

Started off with an introduction, followed by a resume-based discussion. Later, I was asked a few Java-related questions (Lambda, Streams, etc.).

At the end, he asked me one coding problem: Problem: Reverse each word in a sentence.

  • I was asked to write the solution in Java.
  • I coded it but took some time and required a few hints. Since I primarily do DSA in C++, I faced some syntax-related issues.

I reached out to the recruiter regarding feedback. She mentioned that my DSA/problem-solving skills were strong, but my design skills were weak. The team I was interviewing for was looking for more experienced candidates. However, the recruiter told me that she would refer me to another team, and I would have to go through the complete interview loop again for that team.

Interview Questions (6)

Q1
Smallest Missing Integer Greater Than or Equal to Sum of Longest Sequential Prefix
Data Structures & Algorithms

A prefix nums[0..i] is sequential if, for all 1 <= j <= i, nums[j] = nums[j - 1] + 1. In particular, the prefix consisting only of nums[0] is sequential. Return the smallest integer x missing from nums such that x is greater than or equal to the sum of the longest sequential prefix.

Input: nums = [1,2,3,2,5] Output: 6 Explanation: The longest sequential prefix of nums is [1,2,3] with a sum of 6. 6 is not in the array, therefore 6 is the smallest missing integer greater than or equal to the sum of the longest sequential prefix.

Input: nums = [3,4,5,1,12,14,13] Output: 15 Explanation: The longest sequential prefix of nums is [3,4,5] with a sum of 12. 12, 13, and 14 belong to the array while 15 does not. Therefore 15 is the smallest missing integer greater than or equal to the sum of the longest sequential prefix.

Q2
Asteroid Collision
Data Structures & Algorithms
Q3
Median of Two Sorted Arrays
Data Structures & Algorithms

Median of Two Sorted Arrays – I was able to provide a solution using extra space. The interviewer was looking for a more optimal solution (without extra space), but he was okay with my approach and moved on to the next problem.

Q4
Palindrome Partitioning
Data Structures & Algorithms
Q5
Design a BookMyShow App (Low-Level Design)
System Design

The interviewer asked me to create a Spring Boot project with a proper folder and file structure. He asked me to create one for a BookMyShow app. Since I didn’t have much experience with Spring Boot, I couldn't create a very detailed app. He was mainly interested in understanding the data flow and how it happens. Then, he moved on to API discussions and also discussed the same for my previous projects.

Q6
Reverse each word in a sentence
Data Structures & Algorithms

Problem: Reverse each word in a sentence. - I was asked to write the solution in Java.

Oracle OCI IC2 Interview Experience
oracle logo
Oracle
SDE I1.8 yearsRejected
March 19, 202548 reads

Summary

I interviewed for an IC2 role at Oracle OCI, progressing through multiple rounds that included coding, system design, and behavioral questions. Although I received an offer, I eventually did not accept it as the hiring manager decided to move on with another candidate after I tried to negotiate for higher compensation.

Full Experience

I had an interview experience for an IC2 position at Oracle OCI with 1.8 years of experience. The process involved multiple rounds, starting with a screening round that covered both coding and fundamental computer science concepts. This was followed by four 'Loop Rounds', which included technical discussions, system design, behavioral questions, and more coding challenges. I specifically remember being asked about my projects and on-call responsibilities in almost every round. In the end, I received an initial offer of 40LPA (27+13), but after I tried to negotiate for a higher compensation, the hiring manager decided to proceed with another candidate and withdrew the offer.

Interview Questions (23)

Q1
Minimum Cost to Make Array Equal
Data Structures & Algorithms

Standard LeetCode problem. Refer to the provided link for full details.

Q2
Difference between Mutex and Semaphore
Other

Explain the key differences between mutexes and semaphores, including their typical use cases and synchronization mechanisms.

Q3
Sleep vs. Wait in Java
Other

Elaborate on the distinctions between Thread.sleep() and Object.wait() in Java, specifically concerning thread states, monitor locks, and their respective use in concurrent programming.

Q4
Optimistic vs. Pessimistic Locking
Other

Discuss the principles of optimistic and pessimistic locking strategies in database systems or concurrent programming, outlining their advantages, disadvantages, and scenarios where each is preferred.

Q5
Tomcat Server Basics
Other

Describe what Apache Tomcat is, its role as a web server and servlet container, and its primary functionalities.

Q6
DynamoDB LSI and GSI
System Design

Explain the concepts and operational differences between Local Secondary Indexes (LSI) and Global Secondary Indexes (GSI) in Amazon DynamoDB, and when to use each.

Q7
Protobuf for Serialization
System Design

Discuss the reasons for using Protocol Buffers (Protobuf) for data serialization, highlighting its benefits over other serialization formats like JSON or XML.

Q8
Communication Protocol for Project
System Design

Regarding a specific project, identify the communication protocols utilized and justify the selection of these protocols.

Q9
How HTTPS Works
System Design

Detail the end-to-end process of how HTTPS works, covering aspects like TLS/SSL handshake, encryption, digital certificates, and secure communication.

Q10
Project Description and Design
System Design

Describe a significant project you have worked on in detail, explaining its architecture and design decisions. Be prepared to illustrate with diagrams.

Q11
Insert Delete GetRandom O(1)
Data Structures & Algorithms

Standard LeetCode problem. Refer to the provided link for full details.

Q12
Biggest Mistake and Learning
Behavioral

Recount a significant professional mistake you've made, what transpired, and the key lessons or insights you gained from that experience.

Q13
Most Impactful Work
Behavioral

Share an example of your most impactful work or contribution in your career, detailing your role, the challenges, and the positive outcomes.

Q14
Identifying Architectural Problems
System Design

Reflect on systems or architectures you've worked with and discuss potential problems, bottlenecks, or areas for improvement you identify within them.

Q15
3Sum
Data Structures & Algorithms

Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. The solution set must not contain duplicate triplets.

Q16
Project Deep Dive: Scaling and Testing
System Design

Describe a project in depth, focusing on how you would approach scaling it to handle increased load or data, and elaborate on the methodologies and strategies used for testing its features.

Q17
On-Call, Deployment, and Load Balancers Experience
System Design

Discuss your practical experience with on-call issues, including incident response and resolution. Explain your involvement in deployment processes and how you've worked with load balancers.

Q18
Keys and Rooms
Data Structures & Algorithms

Standard LeetCode problem. Refer to the provided link for full details.

Q19
Time Based Key-Value Store
Data Structures & Algorithms

Standard LeetCode problem. Refer to the provided link for full details.

Q20
Web Page Loading Process
System Design

Walk through the entire lifecycle of a web page being loaded in a browser, starting from typing the URL and covering DNS resolution, TCP/IP handshake, HTTP request/response, rendering, and potential optimizations.

Q21
How VPN Works
System Design

Explain the fundamental principles of how a Virtual Private Network (VPN) operates, including concepts like tunneling, encryption, and how it might interact with private DNS servers.

Q22
Josephus Problem
Data Structures & Algorithms

Describe and provide a solution for the Josephus Problem: given n people standing in a circle and counting off every kth person to be eliminated, determine the position of the last surviving person. The interviewer specifically asked not to worry about optimization.

Q23
On-Call Incident Description
Behavioral

Detail a specific on-call incident you've handled, outlining the nature of the problem, the steps you took to diagnose and resolve it, and the ultimate outcome.

Oracle Inteview Experience
oracle logo
Oracle
software engineerOngoing
March 11, 202525 reads

Summary

I recently had my first round interview with Oracle for a Software Engineer role in their ERP team, covering data structures, algorithms, Java concepts, SQL, and system design.

Full Experience

I recently had my first round (R1) interview for a Software Engineer (SE) role within the ERP team at Oracle. The interview covered a broad range of topics, including data structures and algorithms, core Java concepts, database queries, and system design principles. I was presented with several questions covering these areas during the round.

Interview Questions (8)

Q1
Strings with Frequency Greater than Target
Data Structures & AlgorithmsMedium

Given an array of strings, return all the strings whose frequency of occurrence in the array is greater than a specified target value.

Q2
Kth Largest Element
Data Structures & AlgorithmsMedium

Find the Kth largest element in an unsorted array.

Q3
Sort List of Student Objects by Marks
Data Structures & AlgorithmsEasy

Given a list of Student objects, where each object has attributes Name, RollNo, and marks, write a function to print the list of objects sorted based on their marks in ascending order.

Q4
Comparator vs. Comparable in Java
Other

Explain the difference between Comparator and Comparable interfaces in Java. Provide use cases for each.

Q5
Internal Working of Static Variables in Java
Other

Explain what internally happens when a static variable is used in Java, including its memory allocation and lifecycle.

Q6
Department-wise Average Salary (SQL)
OtherEasy

Given two tables: Employee (columns: EmpID, Name, DeptID, Salary) and Department (columns: DeptID, DeptName). Write an SQL query to find the average salary for each department.

Q7
Experience with Design Patterns
System Design

Discuss the different design patterns you have worked on and describe your experience with them.

Q8
Monolithic vs. Microservices Architecture
System Design

Discuss the differences, advantages, and disadvantages of Monolithic versus Microservices architecture.

Oracle | Application Developer | Mar 2025
oracle logo
Oracle
sr application developeron siteRejected
March 10, 202528 reads

Summary

I interviewed for a Senior Application Developer position at Oracle in March 2025. My interview process included three technical rounds covering data structures, algorithms, system design, and project discussions. Although I received positive feedback from the interviewers, I was ultimately not selected for the role.

Full Experience

I recently had an on-site interview for a Senior Application Developer role at Oracle. The process consisted of three distinct rounds, each focusing on different aspects of my technical and problem-solving skills.

Round 1: Data Structures & Algorithms

The first round was primarily focused on core data structures and algorithms. I was presented with several coding challenges:
  • One problem was a classic dynamic programming problem, Kadane's Algorithm, asking for the maximum subarray sum.
  • Another involved finding the longest sequence of ones in a binary string.
  • I also had to determine the number of possible paths from the top-left to the bottom-right corner of an n*m grid, restricted to moving only right or down.
  • There was a two-pointer question related to finding the minimum subarray size, but I can't recall the exact details of that one.
  • Additionally, the interviewer asked several in-depth questions about my past projects and drilled into my resume.

Round 2: Problem Solving & System Design

The second round delved into more complex problem-solving and system design.
  • I was challenged with a scheduling question, specifically devising an intuition for scheduling classes for a school. This involved considering teacher availability, a fixed number of classes per day, and a total number of days, along with a variation if an additional section was added.
  • A classic water jug puzzle was also posed: how to fill exactly 4 liters using 3-liter and 5-liter jugs.
  • The round also included a system design question, where I needed to outline how I would design a multiplayer Snakes and Ladders game.

Round 3: Algorithms & Problem Solving

The final round continued with algorithmic challenges.
  • One problem was described as a 'flight scheduling problem', though I don't remember the specifics.
  • The other was the well-known Merging Intervals problem, where I needed to combine overlapping time intervals.

Overall, I felt I performed well and received positive feedback from my interviewers. However, despite this, I was ultimately not selected for the position.

Interview Questions (7)

Q1
Kadane's Algorithm
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.

Q2
Longest Sequence of Ones
Data Structures & AlgorithmsEasy

Find the length of the longest contiguous subsegment of ones in a binary string (string of zeros and ones).

Q3
Unique Paths in a Grid
Data Structures & AlgorithmsMedium

Given a grid of size n*m, find the number of unique paths from the top-left corner (0,0) to the bottom-right corner (n-1, m-1). You can only move right or down.

Q4
School Class Scheduling Problem
Data Structures & AlgorithmsHard

Given teacher availability (e.g., 4 4 3 3 3 3 representing available slots for subjects ma so sc en l1 l2), with 4 classes allowed per day and a total of 5 days, design a schedule for each day. Also, consider a variation with an added section and how that would impact the scheduling.

Q5
Water Jug Problem (3-liter and 5-liter)
OtherMedium

You have a 3-liter jug, a 5-liter jug, and an empty jug. The goal is to measure exactly 4 liters of water using these jugs.

Q6
Design Snakes and Ladders (Multiplayer)
System DesignMedium

Design a multiplayer Snakes and Ladders game. Consider aspects like game state, player turns, dice rolls, special squares (snakes/ladders), and multiplayer synchronization.

Q7
Merge Intervals
Data Structures & AlgorithmsMedium

Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

Oracle Interview Experience for Java Developer | Offer ACCEPTED
oracle logo
Oracle
applications engineer2 yearsOffer
January 21, 202530 reads

Summary

I successfully navigated a rigorous 5-round interview process at Oracle for a Java Developer position, demonstrating proficiency in data structures, algorithms, core Java concepts, and system design, ultimately leading to an offer for an Applications Engineer role.

Full Experience

My interview journey with Oracle for a Java Developer position spanned 10 days, with each round serving as an elimination stage. A recruiter initially contacted me via Naukri.

Round 1: Online Assessment

This round featured two questions. I had to solve a coding problem and also demonstrate my ability to make a REST API call using Java, parsing the JSON response.

Round 2: F2F Interview (1 hour)

After two days, I received a call for the onsite interviews. For all these rounds, I had to write code on paper and explain my approach. This round covered:

  • Coding: Printing all subsets with a given sum.
  • Java Concepts: Exceptional Hierarchy, questions on strings (code snippets, string intern() method), and the differences between Final, Finally, and Finalize.
  • One conceptual question: Can a try block be used without a catch block?

Round 3: F2F Interview (1 hour, same day)

This round was also focused on coding and some technical concepts:

  • Coding: Adding two numbers represented by linked lists.
  • Database: Finding the nth highest employee salary from a table, and finding the name of an employee with the Nth highest salary from a list.
  • Front-end: What is AJAX?
  • Coding: Identifying all leaders in an array of integers (an element is a leader if it's greater than all its right elements).

Round 4: F2F Interview (1.5 hours, same day)

This round delved deeper into design principles and advanced coding problems:

  • Object-Oriented Programming: I explained all OOPs concepts with practical examples from my projects.
  • Software Design: I explained SOLID principles with practical examples from my projects.
  • Java Concepts: Exceptional hierarchy in detail (Error vs Exception, Checked vs Unchecked).
  • Coding: Sorting two arrays (names and cities) based on names, then by city if names are equal.
  • Coding: Printing array elements in an alternating high-low order (first highest, first smallest, second highest, second smallest, and so on).
  • System Design: I explained steps involved from request to response.
  • Database: How to optimize database performance.

Round 5: F2F Interview (2 hours)

After a two-day wait, I had my final and most extensive interview:

  • Design Patterns: I explained and wrote code for design patterns I had worked with.
  • Java Concepts: Exceptional hierarchy (again), questions on code snippets, constructors, serialization/deserialization in depth, String vs StringBuffer vs StringBuilder, functional interfaces, marker interfaces.
  • Coding: Finding combinations of digits for a 3-digit integer that sum to a given value.
  • Project Discussion: Several questions about my projects.
  • Memory Management: Discussed memory management.
  • Java Concepts: Abstract classes and interfaces in depth, including whether an abstract class must have at least one abstract method.

The verdict came after three days: I was selected! Oracle offered me the role of Applications Engineer with a fixed salary of 19 LPA, without bonuses or stocks. My previous experience was with TCS as a Java Spring Boot Developer with 2 years and 1 month of experience.

Interview Questions (31)

Q1
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Given a string s, find the length of the longest substring without repeating characters.

Q2
Implement REST API Call and JSON Parsing
OtherMedium

Given a URI, write Java code to make a REST API call, fetch the JSON response, and process its contents.

Q3
Print All Subsets with Given Sum
Data Structures & AlgorithmsMedium

Given a set of numbers and a target sum, print all subsets of the set whose elements sum up to the target.

Q4
Java Exception Hierarchy
OtherEasy

Explain the Java Exception Hierarchy, including Throwable, Error, Exception, RuntimeException, and their relationships.

Q5
Java `String.intern()` Method
OtherEasy

Explain the purpose and behavior of the String.intern() method in Java.

Q6
`final` vs `finally` vs `finalize` in Java
OtherEasy

Differentiate between the final keyword, the finally block, and the finalize() method in Java, providing use cases for each.

Q7
`try` block without `catch` block
OtherEasy

Can a try block be used without a catch block in Java? If yes, how and why?

Q8
Add Two Numbers Represented by Linked Lists
Data Structures & AlgorithmsMedium

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list.

Q9
Find Nth Highest Employee Salary (SQL)
OtherMedium

Write a SQL query to find the Nth highest employee salary from an Employees table.

Q10
Find Nth Highest Salary from List of Employees
Data Structures & AlgorithmsMedium

Given a list of employee objects, each with a name and salary, find the name of the employee who has the Nth highest salary.

Q11
What is AJAX?
OtherEasy

Explain what AJAX (Asynchronous JavaScript and XML) is, its purpose, and how it works in front-end web development.

Q12
Find Leaders in an Array
Data Structures & AlgorithmsMedium

Given an array of integers, find all 'leaders' in the array. A leader is an element that is greater than all the elements to its right. The leaders should be returned in the order they appear.

Q13
Explain OOPs Concepts with Project Examples
OtherEasy

Explain core Object-Oriented Programming (OOPs) concepts such as Encapsulation, Inheritance, Polymorphism, and Abstraction, providing practical examples of how they were applied in your projects.

Q14
Explain SOLID Principles with Project Examples
System DesignMedium

Explain each of the SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) and demonstrate their application with practical examples from your projects.

Q15
Detailed Java Exception Hierarchy (Error vs Exception, Checked vs Unchecked)
OtherEasy

Elaborate on the Java exception hierarchy, providing a detailed comparison between Error and Exception, and explaining the distinction between checked and unchecked exceptions.

Q16
Sort Employee Data by Name then City
Data Structures & AlgorithmsMedium

Given two arrays, one for employee names (names[]) and one for their corresponding cities (cities[]), sort the data primarily by name. If names are identical, then sort by city.

Q17
Print Array Elements in Alternating High-Low Order
Data Structures & AlgorithmsMedium

Given an array of integers, print its elements in the following order: the highest element, then the smallest, then the second highest, then the second smallest, and so on.

Q18
Web Request-Response Cycle
System DesignMedium

Explain the end-to-end steps involved in a typical web request-response cycle, from a client making a request to receiving a response from a server.

Q19
Database Performance Optimization Techniques
System DesignMedium

Discuss various techniques and strategies to optimize database performance.

Q20
Explain and Implement Design Patterns
System DesignHard

Explain specific design patterns you have experience with (e.g., Singleton, Factory, Observer) and demonstrate their implementation with code examples relevant to your projects.

Q21
Java Exception Hierarchy (Revisited)
OtherEasy

Explain the Java Exception Hierarchy, including Throwable, Error, Exception, RuntimeException, and their relationships.

Q22
Java Constructors Deep Dive
OtherMedium

Discuss Java constructors in depth, including constructor overloading, default constructors, and constructor chaining.

Q23
Java Serialization and Deserialization
OtherMedium

Explain the concepts of serialization and deserialization in Java, including how to implement them, common issues, and use cases.

Q24
`String` vs `StringBuffer` vs `StringBuilder`
OtherEasy

Compare and contrast String, StringBuffer, and StringBuilder in Java, focusing on their immutability, thread-safety, and performance characteristics.

Q25
Java Functional Interfaces
OtherMedium

Explain what functional interfaces are in Java, their purpose, and how they are used with lambda expressions.

Q26
Java Marker Interfaces
OtherEasy

Explain what marker interfaces are in Java and provide examples of their use.

Q27
Java String Pooling and Concatenation
OtherMedium

Explain the concept of String pooling in Java and how String concatenation works, including performance considerations.

Q28
Combinations of Digits Summing to Target
Data Structures & AlgorithmsMedium

Given a target sum, find all combinations of single-digit numbers (0-9) that add up to the target sum.

Q29
Java Memory Management
OtherMedium

Discuss Java memory management, including JVM memory areas (Heap, Stack, Method Area), garbage collection, and best practices.

Q30
Java Abstract Classes and Interfaces Deep Dive
OtherMedium

Explain Java abstract classes and interfaces in depth, comparing their features, use cases, and how they achieve abstraction and polymorphism.

Q31
Abstract Class Requirement for Abstract Methods
OtherEasy

Is it mandatory for an abstract class in Java to have at least one abstract method? Explain.

Preparation Tips

I diligently prepared by focusing on core Java concepts, object-oriented programming principles, and a wide range of data structures and algorithms. For system design, I reviewed common architectural patterns and best practices. My practical experience from various projects was crucial, as many interview questions involved explaining concepts with real-world examples and writing code on paper. I also revisited database optimization techniques and front-end fundamentals like AJAX.

Oracle Applications Engineer Interview Experience
oracle logo
Oracle
applications engineerRejected
September 24, 202428 reads

Summary

I interviewed for an Applications Engineer role at Oracle, which consisted of an OA, two technical rounds, and one HR+technical round. Despite solving a LeetCode medium problem and discussing complex system design challenges, I was ultimately rejected.

Full Experience

I participated in an on-campus interview experience for an Applications Engineer role at Oracle, which involved four distinct rounds, ultimately leading to a rejection.

Round 1: Online Assessment

The first round was an Online Assessment consisting of 20-30 MCQs and a single coding question. My coding question involved concepts from DSU (Disjoint Set Union) and mathematics, which I found to be of easy-medium difficulty, assuming a decent background in Competitive Programming/DSA.

Round 2: Technical Interview

This round began with my introduction. The interviewer then asked me to explain my Spring Boot application in depth. I was given two follow-up questions on how I would extend my project, which I answered by discussing potential changes to the underlying data structures while maintaining existing APIs. Following this, I was presented with a LeetCode medium question, Count Numbers with Unique Digits, which I solved using a DP approach, although I felt it might have been an overkill. I was also asked to rate my proficiency in Java and SQL, for which I gave myself ratings of 3.5 and 3 out of 5 respectively. The round concluded with several basic OOPS questions in Java, most of which I was able to answer.

Round 3: HR + Technical Interview

The third round was a combination of HR and technical questions. I was asked to briefly describe my three years of college and discuss the projects listed on my resume, including a formal LOP project on Blockchain+DL. I faced follow-up questions regarding my use of REST APIs, which I answered, though not with complete confidence. The interviewer also inquired about my post-college plans, my programming frequency, and when I started programming. Towards the end, I was challenged to design the direct chat and group chat features for WhatsApp. I responded by outlining functional and non-functional requirements and detailing the necessary data structures, such as map<int,pair<int,string> > for direct chat and map<int,pair<vector<int> , string>> for group chat.

Round 4: Technical Interview

This final technical round started unexpectedly with a question about whether I watch the Olympics. I was then asked to describe myself in terms of education, skills, and inspiration. The conversation quickly shifted to a complex, open-ended problem concerning a Lot Management System, providing a DB schema (Lot_ID, LotGrade, LotExpirationDate, LotStatus, Miscellaneous).

I was posed several questions based on this system:

  1. How to determine the industry a Lot belongs to by analyzing the 'Miscellaneous' column. I suggested using NLP techniques to extract strings, feeding them into an RNN network, and potentially clustering based on 'LotExpirationDate' or using another ANN layer for improved accuracy.
  2. How the organization could efficiently obtain a median 'LotExpirationDate' for all consumers, considering industry variations. Initially, I proposed extracting all expiration dates relative to the current time and finding the median, with a fallback to the mean if the median was too close to current or expiration dates. When the interviewer pointed out the database's large size, I adapted my solution, suggesting the use of NoSQL databases specifically for expiration times. I would create clusters based on expiration durations, then operate within these groups, applying ML heuristics to identify patterns, reasoning that industries like bakery and restaurant (both food) might have similar (LotExpirationDate - currentDate) values.
  3. How to implement a feature allowing customers full control over setting 'LotExpirationDate' and receiving automatic expiration notifications. I presented two approaches:
    • If an existing customer database with previous records was available, I would use the 'Miscellaneous' attribute to guess the industry, retrieve its threshold duration from the database, and send it to the customer.
    • If no existing database, I would conduct unit testing on a sample of customers to identify patterns and then extrapolate these insights to a wider audience.

The round concluded with me describing all three rounds and what I learned from each.

Ultimately, I received a rejection.

Interview Questions (5)

Q1
Count Numbers with Unique Digits
Data Structures & AlgorithmsMedium

The interviewer presented a LeetCode medium problem asking to count numbers with unique digits.

Q2
WhatsApp Chat Feature Implementation
System Design

The interviewer asked me to describe how I would implement the direct chat and group chat features of WhatsApp. I discussed functional and non-functional requirements and proposed data structures for implementation.

Q3
Identify Lot Industry from Miscellaneous Column
Other

Given a Lot Management System with a database schema including a 'Miscellaneous' column, how would one determine the industry a particular lot belongs to by analyzing this column?

Q4
Calculate Median Lot Expiration Date Across Industries
Other

In a Lot Management System, how would the organization efficiently calculate the median LotExpirationDate for all consumers, considering that this duration can vary significantly across different industries?

Q5
Customer-Controlled Lot Expiration & Notifications
System Design

Design a feature for a Lot Management System where customers have complete control over setting the LotExpirationDate and receive automatic notifications when a lot is nearing its expiration.

Preparation Tips

The post did not explicitly detail my preparation strategy. However, for the Online Assessment, it was mentioned that a decent background in Competitive Programming (CP) and Data Structures & Algorithms (DSA) would be beneficial, implying a general focus on these areas.

Oracle | Server Technology | On-Campus (FTE)
oracle logo
Oracle
Server Technology (FTE)Offer
August 15, 202429 reads

Summary

I recently interviewed for a Full-Time Engineer role in Server Technology at Oracle and successfully received an offer after three challenging rounds covering technical skills, system design, and behavioral aspects.

Full Experience

I went through a total of three interview rounds for the Full-Time Engineer position at Oracle in their Server Technology division.

Technical Round 1

The first technical round started with a self-introduction, followed by questions about my internship and the specific tech stack I used there. We then moved on to discussing my projects, which the interviewer seemed quite interested in. We had an extensive discussion about my project work. Towards the end, I was asked to describe a challenging coding problem I had solved in the past and felt accomplished about. The interviewer's main interest was in my ability to explain the problem statement clearly rather than just the solution itself.

Technical Round 2

In the second technical round, the interviewer began by asking about my transition from ECE to software engineering. They then presented me with an RC circuit and a sine wave input, asking me to describe the circuit's output. I correctly identified it as a Low Pass Filter (LPF). Following this, we moved on to coding questions. I was given a variation of the Max Consecutive Ones III problem, where I had to return the indices of the zeros I would flip. I also had to partition a string into non-empty palindrome substrings using a backtracking approach and was asked the Sort Colors problem. Finally, I was asked to explain the Merge Sort algorithm in detail.

Technical + HR Round

The final round started with some basic math and aptitude puzzles. We then discussed my internship in more detail. After that, the interviewer delved into core computer science questions covering operating systems, DBMS, and object-oriented programming (OOPs). A significant part of this round involved a system design challenge where I was asked to draw a system design for a URL encoder website. The round concluded with several behavioral questions.

Outcome

I am pleased to say that I was selected for the role.

Interview Questions (6)

Q1
RC Circuit Output with Sine Wave Input
OtherEasy

The interviewer presented an RC circuit with a sine wave input and asked me to determine the output for the circuit. I identified it as a Low Pass Filter (LPF).

Q2
Max Consecutive Ones III (Variation - Return Indices of Zeros Flipped)
Data Structures & AlgorithmsMedium

Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's. The interviewer asked a variation of this problem where I was supposed to return the indices of the zeros that I would flip to achieve the maximum.

Q3
Partition String into Palindrome Substrings
Data Structures & AlgorithmsMedium

The problem asked me to partition a given string into non-empty substrings such that each substring is a palindrome. This problem typically involves backtracking.

Q4
Sort Colors
Data Structures & AlgorithmsMedium

Given an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white, and blue. We will use the integers 0, 1, and 2 to represent the color red, white, and blue, respectively.

Q5
Explain Merge Sort Algorithm
Data Structures & AlgorithmsEasy

I was asked to explain the Merge Sort algorithm in detail, including its time and space complexity, and how it works.

Q6
Design a URL Encoder Website
System DesignMedium

I was asked to draw a system design for a URL encoder website. This would typically involve discussing components like API gateways, short URL generation logic, databases for mapping long to short URLs, scalability, etc.

Oracle OCI || IC2 || Verbal offer
oracle logo
Oracle
SDE I2.5 yearsOngoing
August 8, 202441 reads

Summary

I interviewed for an IC2 role at Oracle OCI, completing five rounds covering technical, system design, and managerial skills. Despite receiving a verbal offer and discussing compensation, the position was unexpectedly put on hold, possibly due to my long notice period.

Full Experience

I recently appeared for an IC2 role at Oracle OCI. With 2.5 years of experience at a product-based MNC, I applied through their career portal and went through a total of five, one-hour rounds: one screening, two technical, and two managerial.

Screening Round: Technical

Two interviewers started with introductions and discussed the projects I had worked on, focusing on schema and API exposures. They then gave me a coding question, which was a variation of Group Anagrams, requiring me to handle any symbols. I presented my solution, which seemed to convince the interviewer.

A week later, I received positive feedback and was scheduled for four more interview rounds. I took 1.5 days off from my current organization for this.

First Round: Technical

This round was with an interviewer who had 10 years of experience. It began with an introduction and deep dive into my projects. He gave me a coding question: Next Greater Element I. I asked if we should discuss it first or if I should just write code, and when he suggested he could ask another question if I knew this one, I truthfully replied I didn't. I first proposed an O(n^2) approach and then refined it to a stack-based approach.

He then asked some general questions:

  1. How do you handle production issues?
  2. How do you ensure production issues don't impact clients for a prolonged time?

With time remaining, he asked another coding question: Search a 2D Matrix II. I knew the optimized solution. I started by explaining the O(m*n) approach, then O(n log m), and was about to present the most optimized solution when he asked to move on, given the time. I regret not pushing for a few more minutes, as I was confident in my knowledge, but he seemed convinced. The interview ended early, and I had a chance to ask my questions.

Second Round: Technical

The interviewer was very supportive. We started with introductions, and he mentioned that 30 minutes would be for a coding challenge and the remaining 30 minutes for system design. The coding question was Shortest Path in Binary Matrix. For system design, he asked for an LLD of Cricbuzz, mainly focusing on the schema.

Third Round: Managerial

This round was with a manager. We started with introductions and then a thorough discussion of my projects. She then asked a lot of scenario-based questions:

  1. Is there any colleague who inspires you?
  2. Can you describe a significant technical challenge you faced?
  3. Can you recall a scenario when your boss changed, and how you handled it?
  4. Have you ever missed a deadline? How did you handle it?
  5. How do you handle changes in work priorities?
  6. Why are you switching jobs?

She also gave a coding question, which was a variation of Merge Intervals. I first provided a brute-force solution and then moved to the most optimized approach.

At the end, I asked a question about the stage of Oracle Cloud, to which she seemed slightly taken aback and suggested I could Google it, confirming it was fully fledged with many clients. I realize now I should have phrased my question better.

Fourth Round: Managerial

This round involved introductions and an in-depth grilling of my resume. Again, there were many scenario-based questions. I was asked to write code for merge sort and also to replicate a deadlock using threads.

At the end, I asked for feedback. He mentioned I was good at coding but needed to learn beyond day-to-day work, such as DevOps. He was from a DevOps team, and my lack of extensive DevOps knowledge might have been a factor.

After a long time, this was a comprehensive interview process, and I made a few mistakes. However, completing all rounds, I felt a sense of self-worth and capability.

A week later, I heard positive feedback, and HR discussed salary, location, and other details, stating it would take 10-12 days to release an offer letter after email approval. Unfortunately, I later learned the position was put on hold, possibly due to my 90-day notice period. I will update this post if I hear back.

Interview Questions (16)

Q1
Group Anagrams with Symbols
Data Structures & AlgorithmsMedium

A variation of the Group Anagrams problem where the solution must also handle any symbols present in the input strings.

Q2
Next Greater Element I
Data Structures & AlgorithmsEasy

Given two arrays nums1 and nums2 (where nums1 is a subset of nums2), find the next greater element for each number in nums1 within nums2.

Q3
Handling Production Issues
Behavioral

Scenario-based question on how I would handle production issues.

Q4
Minimizing Client Impact of Prod Issues
Behavioral

Question on strategies to ensure production issues do not impact clients for extended periods.

Q5
Search a 2D Matrix II
Data Structures & AlgorithmsMedium

Given an m x n integer matrix matrix with each row sorted in ascending order and each column sorted in ascending order, write an efficient algorithm to search for a target value.

Q6
Shortest Path in Binary Matrix
Data Structures & AlgorithmsMedium

Given an n x n binary matrix grid, return the length of the shortest clear path in the matrix. A clear path is a path from the top-left cell (0, 0) to the bottom-right cell (n - 1, n - 1) such that all visited cells are 0 and all adjacent cells in the path are 8-directionally connected.

Q7
Low-Level Design of Cricbuzz
System Design

Design the low-level architecture of a service like Cricbuzz, with a primary focus on database schema design.

Q8
Colleague Inspiration
Behavioral

Behavioral question asking about a colleague who inspires me.

Q9
Technical Challenges Faced
Behavioral

Behavioral question about a significant technical challenge I faced and how I overcame it.

Q10
Adapting to a New Boss
Behavioral

Behavioral question on how I handled a situation where my boss changed.

Q11
Missing a Deadline
Behavioral

Behavioral question on a scenario where I missed a deadline and what I did.

Q12
Handling Priority Changes
Behavioral

Behavioral question on how I manage changes in work priorities.

Q13
Reasons for Job Switch
Behavioral

Behavioral question asking about my motivations for seeking a new job.

Q14
Merge Intervals Variation
Data Structures & AlgorithmsMedium

A variation of the Merge Intervals problem. Given a collection of intervals, merge all overlapping intervals.

Q15
Implement Merge Sort
Data Structures & AlgorithmsMedium

Implement the Merge Sort algorithm.

Q16
Replicate Deadlock using Threads
OtherHard

Write code to demonstrate or replicate a deadlock scenario using multiple threads.

Preparation Tips

Based on my experience, here are some tips:

  • Always ensure to ask relevant questions at the end of the interview or general questions about work culture.
  • Practice starting with a brute-force solution and then gradually moving towards the optimized solution. Sometimes, we "genius Leetcoders" tend to jump straight to the optimized solution, but a step-by-step approach can be beneficial.
  • Maintain confidence throughout the interview process.
Oracle IC3
oracle logo
Oracle
Software Engineer (IC3)5 yearsOffer
July 1, 202445 reads

Summary

I recently interviewed for an IC3 Software Engineer role at Oracle and successfully received an offer. The interview process spanned several rounds, including technical screenings, deep dives into my projects, behavioral assessments, and a system design discussion.

Full Experience

My interview journey with Oracle began after receiving a call from a recruiter. I have about 5 years of experience, working as an SDE2 at a multi-national company. The recruiter informed me that the initial technical screening would be an elimination round, and passing it would lead to a full onsite loop of five additional rounds.

1st Round: Tech Screening

After initial introductions, the interviewer presented a dynamic programming question that was conceptually similar to the subset sum problem. It wasn't a direct copy, so I had to identify the underlying pattern to devise a solution. I managed to solve it completely, working through a few base case issues. Following that, a behavioral question was posed, and then we moved into system design, where I was asked to suggest improvements for a system the interviewer described.

Onsite Loop Interviews:

Round 1 (Technical)

The first question in this round was a warm-up, an easy LeetCode-level problem related to tree traversals. After that, another behavioral question was asked. The final technical question was to search in a rotated sorted array. I successfully solved both of these questions.

Round 2 (Hiring Manager)

I had anticipated this to be a system design round, but it turned out to be with a hiring manager. This round focused heavily on behavioral questions. We had an in-depth discussion about my past projects, my specific contributions, and various situational questions. I was also asked to draw out the system design for my current project and later suggest an improvement or change to a system.

Bar Tender Round (Senior Director)

This round, taken by a Senior Director, was a very pleasant experience. We had a good discussion about my work portfolio as detailed in my resume. Again, many behavioral questions were asked, and we discussed my current project and my contributions in detail.

System Design Round

After brief introductions and a few questions about my current project, I was tasked with designing a payment system at a high level. The interviewer also wanted to know what changes I would implement in the system to handle high traffic.

A few days later, the recruiter informed me that the debrief outcome was positive, and they would proceed with the offer rollout process.

Interview Questions (2)

Q1
Search in Rotated Sorted Array
Data Structures & AlgorithmsMedium

Given a sorted array that has been rotated at some pivot unknown to you beforehand, search for a given target element. For example, [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2].

Q2
Design a Payment System
System DesignHard

Design a high-level payment system. Discuss considerations for handling high traffic and ensuring scalability, reliability, and security.

Oracle Application Software Developer
oracle logo
Oracle
application software developer
May 19, 202429 reads

Summary

During my interview for an Application Software Developer position at Oracle, I was asked to solve a problem involving finding the longest consecutive sequence in an unsorted array.

Full Experience

My interview experience for the Application Software Developer role at Oracle primarily focused on a technical question. The problem presented to me involved analyzing an unsorted array to determine the longest consecutive sequence within it, with specific constraints regarding sorting and duplicate handling.

Interview Questions (1)

Q1
Longest Consecutive Sequence in Unsorted Array
Data Structures & AlgorithmsHard

Given an unsorted array, we have to find the length of the longest consecutive sequence.
Note: The solution should not sort the array or use any data structure which inherently sorts the array. The array may also contain duplicates, so each unique value should be counted only once.

Example:
Input: {100, 98, -1, 0, 99, 1, 3, 4, 2, 5, 67}
In this, the sequence -1, 0, 1, 2, 3, 4, 5 is the longest consecutive sequence. The count is 7, so the output is 7.

ORACLE IC2 (Applications Engineer) Interview Experience
oracle logo
Oracle
applications engineerbangaloreOffer
March 10, 202432 reads

Summary

I interviewed for the IC2 Applications Engineer role at Oracle and received an offer. The process involved a HackerRank online assessment, an onsite technical round, and a hiring manager discussion, covering data structures, algorithms, system design, and SQL.

Full Experience

My interview journey for the Applications Engineer IC2 position at Oracle began with a HackerRank Online Assessment. This round, lasting about an hour, included one medium difficulty DSA problem, several questions on trees, and some aptitude questions.

The second round was an onsite interview at Oracle's Bangalore office, which lasted approximately two hours. This round started with an in-depth discussion about my projects and previous experience. The interviewer then delved into a variety of technical questions, including the famous LeetCode problem 'Binary Tree Cameras,' how to implement authentication between two microservices, tricky SQL questions, understanding the 'merge' statement, database triggers, explaining sharding and partitioning, locking in SQL, and the 'with' clause. Since I mentioned JavaScript in my experience, there was also a JavaScript-based question. A medium-difficulty puzzle from GeeksforGeeks was also part of this round. Additionally, there were standard Spring Boot questions, covering different types of annotations, and questions about Tomcat and JVM.

Finally, I had the third round, which was with the Hiring Manager, conducted via a Zoom call for about an hour. This round focused heavily on project-based discussions. Questions related to Kafka and Redis were asked because I had mentioned them on my resume. There were also questions on basic encryption/decryption techniques and the differences between SSL and TLS. This round involved more project-related grilling. I was ultimately SELECTED for the role.

Interview Questions (11)

Q1
Binary Tree Cameras
Data Structures & AlgorithmsHard

Given a binary tree, we install cameras on some nodes of the tree. Each camera can monitor itself, its parent, and its immediate children. Return the minimum number of cameras needed to monitor all nodes of the tree.

Q2
Microservice Authentication
System Design

Explain and describe how to implement authentication between two microservices.

Q3
SQL MERGE Statement
Other

What is the MERGE statement in SQL and how is it used?

Q4
Database Trigger
Other

What is a database trigger and what are its applications?

Q5
Database Sharding vs. Partitioning
System Design

Explain the concepts of sharding and partitioning in databases, including their differences and use cases.

Q6
SQL Locking
Other

Explain different types of locking mechanisms in SQL databases.

Q7
SQL WITH Clause (CTE)
Other

What is the WITH clause (Common Table Expression) in SQL and how is it used?

Q8
What is Tomcat?
Other

Explain what Apache Tomcat is and its role in web application deployment.

Q9
What is JVM?
Other

Explain what the Java Virtual Machine (JVM) is and its key components.

Q10
Basic Encryption/Decryption
System Design

Explain basic encryption and decryption techniques.

Q11
SSL vs TLS
System Design

Explain the differences between SSL and TLS protocols.

Oracle-OCI interview experience | IC3 | USA
oracle logo
Oracle
SDE IIUSANo Offer
February 2, 202453 reads

Summary

I recently interviewed for an IC3 role at Oracle-OCI in the USA. The interview process consisted of several rounds, including object-oriented design, behavioral discussions, and two LeetCode medium problems. I have not yet received an offer.

Full Experience

I applied for a position on the Oracle portal, and a recruiter reached out to me. The scheduling process was smooth, but I didn't receive much information about what to expect in the interviews.

My first round was focused on Object-Oriented Programming (OOP). I was asked to write code to design a game and its player characters. The interviewer was primarily interested in my approach to designing classes, subclasses, and methods, rather than the specific game logic itself.

Following that, I had a series of onsite virtual loops:

  • Round 1 (IC4 from another team): This was a 1-hour technical round. I spent about 50 minutes on a LeetCode medium problem, which was related to arrays and stacks. The remaining 10 minutes were for Q&A.
  • Round 2 (Sr. PM from another team): This 1-hour round was entirely behavioral, focusing on my working style and past experiences.
  • Round 3 (Hiring Manager): A shorter 35-minute session with the Hiring Manager. We discussed team fit for about 20 minutes, followed by 15 minutes for my questions.
  • Round 4 (IC5): Another 1-hour technical round. I spent about 40 minutes on a LeetCode medium problem involving a tree structure. The first 10 minutes were for intro and behavioral questions, and the last 10 minutes for Q&A.
  • Round 5 (IC4): This was a 1 hour and 10 minutes round. After a 5-minute introduction, I spent 55 minutes on a specific LeetCode medium problem, Minimum Area Rectangle. The remaining 10 minutes were for Q&A.

I noticed that the LeetCode questions I encountered were not from the commonly tagged Oracle list on LeetCode.

Interview Questions (2)

Q1
Object-Oriented Design: Game and Player Characters
Other

I was asked to write code to design a game and its player characters. The interviewer's focus was on assessing my ability to design classes, subclasses, and methods using object-oriented principles, rather than the specific game logic.

Q2
Minimum Area Rectangle
Data Structures & AlgorithmsMedium

I had to solve a LeetCode medium problem. Given a set of points, the task was to find the minimum area of a rectangle formed by these points, if such a rectangle exists. The problem can be found at the provided link.

Oracle (OFSS) | Project Intern | On Campus | Selected
oracle logo
Oracle
project internOffer
December 16, 202331 reads

Summary

I interviewed for a Project Intern role at Oracle OFSS through an on-campus drive and was selected. The process included an online assessment, a technical round focused on CS fundamentals and my projects, and a final HR round.

Full Experience

My interview journey for the Project Intern position at Oracle OFSS began with an Online Assessment hosted on Hackerrank. This round consisted of 20 multiple-choice questions covering aptitude and reasoning, along with one easy-medium LeetCode problem and an API problem similar to those found on Hackerrank.

The first Technical Round started with my self-introduction. The interviewer then delved into Java, asking about my knowledge and why it's a popular language. We also covered standard Computer Science concepts such as Object-Oriented Programming (OOP), with specific questions on explaining Encapsulation with an example, Polymorphism, and exception handling. A significant portion of this round was dedicated to discussing the projects listed on my resume, which meant I wasn't asked to solve any data structures and algorithms problems directly. However, I know a friend was asked an easy LeetCode problem in this same round.

Finally, the second HR Round again involved discussions about my projects. I was asked classic behavioral questions like "Why do you want to work at Oracle?", "What are your strengths and weaknesses?", and "Why should we hire you?". Additionally, some basic ECE (Electronics and Communication Engineering) related questions were posed.

The verdict was positive: I was selected! Out of more than 450 students who took the Online Assessment, only 6 were shortlisted for interviews, and I was the sole candidate selected.

Interview Questions (7)

Q1
Java Basics and Popularity
Other

Describe your understanding of the Java programming language and elaborate on the factors contributing to its widespread popularity.

Q2
What is OOP?
Other

Explain the fundamental principles and concepts of Object-Oriented Programming (OOP).

Q3
Explain Encapsulation with Example
Other

Define Encapsulation within the context of object-oriented programming and provide a clear, illustrative example.

Q4
Polymorphism and Exception Handling
Other

Explain the concepts of Polymorphism and Exception Handling in programming, detailing their significance and how they are used.

Q5
Why Oracle?
Behavioral

Express your motivation and specific reasons for wanting to work at Oracle, highlighting what attracts you to the company.

Q6
Strengths and Weaknesses
Behavioral

Discuss your key professional strengths and honestly identify areas you consider weaknesses, perhaps also mentioning how you are working to improve them.

Q7
Why Should We Hire You?
Behavioral

Articulate why you believe you are the ideal candidate for this particular role and why Oracle should choose to hire you.

Oracle (OCI) | Offer | Bangalore | IC3
oracle logo
Oracle
IC3 Senior Member of Technical Staffbangalore3 yearsOffer
November 1, 202328 reads

Summary

I received an offer for an IC3 Senior Member of Technical Staff position at Oracle Cloud Infrastructure (OCI) in Bangalore. My interview experience was rigorous, covering Data Structures, Compiler Design, and C++ specific questions, leading to a compensation package of ~42 LPA CTC.

Full Experience

I recently interviewed with Oracle Cloud Infrastructure (OCI) for an IC3 (Senior Member of Technical Staff) position in Bangalore. As a 2020 CSE graduate, I found the interview experience rigorous yet enjoyable. I went through multiple rounds, which primarily focused on Data Structures, Compiler Design, and C++ specific topics. The offer I received includes a CTC of approximately 42 LPA, 17 Lacs in yearly stocks, and a 12 Lacs joining bonus. I am currently weighing this offer against my existing role at a startup and considering the work environment at OCI.

Interview Questions (4)

Q1
Tree - Common Ancestor Algorithm
Data Structures & Algorithms

The interviewer presented a problem requiring the implementation or discussion of a common ancestor algorithm in a tree structure. Specifics on the tree type or constraints were not detailed.

Q2
String Reversal Preserving Spaces
Data Structures & Algorithms

I was asked to implement a string reversal algorithm where all characters are reversed, but the original positions of spaces within the string must be maintained.

Q3
Compiler Design: Regular Languages and Pumping Lemma
Other

The interview delved into theoretical computer science, specifically asking to prove if a given language is regular and to discuss the Pumping Lemma in detail.

Q4
Thread-Safe C++ Singleton
Other

I was tasked with implementing a thread-safe singleton pattern in C++, including considerations for synchronization mechanisms like mutexes.

Oracle | IC2 | Senior Software Engineer | Bangalore | Aug 2023 [Offer]
oracle logo
Oracle
Senior Software EngineerBangaloreOffer
September 25, 202340 reads

Summary

I applied through LinkedIn and received an offer for the Senior Software Engineer (IC2) role at Oracle in Bangalore after successfully navigating multiple technical, debugging, system design, and behavioral interviews in August 2023.

Full Experience

I applied for a Senior Software Engineer (IC2) position at Oracle through LinkedIn and quickly received a callback from a recruiter. We discussed my background, current compensation, and expectations, leading to the scheduling of my interviews.

First Technical Round (1 hour)

This round began with standard introductory questions. Then, I was asked to solve three coding problems:

  1. Roman Numbers to Integer
  2. Convert a number to string, without using inbuilt functions
  3. Traverse a 2D matrix in spiral format

I found the questions pretty easy and came up with solutions quickly. However, explaining my thought process and solutions took a bit longer, as one of the interviewers seemed distracted and required me to repeat explanations. Despite this, the recruiter provided positive feedback and scheduled the next round.

Second Technical Round (1 hour)

To my surprise, I had the same two interviewers from the first round, joined by two shadow interviewers. This was a debugging round where they shared a web page with errors and asked me to find and fix them using browser tools.

  • Bug 1: A list of components was partially missing on the page. I quickly identified that the loop traversing the component collection was faulty, incrementing the iterator twice, which caused components to be skipped. Debugging and explaining this took about 10-12 minutes, again with some difficulty due to one interviewer's behavior, but I was more accustomed to it by then.
  • Bug 2: Clicking a component and performing an action was supposed to trigger an alert, but it wasn't happening. I found that a comparison for a boolean value was being performed, but the variable's value was a string. I initially suggested changing the comparison to match the string format to avoid regression, but the interviewer insisted on changing the variable's type to boolean, so I agreed.

Once again, the recruiter reached out on the same day to inform me that the feedback was positive and mentioned that I was the only candidate to have cleared up to this stage, which was quite motivating.

Third Technical Interview (System Design)

This round focused on system design, where they wanted to discuss overall concepts and my approach to common problems. The 'annoying' interviewer returned with the actual team manager. The manager started by asking vague questions like how I would conduct a Root Cause Analysis (RCA) for customer data problems, how to improve system performance, and what to do if a problem is rare and affects only a few customers. When the other interviewer joined late, he started asking the same questions, but the manager kindly interrupted and asked him to pose different ones.

He then asked me about Authorization and Authentication, including how OAuth and SSO work. I didn't know the exact details but had a rough idea. I asked for permission to guess, but he refused. Afterward, there were a few more questions related to databases and indexing, which I answered satisfactorily.

The recruiter informed me that the feedback was average, but they still wanted to schedule another round with someone from Chile. However, this round was later cancelled, and they proceeded straight to salary discussion.

Behavioral Questions & Salary Discussion

Another call was scheduled with the manager and the other interviewer, where they asked a few behavioral questions:

  • How do I handle huge workloads?
  • Why am I leaving my current position? If I get bored with work within three years, what guarantees I won't get bored with their work and leave soon too?
  • What are my thoughts on staying late or coming in on weekends when there is a specific need?

They then asked me to state my salary expectations, which surprised me as I usually discuss this with recruiters. I provided my number anyway. Following this, they came back with a significantly low offer. I was extremely disappointed, especially after so many rounds and stating my expectations early on. After negotiation with the recruiter, I managed to get it to a somewhat decent amount, though I still consider it a lowball.

Interview Questions (9)

Q1
Roman to Integer
Data Structures & AlgorithmsEasy

Given a Roman numeral, convert it to an integer. The input is guaranteed to be within the range from 1 to 3999.

Q2
Integer to String Conversion
Data Structures & AlgorithmsMedium

Implement a function to convert an integer to its string representation without using any built-in functions for direct conversion (e.g., String.valueOf() in Java, toString() in JavaScript/Python).

Q3
Spiral Matrix Traversal
Data Structures & AlgorithmsMedium

Given an m x n matrix, return all elements of the matrix in spiral order.

Q4
Debugging Missing Components in UI Loop
OtherMedium

On a web page, a list of components was being displayed, but some of the components were consistently missing. Using browser debugging tools, identify the root cause of this issue. The problem was that the loop used to traverse the collection of components was faulty, specifically, the iterator was being incremented twice in the code.

Q5
Debugging Click Event Boolean Comparison
OtherMedium

On a web page, clicking a specific component and performing an action was intended to trigger an alert, but the alert was not being received. Using browser debugging tools, find the bug. The issue was that a comparison for a boolean value was performed, but the variable's value was a string instead of a boolean.

Q6
Authorization, Authentication, OAuth, SSO
System DesignMedium

Discuss the fundamental concepts of Authorization and Authentication. Explain the working principles and differences between them. Furthermore, describe how OAuth (Open Authorization) and Single Sign-On (SSO) mechanisms work, including their use cases and architectural components.

Q7
Handling Huge Workloads
Behavioral

How do you approach and manage situations involving huge workloads or high-pressure periods in your professional role?

Q8
Motivation for Leaving & Long-term Commitment
Behavioral

Explain your reasons for seeking a new position and leaving your current company. Furthermore, if you have experienced boredom or a desire for change in previous roles within a relatively short period (e.g., 3 years), what assurances can you give that you will remain engaged and committed to this role at our company for the long term?

Q9
Flexibility and Weekend Work
Behavioral

What are your thoughts and stance on staying late or coming in on weekends when there is a specific, urgent need or critical project deadline?

Oracle PDO Interview Experience (On-Campus) 2023
oracle logo
Oracle
pdoOffer
September 6, 202342 reads

Summary

I recently interviewed for the PDO role at Oracle through an on-campus drive in 2023. The selection process involved an online assessment, two rigorous technical rounds focusing on Data Structures & Algorithms and database concepts, followed by a final HR interview. I successfully navigated these stages and was among the 5 students selected for the position.

Full Experience

My interview journey for the Oracle PDO role began with an Online Assessment on August 26, 2023. This round lasted 100 minutes and comprised a single coding question, 20 MCQs, and one API question. The coding question was an easy-to-medium problem related to strings and subsequences, specifically finding the lexicographically largest subsequence containing all distinct characters only once. The MCQs covered aptitude, reasoning, and verbal abilities. For the API question, I had to extract data from a given URL and return a sorted list based on two specific keys; I could choose to implement this in Python, C++, or Node.js. Out of the participants, 28 were shortlisted for the subsequent rounds.

The offline interviews commenced with a brief talk from Oracle about the company and the job role.

Round 2: Technical Interview 1 (August 29, 2023)

This round focused on easy-to-medium DSA questions. I was provided with pen and paper to write down my thought process and pseudocode. A crucial tip given by the interviewer was to always explain my thought process rather than blindly jumping to a solution, as my approach was scored heavily.

  • Question 1: I was given an array of arrays, where each sub-array had two elements representing a source and a destination city (e.g., {'BLR','CHN'}). The task was to find the longest path connecting these cities. For instance, with input {{'BLR','CHN'},{'DEL','BOM'},{'CHN','DEL'}}, the expected output was {'BLR','CHN','DEL','BOM'}. My approach involved using a map to identify the starting city—the one that never appears as a destination. I first counted frequencies of source cities, then decremented them for destination cities; the city with a remaining frequency was the start. Then, I used another map to store source-destination pairs and built the path by iteratively finding destinations. I always tried to start with a brute-force explanation before moving to an optimized solution, as advised by the interviewer.
  • Question 2: As I had mentioned MySQL and DBMS on my resume, I was asked to design table relations with appropriate cardinalities and keys for a college database. This was a straightforward question where common sense application was key.
  • Question 3: The final question in this round involved arrays. Given an array of integers (e.g., {2,5,1,4,5,7,9,1,3,5}) and an integer k (e.g., k=5), I had to find the frequency of k. My initial approach was to sort the array and then use a linear search to find k and count its occurrences. The interviewer then asked if I could solve it in O(logN) if the array was already sorted, to which I responded by proposing two binary searches: one to find the first occurrence of k and another for the last occurrence, then calculating the length between them.

Out of the 28 candidates, approximately 15 were shortlisted for the next technical round.

Round 3: Technical Interview 2

In this round, the interviewer posed two DSA questions.

  • Question 1: I was asked to find the square root of an integer up to three decimal places. I initially solved this using a brute-force method. When prompted to optimize, I attempted to use binary search to find the integer part of the square root but couldn't quite figure out how to extend it to determine the decimal precision effectively.
  • Question 2: This was the classic Snakes and Ladders problem. Given a 6x6 board, I needed to find the minimum number of rolls to reach the end. The input specified that if a snake or ladder was present, the cell's value indicated the destination cell, while normal cells had a value of -1. My approach was recursive: I created a map where each cell was mapped to its destination (either -1 for no special move or the snake/ladder destination). At each cell, I simulated rolling a die 1 to 6, updating my position, checking for snakes/ladders, and then recursively calling the function. I used a temporary variable to store and track the least count of rolls. I explained my solution using a recursion tree, which satisfied the interviewer.

Following this round, 8 candidates were selected out of the roughly 15.

Round 4: HR Interview

The final round was a standard HR interview, focusing on non-technical aspects. The interviewer asked a range of questions, including:

  • "How would you explain one of your projects to someone with no technical understanding?"
  • "Narrate an experience where you felt your work was not recognized."
  • "Explain some co-curricular activities you did in college."
  • "What is one regret you have about joining your college?"
  • "Why Oracle?"
  • "What is your career ambition?"
  • "Where do you see yourself in further years?"

The results were announced two hours later, and I was among the 5 students who were selected.

Interview Questions (7)

Q1
Lexicographically Largest Subsequence with Distinct Characters
Data Structures & AlgorithmsMedium

The coding question was easy-to-medium and involved strings and subsequences. It was about finding the lexicographically largest subsequence containing all distinct characters only once.

Q2
Extract and Sort Data from URL
Other

This question involved extracting data from a given URL and returning a list with specific conditions. The task was to sort the extracted data based on two given keys. I could attempt this in Python, C++, Node.js, etc.

Q3
Longest Path Connecting Cities
Data Structures & AlgorithmsMedium

Given an array of arrays, where each sub-array has two elements (source and destination, e.g., {'BLR','CHN'}), the task was to find the longest path one can take by connecting cities.

Input: {{'BLR','CHN'},{'DEL','BOM'},{'CHN','DEL'}}
Expected Output: {'BLR','CHN','DEL','BOM'}

Q4
College Database Design
OtherEasy

Given a college database scenario, I was asked to design table relations with appropriate cardinalities and keys. This was based on my resume mentioning MySQL and DBMS.

Q5
Frequency of K in an Array
Data Structures & AlgorithmsEasy

Given an array of integers, find the frequency of a given integer k.

Input: {2,5,1,4,5,7,9,1,3,5}, k=5
Expected Output: 2

The interviewer also asked how to solve it in O(logN) if the elements are already sorted.

Q6
Square Root up to 3 Decimals
Data Structures & AlgorithmsMedium

Find the square root of an integer up to 3 decimal places. I was asked to optimize my brute-force solution.

Q7
Snakes and Ladders - Minimum Rolls
Data Structures & AlgorithmsMedium

Given a Snakes and Ladders board (a 6x6 Matrix), find the least number of rolls required to reach the end. If a snake or ladder was present on a particular cell, its value indicated the cell it would lead to (e.g., cell 26 had value 15 for a snake from 26 to 15, cell 15 had value -1). Normal cells had a value of -1, and I couldn't jump multiple blocks from them.

Preparation Tips

My preparation largely revolved around Data Structures and Algorithms, covering a range of topics from strings and subsequences to array manipulations, graph problems (like finding paths and classic BFS/DFS scenarios), and numerical algorithms. I also brushed up on database management concepts, specifically MySQL and DBMS, as these were relevant to my resume. Additionally, I focused on clearly articulating my thought process, starting with brute-force solutions, and then optimizing them, as this was explicitly valued in the technical rounds. For the HR round, I practiced explaining my projects in simple terms and preparing answers to common behavioral questions, reflecting on my experiences and aspirations.

General tips I found useful and would recommend: maintaining composure, thoroughly explaining your thought process when stuck, and ensuring that only skills you are genuinely confident in are listed on your resume.

Oracle | On Campus FTE - ASE | Experience | 2024
oracle logo
Oracle
aseOffer
September 6, 202344 reads

Summary

I interviewed with Oracle on campus for an Associate Software Engineer (FTE - ASE) role in 2024. The selection process included an Online Assessment and three technical interview rounds, after which I was selected for the position.

Full Experience

Oracle On-Campus Interview Experience | 2024 Batch

I am a B. Tech student from a Tier 1 National Institute, and my interviews were conducted offline except for the Online Assessment.

Round 1: Online Assessment

The first round was an Online Assessment on the HackerRank platform, lasting 100 minutes. It comprised 10 Aptitude Questions, 10 English Verbal Reasoning Questions, 1 Coding Question which was 'Lexicographically Largest Subsequence', and 1 Rest API Question related to 'Maximum Transfer' similar to those on HackerRank. I found this round to be easy and straightforward.

Interviews

Technical Round 1 (40 mins)

In the first technical round, the interviewer started by asking me to explain GitHub and its various commands. We then discussed different types of Version Control Systems (VCS) and what actions should be taken when merge conflicts occur in GitHub. Following this, I was given an HTML/CSS problem: given three overlapping boxes, when the mouse pointer moves over one box, that particular box should come to the forefront, and on moving out, it should return to its original place. A significant part of the round was a Data Structures and Algorithms (DSA) question, which was LeetCode 42 Hard - Trapping Rain Water. I was also asked to explain various sorting techniques, with a specific focus on Heap sort, where I had to write the code and perform a detailed dry run. Finally, we discussed different ways to store a Tree. I concluded the interview by asking two questions to the interviewer.

Technical Round 2 (70 mins)

The second technical round began with the interviewer reviewing my resume and asking me to explain each of my projects in detail. Questions about Machine Learning/Data Science concepts were asked thoroughly, specifically related to my projects, including dataset-based SQL questions. We covered terms like Precision, Recall, MSE, CNN, KNN, and Clustering, and I provided real-world examples for each. I was also asked about the electives I had taken (Data Mining and Cryptography) and faced questions related to those subjects. After about 45 minutes, the discussion shifted. I was asked about my plans for higher studies and why I hadn't completed any internships. The interviewer then asked me to explain different possible time complexities, how they are calculated, and provided scenarios where different complexities occur. I was presented with two SQL queries: one using Joins and another using 3 nested subqueries. The interviewer also inquired about my adaptability skills and requested a real-life situation to demonstrate it. I ended this round by asking three questions.

Technical Round 3 (45 mins)

The final technical round started with an introduction about myself, covering both my technical and non-technical aspects. I was asked to explain the different DDL, DML, and DQL commands. I solved a DSA question which was a variation of Find the Index of the First Occurrence in a String. We discussed Database Normalization and its purpose, with a detailed explanation of 2NF and BCNF. I was asked to explain all 7 OSI Layers along with their associated protocols. Multithreading in Java was a topic of discussion, and I provided code examples for both Thread and Runnable Interfaces. We also covered Deadlocks, how to detect them, and the concept of Semaphores. The round concluded with questions on Triggers and PL/SQL. I asked one question at the end of this interview. Although for most people this was an HR round, it remained a technical round for me.

Verdict: Selected

I was successfully selected for the position.

Interview Questions (16)

Q1
Lexicographically Largest Subsequence
Data Structures & Algorithms

I was given a coding question to find the lexicographically largest subsequence of a given string.

Q2
Git and Version Control System Concepts
Other

The interviewer asked me to explain GitHub and its commands, different types of Version Control Systems (VCS), list and explain all Git commands, and what should be done when merge conflicts occur in GitHub.

Q3
CSS Overlapping Box Interaction
Other

Given three overlapping boxes, I was asked to describe how to implement a functionality where on moving the mouse pointer over one box, that particular box should come above, and on moving out, it should go back to the original place, using HTML/CSS.

Q4
Trapping Rain Water
Data Structures & AlgorithmsHard

I was asked to solve LeetCode 42: Trapping Rain Water.

Q5
Heap Sort Explanation and Dry Run
Data Structures & Algorithms

I was asked to explain different sorting techniques, specifically Heap sort, by writing the code and doing a detailed dry run on it.

Q6
Tree Storage Techniques
Data Structures & Algorithms

I was asked to discuss different ways to store a Tree.

Q7
Machine Learning and Data Science Concepts & Project Discussion
Other

The interviewer reviewed my resume and asked me to explain each of my projects. Questions about Machine Learning/Data Science concepts were asked in detail related to my projects, including dataset based SQL questions. Terms like Precision, Recall, MSE, CNN, KNN, and Clustering, along with real-world examples, were discussed. I was also asked about my electives (Data Mining and Cryptography) and questions related to them.

Q8
Time Complexity Analysis
Data Structures & Algorithms

I was asked to explain different possible time complexities, how they are calculated, and provided scenarios where different time complexities occur.

Q9
SQL Queries with Joins and Nested Subqueries
Other

I was presented with two SQL queries: one using Joins and one using 3 nested subqueries. I was expected to analyze or answer questions related to them.

Q10
Behavioral: Adaptability Skills
Behavioral

The interviewer asked me about my adaptability skills and requested a real-life situation showing it.

Q11
Database Commands (DDL, DML, DQL)
Other

I was asked to explain the different DDL, DML, and DQL commands.

Q12
Variation of Find the Index of the First Occurrence in a String
Data Structures & Algorithms

I solved a DSA question which was a variation of LeetCode: Find the Index of the First Occurrence in a String.

Q13
Database Normalization (2NF, BCNF)
Other

I discussed Normalization and its purpose, followed by a detailed explanation of 2NF and BCNF.

Q14
OSI Model and Protocols
Other

I was asked to explain all 7 OSI Layers along with associated protocols.

Q15
Multithreading, Deadlocks, and Semaphores in Java
Other

I explained Multithreading in Java, including codes for Thread and Runnable Interface. I also discussed Deadlocks and how to detect them, and what Semaphores are.

Q16
Database Triggers and PL/SQL
Other

I was asked to explain Triggers and PL/SQL.

Oracle | SDE-1 | On-campus | Rejected | FTE 24 Batch
oracle logo
Oracle
Application Developeron-campusRejected
September 3, 202332 reads

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)

Q1
Inheritance and Diamond Problem
Other

Discussion on object-oriented programming concepts, specifically inheritance and how the 'diamond problem' arises in multiple inheritance scenarios.

Q2
Access Specifiers in Inheritance
Other

Explain the differences and implications of inheriting base classes using private, protected, and public access modes.

Q3
Camel and Banana Puzzle
OtherMedium

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?

Q4
Why Java Doesn't Support Multiple Inheritance
Other

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

Q5
Troubleshooting Webpage Load Issues
Other

Describe the diagnostic steps and potential solutions if a webpage fails to load correctly, covering client-side and server-side aspects.

Q6
OSI Model
Other

Explain the layers of the OSI model and their functions.

Q7
Utility of Transport Layer
Other

Discuss the primary functions and importance of the Transport Layer in the OSI or TCP/IP model.

Q8
Database Normalisation Requirements
Other

Explain why database normalization is necessary and its benefits.

Q9
Types of SQL Joins
Other

Describe and differentiate between various types of SQL joins (e.g., INNER, LEFT, RIGHT, FULL OUTER).

Q10
Software Development Life Cycle (SDLC)
Other

Explain the Software Development Life Cycle (SDLC) and its different phases/models.

Q11
Monty Hall Problem
OtherMedium

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?

Q12
Find a Loop in a Tree/Graph
Data Structures & AlgorithmsMedium

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.

Q13
Pseudo-code for DFS and BFS
Data Structures & AlgorithmsEasy

Provide the pseudo-code for Depth First Search (DFS) and Breadth First Search (BFS) graph traversal algorithms.

Q14
Normalisation vs. Denormalisation
Other

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.

Oracle | Intern | Bangalore | On-campus
oracle logo
Oracle
Project Intern-Member Technical Staff for Server Technology InternBangaloreOffer
August 28, 202324 reads

Summary

I interviewed for a Project Intern - Member Technical Staff role at Oracle in Bangalore and was successfully selected after a comprehensive process that included an online assessment, multiple technical rounds focusing on DSA, core computer science concepts, and project discussions, followed by an HR interview.

Full Experience

My Interview Experience at Oracle for Project Intern

I recently interviewed for the Project Intern-Member Technical Staff for Server Technology role at Oracle for Summer 2024. The entire process was quite structured, starting with an online assessment followed by multiple technical rounds and a final HR discussion.

Online Assessment

The online assessment lasted 90 minutes and consisted of 10 English questions, 10 Mental Ability questions, and 2 DSA questions. The DSA questions varied among candidates but were generally on the easier side.

Technical Rounds (Offline)

Round 1

This round primarily focused on Data Structures and Algorithms. I was asked two standard DSA questions and some questions on core topics like Operating Systems (OS) and Database Management Systems (DBMS).

Round 2

This round delved into some basic coding concepts related to OS. The interviewer was particularly interested in multithreading, asking me to code a multithreaded sorting algorithm and fielding several questions on thread safety. We also discussed my projects in detail.

Round 3

This round was mostly a discussion about my projects. It was a straightforward and simple interaction.

HR Round

The HR round covered standard questions, nothing out of the ordinary. Everyone who reached this stage was selected.

Verdict

I was selected for the role!

Interview Questions (5)

Q1
Count Pairs with XOR greater than or equal to AND
Data Structures & Algorithms

Given an array arr of size n. We need to find the number of pairs i, j such that arr[i] XOR arr[j] >= arr[i] AND arr[j]. Constraints: 2 <= n <= 2e5, 1 <= arr[i] <= 2^31.

Q2
Bus Routes
Data Structures & AlgorithmsHard

You are given an array routes where routes[i] is a bus route that the i-th bus repeats forever. For example, if routes[0] = [1, 5, 7], this means the first bus travels in the sequence 1 -> 5 -> 7 -> 1 -> 5 -> 7 -> ... forever. You are also given a source and a target stop. Initially, you are at the source stop. You can only get on a bus at a bus stop that it serves. You can transfer between buses at any bus stop they both serve. Return the minimum number of buses you must take to travel from source to target. Return -1 if it is impossible to reach the target.

Q3
Domino and Tromino Tiling
Data Structures & AlgorithmsMedium

You have two types of tiles: a 2x1 domino shape and an L-tromino shape. Given an integer n, return the number of ways to tile a 2 x n board. Since the answer may be very large, return it modulo 10^9 + 7.

Q4
Largest Rectangle in Histogram
Data Structures & AlgorithmsHard

Given an array of integers heights representing the histogram's bar height where the width of each bar is 1, return the area of the largest rectangle in the histogram.

Q5
Multithreaded Sorting Algorithm
Data Structures & Algorithms

I was asked to code a multithreaded sorting algorithm and address questions related to thread safety during its implementation.

Preparation Tips

My Preparation Strategy

My preparation largely focused on sharpening my Data Structures and Algorithms skills, primarily through solving problems similar to those found on LeetCode. I also ensured a strong grasp of core computer science fundamentals, specifically Operating Systems (OS) and Database Management Systems (DBMS), which were frequently tested. Given the focus on multithreading in one of my technical rounds, I dedicated time to understanding concurrency concepts and thread safety. Additionally, I meticulously prepared to discuss my past projects, anticipating questions about their design, implementation, and challenges encountered.

Oracle (OCI) | MTS | India | June'23 | Offer
oracle logo
Oracle
MTS Ibangalore, india2 yearsOffer
July 5, 202332 reads

Summary

I successfully interviewed for the MTS position at Oracle (OCI) in Bangalore, India, and received an offer. The interview process was extensive, spanning five rounds covering data structures, algorithms, system design, and behavioral questions, reflecting my 2 years of experience.

Full Experience

My interview journey for the MTS role at Oracle (OCI) in Bangalore, India, began with a Screening round. This round focused on my prior experience, specifically cross-questioning me on AWS compute choices like Lambda, Fargate ECS, and EC2-based ECS from my previous projects. I also tackled a challenging N-ary tree problem where I needed to find the maximum reward from a connected component after removing any number of edges, aiming for an O(N) solution.

The First Round also started with an introduction and a deep dive into the design aspects of my previous projects. Following this, I was given an array problem: perform at most 'k' operations (multiplying an element by 2) to maximize the bitwise OR value of the entire array.

In the Second Round, I encountered two classic LeetCode problems. First, the Sliding Window Maximum, which I solved with an O(N) deque approach. Second, I had to divide two integers without using multiplication, division, or modulo operators, aiming for a logarithmic time complexity.

The Third Round presented two dynamic programming problems. One was to find the length of the maximum alternating (positive and negative numbers) sequence starting from every index in an array, solvable using 1D DP in O(N). The other was a common DP on Grid problem: finding the maximum gold path in a 2D matrix from {1,1} to {n,m}, solvable in O(N^2).

The Fourth Round, labeled as the Bar Tender round, involved further cross-questioning on the design of my past projects and standard behavioral questions. We also discussed theoretical concepts such as why adjacency lists are preferred over adjacency matrices and the Builder Design Pattern, including reasons for its static nature and private access specifiers, and its use for parameter validation.

Finally, the Fifth Round was with the Hiring Manager. This round also included an introduction, a thorough discussion on the design aspects of my previous projects, and more behavioral questions. For a coding challenge, I tackled the Maximum Number of Non-overlapping Palindrome Substrings problem, providing an O(N^2) solution by identifying valid palindrome intervals, sorting them, and then applying 1D Dynamic Programming. I'm pleased to share that I received an offer!

Interview Questions (15)

Q1
AWS Compute Choices Discussion
System Design

I discussed and was cross-questioned on compute choices for previous projects, specifically comparing Lambda, Fargate ECS, and EC2 based ECS in AWS.

Q2
Max Reward from Connected Component in N-ary Tree
Data Structures & AlgorithmsHard

I was given an N-ary tree where each vertex has an integer reward. The goal was to return the maximum reward obtainable from a connected component in the tree, with the option to remove any number of edges. Rewards could also be negative. I aimed for an O(N) solution.

Q3
Previous Project Design Discussion
System Design

I had an introduction followed by cross-questioning on the design aspects of my previous projects.

Q4
Maximize Array OR Value with K Multiplications
Data Structures & AlgorithmsMedium

Given an array of integers and an integer k, I could perform an operation at most k times: choose any index in the array and multiply the number at that index by 2. The objective was to find the maximum possible bitwise OR value of all elements in the array after performing these operations.

Q5
Sliding Window Maximum
Data Structures & AlgorithmsHard

I was asked to solve the Sliding Window Maximum problem, aiming for an O(N) solution using a deque.

Q6
Divide Two Integers
Data Structures & AlgorithmsMedium

The problem was to divide two integers without using multiplication, division, or modulo operators, aiming for a logarithmic time complexity.

Q7
Max Length Alternating Sequence
Data Structures & AlgorithmsMedium

I needed to find the length of the maximum alternating sequence (alternating positive and negative numbers) that could initiate from every index in an array of integers. This problem was solvable using 1D Dynamic Programming in O(N).

Q8
Maximum Gold Path in 2D Matrix
Data Structures & AlgorithmsMedium

I was given a 2D matrix and asked to find the maximum gold path from cell {1,1} to {n,m}. This is a common DP on Grid problem, solvable in O(N^2).

Q9
Previous Project Design Discussion
System Design

Similar to previous rounds, I started with an introduction and then faced cross-questioning on design aspects of my past projects.

Q10
Behavioral Questions
Behavioral

I was asked several behavioral questions during this round.

Q11
Adjacency List vs. Adjacency Matrix
Data Structures & AlgorithmsEasy

I was asked to explain why adjacency lists are generally preferred over adjacency matrices for graph representation.

Q12
Builder Design Pattern
System DesignMedium

I discussed the Builder Design Pattern, including reasons for a builder class often being static with a private access specifier, and its typical usage, such as validating parameters prior to object creation.

Q13
Previous Project Design Discussion
System Design

The hiring manager round also began with an introduction and deep dive into the design aspects of my previous projects.

Q14
Behavioral Questions
Behavioral

Further behavioral questions were asked by the hiring manager.

Q15
Max Non-overlapping Palindrome Substrings
Data Structures & AlgorithmsHard

I was presented with the Maximum Number of Non-overlapping Palindrome Substrings problem. I proposed an O(N^2) solution that involved finding all valid palindrome intervals, sorting them, and then applying 1D Dynamic Programming.

Oracle | MTS (Server Technology) | Bangalore/Hyderabad | August 2022 | Offer ✅✅
oracle logo
Oracle
MTS (Server Technology)Bangalore/Hyderabad1 yearsOffer
October 5, 202229 reads

Summary

I interviewed for the MTS (Server Technology) role at Oracle in August 2022 as a new grad with one year of experience and received an offer. The process included an online assessment, followed by three technical interviews covering data structures, algorithms, project discussions, system design, and OOPs.

Full Experience

My interview journey for the MTS (Server Technology) role at Oracle in August 2022 began with an Online Assessment. It was 90 minutes long, which was more than sufficient. The OA had four sections: one easy-medium coding problem, one REST API problem (GET requests, data fetching, calculations), one SQL problem (joins, group by, aggregate functions), and 6-8 MCQs on data structures and aptitude.

Next, I had Technical Interview 1, which was 45 minutes and DSA-oriented. The interviewer started by making me comfortable, asking about my day. After introductions, I was given a Hackerrank link. My first coding problem was to determine if any permutation of a given string could be a palindrome. I discussed a brute-force approach, then moved to an efficient hashmap-based solution, which I solved and dry-ran. This led to questions about hashmaps: why unordered_map, differences between map and unordered_map, internal implementation, chaining, and linear probing. The second problem was to delete a node from a singly linked list given a pointer to it, and whether the last node could be deleted. My third problem was to find the starting node of a cycle in a singly linked list. I solved all three problems and tested them on the editor.

Technical Interview 2, lasting 1 hour 10 minutes, was a mix of project discussion, DSA, and behavioral questions. It felt somewhat unstructured. The interviewer asked about my previous interview and my performance. I then introduced myself and talked about my interesting academic and corporate experiences, particularly my work at my previous organization, managing challenges with new technology (Mendix), and projects where I was part of the first team using it. I was asked to compare academic vs. corporate life, my motivation for pursuing a master's, and my favorite subjects. Given my project's use of sockets, I was asked about socket programming and alternatives for real-time communication. He then probed into my use of DBMS, algorithms, and OOPs in my projects. We discussed my choice of Firebase (NoSQL), comparing it with relational databases. Questions on Firebase authentication, JWT tokens, and alternative authentication mechanisms like session authentication followed. I also discussed a debt-simplification algorithm I implemented, which used a heap. I explained min-heap and max-heap, including push, pop, and heapify operations, and started implementing max-heap quickly before being interrupted. Finally, I was given a linked list problem: insert a node into a sorted singly linked list at its correct position.

My final round was Technical Interview 3, lasting 50 minutes, focusing on database design and OOPs concepts. I had expected an HR round, but this was a mix of behavioral and technical questions from a very senior Director of Engineering. He initially checked my attentiveness by asking about previous interviewers and questions. I could only recall the first interviewer's name. We then delved into 'Why Oracle?', comparing it with my previous work experience and contrasting it with other companies. A Hackerrank link was shared for a complex SQL problem: retrieving 1st, 2nd, and 3rd place finishers per category from a university competition, along with student details. I discussed table relationships, foreign/primary keys, and 3NF, then drafted a SELECT statement. I initially missed the LIMIT keyword due to exhaustion. Lastly, he asked about use case, class, sequence, and component diagrams, and their importance, which I explained with examples from my M.Tech studies. I asked him about his journey at Oracle and his various roles.

I was informed no further interviews were scheduled and left the meeting, assuming rejection as there was no HR round. However, after four hours, the results were out, and I was among the five M.Tech candidates selected, receiving an offer.

Interview Questions (15)

Q1
Maximize Distinct Elements in Array A after K Swaps
Data Structures & AlgorithmsEasy-Medium

Consider two arrays a and b where each consists of n integers. In one operation: Select two indices i and j (0 <= i,j < n). Swap integers a[i] and b[j]. This operation can be performed at most k times. Find the maximum number of distinct elements that can be achieved in array a after at most k operations.

Q2
REST API GET Request Data Processing
Other

Problems are only related to GET requests. We do not need to design any REST APIs; the task is to just call the GET request, fetch the data, perform some calculations and return the results.

Q3
SQL Joins, Group By, and Aggregate Functions
Other

The problem was related to joins and group by clause with some aggregate functions.

Q4
Permutation of String is Palindrome
Data Structures & Algorithms

You are given a string ‘s’, return true or false if there exists any permutation of the given string ‘s’ which is palindrome.

Q5
Delete Node from Singly Linked List
Data Structures & Algorithms

Given a singly linked list and a pointer of any node, delete that node from the singly linked list. Also, is it possible to delete the last node from the singly linked list?

Q6
Find Starting Node of Cycle in Singly Linked List
Data Structures & Algorithms

Find the starting node of the cycle in a singly linked list.

Q7
Introduction and Academic/Corporate Achievements
Behavioral

Tell me about yourself and what are the interesting things you have done in your academics and corporate life?

Q8
Academic vs. Corporate Life and Master's Motivation
Behavioral

How do you compare academic life vs corporate life? and why are you pursuing masters? What are the subjects you like most and why?

Q9
Socket Programming and Real-time Communication Alternatives
System Design

You have used sockets in your project, are you aware of socket programming? Explain what sockets are and discuss alternatives available for real-time communication.

Q10
Project Deep Dive: DBMS, Algorithms, OOPs, NoSQL, Authentication
System Design

Discuss how you used concepts like DBMS, algorithms, and OOPs in your projects, providing examples. Specifically, explain your choice of Firebase (NoSQL) as a backend, compare relational vs. NoSQL databases, and elaborate on Firebase authentication, how JWT tokens work, and alternative authentication approaches like session-based.

Q11
Debt Simplification Algorithm and Max-Heap Implementation
Data Structures & Algorithms

Discuss multiple approaches for a debt-simplification algorithm, focusing on the most optimal one. This involved using a heap data structure. Explain min-heap and max-heap, including push, pop, and heapify operations on a max-heap. Implement the max-heap quickly.

Q12
Insert Node in Sorted Singly Linked List
Data Structures & Algorithms

Given a sorted singly linked list, insert a node at its correct position.

Q13
Motivation for Oracle and Career Choices
Behavioral

Why do you want to work at Oracle? You can join any of the many companies visiting your campus. Justify your choice.

Q14
University Competition Ranking Query
Other

A university conducted a competition where students from different colleges participated. The categories were Drawing, Singing, Debate, Science Fair and SpellBee. Students participated in one or more categories and were scored out of 100. Write a query that returns the 1st, 2nd, and 3rd place finishers in each category in that order. The columns to show are category, studentid, name, collegename, and score order by category (ascending) and collegename (ascending).

Q15
UML Diagrams: Use Case, Class, Sequence, Component
Other

Explain use case, class, sequence, and component diagrams. Discuss their importance one by one.

Preparation Tips

My success was primarily due to consistency; I practiced over 800 DSA problems on LeetCode, BinarySearch, and Codeforces over a year, though the interview questions themselves were relatively easy. I ensured my resume was diversified and justifiable. I also focused on having strong core subject knowledge, particularly its practical application. I made sure to research the latest online assessment processes for companies; for Oracle, the OA had recently changed to include coding, API, SQL, and MCQs, instead of just MCQs, which I was aware of.

Oracle || MTS || New Grad 2023 || India || On Campus [Offer]
oracle logo
Oracle
MTS IbangaloreOffer
August 7, 202235 reads

Summary

I successfully interviewed for a MTS New Grad role at Oracle's Bangalore office through an on-campus selection process in August 2022, ultimately receiving an offer for a full-time position.

Full Experience

Hiring Process

The hiring process consisted of an Online Assessment followed by three interview rounds: a Project + DSA round, a dedicated DSA round, and finally an HR round. All interview rounds took place on the same day.

Round 1: Online Assessment (90 minutes)

This round had a coding problem, a SQL problem, an API implementation problem, and six MCQs. The coding problem was a LeetCode medium, the SQL problem was easy, and the API implementation was fairly basic. The MCQs were very easy. I managed to complete this round in about an hour. After this assessment, selected candidates were invited for the interview rounds.

Round 2: Project + DSA Interview 1 (30-40 minutes)

This round began with a basic introduction. The interviewer immediately started discussing my projects. We delved into topics like authentication, NodeJS, REST APIs, PassportJS, and the differences between SQL and NoSQL databases. I was asked to write code for connecting to MongoDB. I honestly told him that I usually copy such code from documentation, and he laughed and skipped the question. Afterwards, I was given a problem which was a variation of string matching. I mentioned algorithms like KMP and Rabin Karp, but the interviewer asked me to write only the brute force solution. I felt this round went pretty well for me.

Round 3: DSA Round 2 (30-40 minutes)

This round also started with an introduction. The interviewer quickly opened HackerRank and presented a problem involving a priority queue. I came up with the brute force solution within a minute and optimized it in another minute. I then coded and ran the solution very quickly. The interviewer asked if I had any questions for him, and when I asked if this was the end of the round, he confirmed it. This round concluded within a surprisingly short five minutes!

Round 4: HR Round (40-50 minutes)

This was definitely the highlight of my day. The HR interviewer was incredibly friendly and highly interactive. This round didn't focus on CS fundamentals or DSA; instead, it involved scenario-based questioning designed to understand my thinking process. I was asked many situation-based questions, and I recall making up a lot of stories on the spot to answer them. The interviewer seemed very pleased with my responses, and we shared many laughs, almost like we were old friends. I never imagined an interview could be this enjoyable and easy.

Result

I was selected for a full-time role as a Member of Technical Staff (MTS) in the server technology team.

Interview Questions (2)

Q1
Write Code for MongoDB Connection
Other

The interviewer asked me to write code for connecting to MongoDB. I explained that I typically copy such boilerplate code from documentation, which prompted the interviewer to skip the question.

Q2
Variation of String Matching Problem
Data Structures & Algorithms

I was presented with a problem that was described as a variation of a string matching problem. Although I was familiar with algorithms like KMP and Rabin Karp for string matching, the interviewer specifically requested a brute force implementation.

Oracle | Associate Software Engineer | Bangalore | July 2022 [Offer]
oracle logo
Oracle
Associate Software EngineerBangaloreOffer
July 21, 202229 reads

Summary

I interviewed with Oracle for an Associate Software Engineer role, which involved aptitude, technical DSA, fundamental CS, and scenario-based rounds, ultimately leading to an offer for an Internship + Full Time role.

Full Experience

I've been an active member of the LeetCode community for over three years, and I'm sharing my experience to give back. This interview was part of an on-campus selection at my college. I was a fresher, graduating in 2023, with a two-month FinTech internship. The process typically includes an aptitude test, an optional online coding round (which was skipped for on-campus), and three technical interview rounds.

My journey began with Round 1: Aptitude which lasted two hours. It covered a broad range of topics including logical reasoning, statistics, data analysis, CS fundamentals, and English. I remember struggling with some CS fundamental questions related to AVL and Red Black Trees. This test was conducted on Oracle's 'proaptitude' platform, with each section having timed subsections.

After clearing the aptitude test, I was invited to the interview rounds, all held on the same day.

Round 2: Technical Interview 1 (30-40 minutes) started with introductions. The interviewer quickly moved to a DSA question, which was very similar to Maximum Subarray Sum. After I finished, we discussed Computer Networks and Operating Systems concepts like Semaphores, Multithreading, and Multiprocessing. Since I had Python experience, I was also asked about the Global Interpreter Lock (GIL), Deep Copy, and Shallow Copy in Python. Another DSA question followed, similar to Diameter of Binary Tree. The interviewer seemed satisfied with my approach to these problems.

Round 3: Technical Interview 2 (30-40 minutes) also began with introductions. The interviewer asked about my C++ experience, but I honestly stated my primary experience was with Java, C, and Python. Surprisingly, he mentioned not knowing much about Java. He then questioned me on C fundamentals, including memory handling (Stacks and Heaps) and the differences between structs and unions. We then shifted to Computer Networks and Operating Systems, covering Piggybacking, TCP vs. UDP examples, IPC, and how pipes function. He also asked about my academic projects, specifically those built using C, and delved into topics like sockets and the SIGABRT signal. Finally, I was asked to write a SQL query to find the second largest salary from an employee table. Overall, this round was a bit challenging as I fumbled on some C fundamentals.

Round 4: Technical Interview 3 (30-40 minutes) was the highlight. The interviewer was very friendly and interactive. This round focused less on CS fundamentals or DSA and more on scenario-based questions to understand my thinking process. It started with a standard HR question: "Tell me about a time where you improved the performance of your project or anything that you were working on." I shared an experience from my internship, which he found satisfactory. He then inquired about my hands-on experience with cloud services like AWS or GCP. A significant part of the round involved a scenario about processing Big Data. He explained what Big Data entails and asked me to propose solutions, emphasizing that he was looking for my thought process. I suggested using Hadoop clusters and, for real-time data, Spark, which he was satisfied with. Given my resume, he also asked about MATLAB and Image Processing. Later, he questioned me about Java Spring and asked for a scenario where microservices would be beneficial. The final scenario involved improving the read and write performance of a database. I immediately thought of indexing and sharding. When he prompted for write improvements, I also mentioned caching, and he further explained its benefits in this context.

The interviews concluded, and I was offered an Internship + Full Time role by midnight.

Interview Questions (7)

Q1
Maximum Subarray Sum
Data Structures & AlgorithmsEasy

A DSA question very similar to finding the maximum sum of a contiguous subarray.

Q2
Diameter of Binary Tree
Data Structures & AlgorithmsEasy

A DSA question similar to finding the diameter of a binary tree.

Q3
Second Largest Salary SQL Query
OtherMedium

Write a SQL query that returns the second largest salary from an employee table.

Q4
Improve Project Performance
Behavioral

Tell me about a time where you improved the performance of your project or anything that you were working on.

Q5
Big Data Processing Scenario
System DesignHard

Given a scenario with a large amount of data needing to be processed, what technologies would you use and why? The interviewer was interested in my thought process rather than a 'right' answer.

Q6
Microservices Benefits Scenario
System DesignMedium

Provide a scenario where microservices would be beneficial, especially in the context of Java Spring.

Q7
Improve Read/Write DB Performance
System DesignHard

How would you improve the read and write performance of a database? The interviewer initially focused on general improvements, then prompted for write-specific optimizations and explained caching.

Preparation Tips

The key takeaway from my interview process was the importance of being prepared for a wide range of questions; I hadn't anticipated questions on Cloud technologies, expecting more on OOPS and Design Principles. For beginners, it's crucial to verbalize your thought process when solving DSA problems, starting with a brute-force approach before moving to the optimal solution. A strong grasp of OOPS, Operating Systems, Computer Networks, and DBMS is vital, as any topic from these subjects can be tested. Solving frequently asked Oracle DSA questions can also give you a significant edge. Ultimately, maintaining confidence and thinking out loud are the most important aspects.

Oracle | Application Developer 3 | March 2022 | Hyderabad | Cleared
oracle logo
Oracle
Application Developer 3Hyderabad1.5 yearsOffer
April 15, 202240 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).

Oracle Oci | IC2 | Bangalore | March 2022 [Offer]
oracle logo
Oracle
SDE IbangaloreOffer
March 26, 202226 reads

Summary

I successfully navigated through five rigorous interview rounds for an IC2 position at Oracle OCI in Bangalore in March 2022, ultimately receiving an offer.

Full Experience

My interview process for the IC2 role at Oracle OCI consisted of five rounds. The first round was a screening test, and clearing it led to the subsequent four rounds. In the initial screening, I encountered problems such as 'Intersection of two arrays', 'Valid Parentheses', 'Merge K Sorted Linked Lists', and some general questions related to operating systems. The second round focused on algorithmic problems, specifically 'Edit Distance' and determining if a 'Binary Tree is a Mirror'. The third round challenged me with finding the 'K most occurring elements in an array'. For the fourth round, I had a Low-Level Design (LLD) problem where I was asked to 'Design an API Rate Limiter'. The final, fifth round was with the Hiring Manager, which involved discussing my previous projects, performing a High-Level Design (HLD) of one of them, and then writing a program to solve a 'Crossword Puzzle'. I received a message from the Hiring Manager confirming my selection for the role.

Interview Questions (8)

Q1
Intersection of Two Arrays
Data Structures & AlgorithmsEasy

Given two integer arrays, return an array of their intersection. The result should contain unique elements.

Q2
Valid Parentheses
Data Structures & AlgorithmsEasy

Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

Q3
Merge K Sorted Linked Lists
Data Structures & AlgorithmsHard

Merge k sorted linked lists into one sorted linked list.

Q4
Edit Distance
Data Structures & AlgorithmsHard

Given two strings word1 and word2, return the minimum number of operations required to convert word1 to word2.

Q5
Symmetric Tree (Is Binary Tree Mirror)
Data Structures & AlgorithmsEasy

Check whether a binary tree is a mirror of itself (i.e., symmetric around its center).

Q6
Top K Frequent Elements
Data Structures & AlgorithmsMedium

Given an integer array and an integer k, return the k most frequent elements.

Q7
Design API Rate Limiter (LLD)
System DesignMedium

Design a system for API rate limiting, focusing on Low-Level Design (LLD).

Q8
Crossword Puzzle Solver
Data Structures & AlgorithmsHard

Write a program to solve a crossword puzzle, given a grid and a list of words to place.

oracle | OCI | IC2 | Bangalore | Jan 2022 [offer]
oracle logo
Oracle
sde 2bangalore, india2 yearsOffer
January 25, 202231 reads

Summary

I successfully received an offer for an SDE 2 position at Oracle OCI in Bangalore after completing 6 intensive interview rounds, covering data structures, algorithms, system design, and behavioral aspects.

Full Experience

I interviewed for an SDE 2 position at Oracle OCI in Bangalore, with a total of 6 rounds. The process started with a phone screen, followed by two dedicated Data Structures and Algorithms rounds. Next, I faced a System Design round and a Bar Raiser (Bar Tender) round, culminating in a discussion with the Hiring Manager. Each round typically included general introductions and behavioral questions centered on OCI's core values, in addition to specific technical challenges. I was pleased to receive an offer after successfully navigating all the rounds.

Interview Questions (8)

Q1
Remove Duplicates from Sorted List
Data Structures & AlgorithmsEasy

Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well.

Q2
Maximum Subarray (with Indices)
Data Structures & AlgorithmsMedium

Find the contiguous subarray within an array (containing at least one number) which has the largest sum. Additionally, I was asked to return the start and end indices of this subarray.

Q3
Spiral Matrix
Data Structures & AlgorithmsMedium

Given an m x n matrix, return all elements of the matrix in spiral order.

Q4
Path Sum II
Data Structures & AlgorithmsMedium

Given the root of a binary tree and an integer targetSum, return all root-to-leaf paths where the sum of the node values in the path equals targetSum. Each path should be returned as a list of the node's values, not node references.

Q5
Top K Frequent Elements
Data Structures & AlgorithmsMedium

Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.

Q6
Design TinyURL
System DesignHard

Design a system that receives a long URL and returns a short URL. When the short URL is accessed, it should redirect to the original long URL. Consider aspects like scalability, availability, data storage, and collision handling.

Q7
Simplify Path
Data Structures & AlgorithmsMedium

Given a string path, which is an absolute path (starting with a slash '/') to a file or directory in a Unix-style file system, convert it to the simplified canonical path.

Q8
Word Search (Horizontal, Vertical, Diagonal)
Data Structures & AlgorithmsMedium

Given an m x n grid of characters board and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally, vertically, or diagonally neighboring. Unlike the standard problem, the word must follow a single direction (horizontal, vertical, or diagonal) for its entire length, not a combination of them.

Oracle OCI US interview Experience
oracle logo
Oracle
USNo Offer
October 17, 202128 reads

Summary

I underwent an interview process with Oracle OCI US that consisted of multiple technical and behavioral rounds. Although I did not receive an offer, I consider it a valuable learning experience.

Full Experience

My interview process for Oracle OCI US started with a technical round. Following that, I moved on to a virtual onsite that featured several rounds, including data structures and algorithms, system design, and behavioral questions. I found the experience comprehensive and insightful, despite the outcome.

Interview Questions (6)

Q1
Merge Intervals
Data Structures & AlgorithmsMedium

Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

Q2
Word Ladder II
Data Structures & AlgorithmsHard

Given two words, beginWord and endWord, and a dictionary wordList, return all shortest transformation sequences from beginWord to endWord.

Q3
Design Distributed Online Phone Dictionary
System Design

Design a distributed online phone dictionary.

Q4
Cipher Matches for String Array
Data Structures & Algorithms

Given an array of strings, find cipher matches. For example:
tail -> lost are cipher matches.
The mapping is as follows:
t <-> l
a <-> o
i <-> s
t <-> l

Q5
Behavioral Interview with Manager
Behavioral

A standard behavioral round conducted by a manager, covering typical questions about past experiences, teamwork, and problem-solving approaches.

Q6
REST API, Cookies, Caching Discussion
System Design

A discussion with a Senior TPM focusing on REST API constraints, usage of cookies, and caching strategies.

Oracle | MTS | India | Dec 2020 [Offer]
oracle logo
Oracle
MTS IindiaOffer
December 16, 202029 reads

Summary

I interviewed with Oracle for a Member of Technical Staff (MTS) position as a New Grad in India in December 2020. I successfully navigated through online tests and two interview rounds, securing an offer for the role.

Full Experience

Oracle visited my campus for three profiles, and their recruitment process was standard, starting with an online test and followed by 1-3 rounds of interviews.

The online test was unique, consisting solely of MCQ questions across sections like Aptitude, Coding, and Computer Science (including OS, DBMS, OOPs). Some coding questions involved choosing the correct code for a given output or analyzing flowchart logic. The time constraints were very tight, and I couldn't navigate back to previous questions.

When I was called for the interview, I felt a bit nervous because many others had completed multiple rounds, and I hadn't performed well in a previous interview. However, I managed to regain my confidence. I only had two rounds.

In Round 1 (1hr 10mins), there were two panelists. It began with the standard 'Tell me about yourself,' followed by a discussion on my internship project. The interviewer then delved into OS, asking me to list all types of Scheduling Algorithms and the cons of Round Robin (RR) Scheduling. I wasn't entirely sure about the latter but offered plausible ideas. Next, I was tasked with finding the smallest positive number missing from an unsorted array. I initially proposed a naive approach, after which the interviewer increased the number range and challenged me to solve it in O(n) time and O(1) space. The solution didn't immediately strike me, so he moved on. We then discussed heaps and their internal workings, followed by a detailed conversation on hashmaps, collisions, and collision handling techniques. After these discussions, he returned to the coding question. To my surprise, I managed to come up with the optimized solution, which seemed to impress him. The other interviewer then asked me a very simple Binary Tree question, which I coded on Coderpad. He tried to confuse me with cross-questioning, but I steadily answered. The round concluded with a puzzle, for which I unfortunately gave the wrong answer, realizing it immediately afterward. Finally, I was asked if I had any questions for them.

I was somewhat skeptical about a second call after Round 1, but fortunately, I was called for Round 2 (HR, 10 mins). I believe this round was shortened due to time constraints. The interviewer mentioned having feedback from my previous rounds and asked if I had any questions for him, which were the same ones I asked in the technical round. I was still uncertain about my selection since other candidates had more technical rounds, but I was lucky enough to be selected.

Interview Questions (6)

Q1
OS: Scheduling Algorithms & RR Cons
OtherMedium

The interviewer asked me to name all the types of Scheduling Algorithms and explain the disadvantages of the Round Robin (RR) Scheduling Algorithm.

Q2
Smallest Missing Positive Number in Unsorted Array
Data Structures & AlgorithmsMedium

I was asked to find the smallest positive number missing from an unsorted array. Initially, I gave a naive approach, but the interviewer increased the range of numbers and asked me to solve it in O(n) time and O(1) space complexity.

Q3
Data Structures: Heaps
Data Structures & AlgorithmsEasy

We had a discussion about what heaps are and how they work.

Q4
Data Structures: Hashmaps, Collisions, and Resolution
Data Structures & AlgorithmsMedium

I was asked about the internal working of hashmaps, how collisions occur, and various methods to handle them. We had a good discussion on these topics.

Q5
Simple Binary Tree Question
Data Structures & AlgorithmsEasy

I was given a very simple question on Binary Trees and asked to code the solution on Coderpad. The interviewer tried to confuse me with cross-questioning about my code, but I steadily answered.

Q6
Logical Puzzle
Other

I was asked a puzzle at the end of the interview.

Preparation Tips

My preparation involved several key strategies. I made sure to learn all the puzzles from GeeksforGeeks by heart, as they are frequently asked. I also prioritized studying OOPs and OS concepts, as these were crucial areas. Mock interviews proved incredibly helpful for me to refine my approach and confidence. Additionally, preparing with peers significantly aided my learning process. The most important takeaway was to maintain hope and belief in my preparation, even when the placement process felt intimidating, relying on support from friends and family.

Oracle | IC-2 | Redwood Shores | Oct-Nov 2020 [Offer]
oracle logo
Oracle
member of technical staffredwood, caOffer
November 11, 202027 reads

Summary

I interviewed for a Member of Technical Staff position at Oracle as a new graduate. The process involved a phone screen, two technical rounds, and two sets of final rounds focusing on algorithms, data structures, and system design. Despite some challenging questions, I successfully received an offer for my preferred team.

Full Experience

I was reached out to by a Senior Recruiter on LinkedIn, who found me through the Grace Hopper Celebration Spotlight. They asked me to apply to open positions in multiple different organizations and later requested my top 2 preferences for scheduling interviews.

Phone screen (30 minutes)

  • Behavioral questions were asked.
  • I also answered questions regarding the technical skills I possessed.

Round 1 - OAD - Technical (1 hour)

In this round, I was asked to write a program that takes as input a set of dictionary words and fits them all in a matrix of a given size, such that all the words in the matrix are readable. I was quite confused about this one and had a lot of back and forth with the interviewer to understand the exact requirements. I could not come up with a fully functional solution in the given time and honestly thought I had totally bombed this round.

Round 1 - OAC - Technical (1 hour)

  • I solved the Single Number problem.
  • I also worked on the Reverse Linked List problem.
  • The interviewer asked about projects I've worked on and what my work entailed.

After about a week, I reached out to the recruiter and learned that both organizations wanted to move me forward to the final round interviews!

Final Round - OAC - 3 interviews, 1 hour each (back-to-back)

First interview

  • I was given 2 aptitude questions.
  • There were a few SQL related questions.
  • One question was based on Hashmaps.
  • We also discussed my past projects.

Second interview

Third interview

  • I answered basic questions about Machine Learning, given that I was a TA for an ML class.
  • I was asked to implement a linked list which is always sorted (meaning, add elements in the correct order and return the newly created node).
  • We concluded with more questions about my past projects.

Final Round - OAD - 3 interviews, 1 hour each (back-to-back)

First interview

  • This interview mainly focused on questions about my past projects.

Second interview

  • I solved the Rotate Array problem.
  • I was also challenged to design an instant messaging application, similar to WhatsApp.
  • We discussed my past projects.

Third interview

  • I was asked to design a file system.
  • The interview concluded with questions about my past projects.

The system design questions caught me a little off guard, as I wasn't expecting them for a new grad role based on other people's reviews.

A week later, I reached out to the recruiter, and she asked me to rank which teams I would like to receive an offer from. I responded with my ranking, followed up after two days, and was verbally extended an offer from my first preference team. I received the official offer letter three days later.

Interview Questions (9)

Q1
Word Matrix Placement
Data Structures & AlgorithmsHard

Write a program that takes as input a set of dictionary words and fits them all in a matrix of given size, such that all the words in the matrix are readable.

Q2
Single Number
Data Structures & AlgorithmsEasy

Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Q3
Reverse Linked List
Data Structures & AlgorithmsEasy

Reverse a singly linked list.

Q4
Add Two Numbers
Data Structures & AlgorithmsMedium

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list.

Q5
Moving Average from Data Stream
Data Structures & AlgorithmsEasy

Given a stream of integers and a window size, calculate the moving average of all integers in the sliding window.

Q6
Sorted Linked List Implementation
Data Structures & AlgorithmsMedium

Implement a linked list that always remains sorted. This involves adding elements in the correct order and returning the newly created node.

Q7
Rotate Array
Data Structures & AlgorithmsMedium

Given an array, rotate the array to the right by k steps, where k is non-negative.

Q8
Design WhatsApp
System DesignHard

Design an instant messaging application like WhatsApp.

Q9
Design a File System
System DesignHard

Design a file system.

Preparation Tips

I've seen people talking about solving 500-600 LeetCode questions prior to interviews, which honestly scared me. However, I would recommend being consistent with practice instead, solving 1-2 questions everyday and noting what you did right and wrong. I was also really fortunate to have had very nice interviewers who were genuinely interested in bringing me on their teams (barring one specific interviewer).

Oracle India interview experience
oracle logo
Oracle
indiaOngoing
October 27, 202025 reads

Summary

I successfully navigated through 6 rounds for an Oracle Cloud Infrastructure position in India and was informed of my selection, eagerly awaiting the final offer details.

Full Experience

I went through a total of six rounds for an Oracle Cloud Infrastructure role. Here's how it unfolded:

Round 1: Coding & Technical

My first round involved two simple coding questions that I had to solve in a coderpad-like environment. I'd rate them as LeetCode easy. The interviewer also asked me to explain what microservices are.

Round 2: Behavioral & DSA

The second round consisted of a few behavioral questions and one LeetCode medium problem, which was based on Tries.

Round 3: Behavioral & DSA

Again, this round started with quite a few behavioral questions, followed by another LeetCode medium problem, this time involving DFS on a matrix.

Round 4: System Design

This was a high-level design round. I was asked to design a movie-booking system and then delved into subsequent discussions regarding concurrent transactions and scalability challenges.

Round 5: Managerial & Technical

The fifth round was with a manager. It primarily involved behavioral questions and discussions about my projects. I also answered a few technical questions before solving another LeetCode medium problem.

Round 6: The Bartender Round

The final round, often called the "bartender round," was mostly an hour-long chat focusing on behavioral questions.

The very next day, I received a call from HR informing me of my selection! I'm still awaiting the official offer details, and I'm really hoping they don't mess it up, as I've faced so many failures before. A misfortune here would truly break me.

Interview Questions (2)

Q1
Explain Microservices
System Design

The interviewer asked me to explain what microservices are, likely covering their definition, characteristics, benefits, and drawbacks.

Q2
Design a Movie Booking System
System DesignHard

I was tasked with designing a complete movie-booking system. This included discussions around high-level architecture, handling concurrent transactions, and ensuring scalability for a large user base.

Oracle OCI | SDE 1 (IC-2) | Seattle | Jan 2020 [Offer]
oracle logo
Oracle
SDE 1 (IC-2)seattle1 yearsOffer
June 6, 202057 reads

Summary

I interviewed for an SDE 1 position at Oracle OCI in Seattle, WA, and successfully received an offer. The interview process consisted of a phone screen followed by five comprehensive onsite rounds, covering coding, system design, and behavioral aspects.

Full Experience

I had completed one year of full-time work at Amazon as a CSA when a friend from my university, who was graduating, informed me that Oracle was hiring SDEs in Seattle, WA. He kindly provided me with the LinkedIn contact of a manager there. I reached out to the manager with my resume, and they promptly set up a phone interview.

Phone Interview

My phone interview involved a coding challenge. I was asked to process a text file containing various log messages and identify the K most frequently occurring ones. I initially thought of using a max-heap, but then realized that a min-heap, limited to a size of K, would be a more space-efficient approach. I presented both solutions to the interviewer, highlighting the benefits of the min-heap.

Onsite Interviews

The onsite part consisted of five rounds, a mix of coding, behavioral, and system design questions.

Round 1

This round presented a matrix filled with 0s and Ds, where 0s represent files and Ds represent databases. The goal was to find the shortest distance for each 0 to its nearest D. I first proposed a brute-force solution with O(N^4) complexity, which involved iterating through the matrix and checking neighbors. However, I soon moved to a better solution using Breadth-First Search (BFS), starting from all 0s simultaneously to update distances. I struggled a bit with the BFS implementation but managed to code it out in the final minutes.

Round 2

I was asked to implement a Binary Search Tree Iterator. As this is a standard tree question, I didn't face much difficulty. I initially thought of an inorder traversal to store all elements in an array, which could then be iterated. The optimized solution, which I also discussed, involved a controlled recursion method to act as a true iterator, as explained in the official LeetCode solution.

Round 3 (Lunch with Manager)

After lunch, there was a short coding exercise: calculating the angle between the hour and minute hands of a clock. I had recently discussed this problem with a friend, which allowed me to quickly provide the solution.

Round 4

This round had two parts. The first coding question involved managing a list of unreserved telephone numbers, implementing a `getRandom()` function for retrieving a random number and a `reserve()` function to assign a number, with critical time complexity requirements. Having practiced a similar problem, I was able to solve it efficiently.

The second part was a system design problem: designing a centralized logging system to collect logs from 100 servers and enhance user experience by reducing log search time. We had only 15 minutes for this, and my answers were structured around concepts from a popular system design primer.

Round 5

The final technical round asked me to find the longest repeated or duplicated substring within a given string `s`. This was a hard problem, and I could only come up with a brute-force solution. We touched upon advanced concepts like Trie and the Rabin-Karp algorithm, and the interviewer seemed content with our discussion.

Behavioral Questions

Oracle Cloud Infrastructure (OCI) has its own set of values, quite similar to AWS Leadership Principles. I was expected to share stories demonstrating how I embodied these values. Additionally, the 'bar raiser' interviewer asked detailed questions about projects I completed during my Masters.

By the end of the week, the manager reached out and informed me that I would be receiving an offer.

Interview Questions (7)

Q1
01 Matrix - Shortest Distance to Nearest Database
Data Structures & AlgorithmsMedium

Given a matrix containing 0s (files) and Ds (databases), find the shortest distance for each file (0) to reach the closest database (D).

Q2
Binary Search Tree Iterator
Data Structures & AlgorithmsMedium

Implement a BSTIterator class that represents an iterator over the in-order traversal of a binary search tree. The iterator should support hasNext() and next() operations.

Q3
Clock Angle Problem
Data Structures & AlgorithmsEasy

Calculate the angle between the hour hand and minute hand on an analog clock.

Q4
Insert Delete GetRandom O(1) - Telephone Numbers
Data Structures & AlgorithmsMedium

Implement a data structure that supports getRandom() to get a random unreserved telephone number and reserve(number) to assign a customer a given number. Time complexity for all operations is critical.

Q5
Design a Centralized Logging System
System DesignHard

Design a centralized logging system capable of collecting logs from 100 servers. The design should prioritize enriching the customer user experience by minimizing log search time.

Q6
Longest Duplicate Substring
Data Structures & AlgorithmsHard

Given a string s, find the longest repeated or duplicated substring.

Q7
OCI Leadership Principles & Project Deep Dive
Behavioral

Behavioral questions focused on Oracle Cloud Infrastructure (OCI) values, which are similar to AWS Leadership Principles. Interviewers expected stories demonstrating these values. The bar raiser also delved into detailed questions about projects from my Masters.

Preparation Tips

I prepared for the interview by studying system design concepts from a primer (likely the donnemartin/system-design-primer). For coding, I leveraged my previous practice on similar problems, which helped with standard questions like the BST iterator and Insert-Delete-GetRandom O(1). I also familiarized myself with OCI's values to prepare for behavioral questions, crafting stories to demonstrate alignment with their principles and readying myself for deep dives into my Master's projects.

Oracle OCI | SDE 2 | Pleasanton | Jan 2020 [Reject]
oracle logo
Oracle
SDE 2Pleasanton, California5 yearsRejected
January 10, 202037 reads

Summary

I interviewed for an SDE 2 role at Oracle OCI in January 2019, which involved a phone screen followed by six onsite rounds, covering coding, system design, and behavioral questions. Despite my efforts, I was ultimately rejected.

Full Experience

My interview journey for the SDE 2 position at Oracle OCI in Pleasanton, California, took place in January 2019. I brought 5 years of experience to the table.

Phone Screen

The process began with an hour-long coding exercise. I was presented with a map detailing direct friends and tasked with creating an API. This API needed to take a person's name and return all levels of their friends. For instance, if given "Bob", the output should clearly delineate Level 1, Level 2, and Level 3 friends based on the provided map structure.

Onsite Interview (6 Rounds)

The onsite portion was comprehensive, spanning six distinct rounds:

  1. Bartender Round (Virtual): This round was with an interviewer from a different team. They asked several network-related questions, queries about hypervisors and Docker, and a few behavioral questions. I also had to solve an easy-level coding problem on a whiteboard.
  2. Lunch Interview: This was a more informal discussion with the hiring manager. We talked about my current role interests, any upcoming interviews I had, and the work culture at OCI. It was primarily behavioral.
  3. System Design: Another round with the hiring manager, focused on system design. I was asked to design a URL shortening system. The discussion also delved into REST methods, HTTP status codes, hashing, and encryption principles.
  4. Coding Round: I was challenged to design a class that supported four operations: set(key, time, value), set(key, value), get(key), and get(key, time). My approach involved using a map of maps, where the nested map was a TreeMap to facilitate sorting based on start times.
  5. Coding Round: The task here was to take a list of strings and return all possible combinations that could form a 4x4 word grid. I attempted a brute-force approach, though I felt the interviewer himself seemed a bit unsure about the problem and offered minimal input.
  6. Experience Discussion: The final round focused on my past work experience, specifically going through Object-Oriented Design (OOD) in previous projects, questions about cloud-native application development, and some database-related topics.

Throughout the interviews, the team emphasized that their tech stack was primarily Java, and relevant experience was mandatory. I was quite surprised, however, that not a single question was asked specifically about Java or my experience with it.

Interview Questions (4)

Q1
Friends of Friends API
Data Structures & Algorithms

Create an API which takes in a person's name and returns all levels of friends of this person.

Example:

Map:
  "Bob"    : "Sandra", "Alice", "Eric"
  "Sandra" : "Bob", "Don"
  "Alice"  : "Bob"
  "Eric"   : "Bob"
  "Don"    : "Sandra", "Tim"
  "Tim"    : "Don"

Member Name: "Bob"

Result:

Level 1 friends: Sandra, Alice, Eric
Level 2 friends: Don
Level 3 friends: Tim
Q2
URL Shortening System Design
System Design

Design a URL shortening system.

The discussion also involved questions about REST methods, HTTP status codes, hashing, and encryption.

Q3
Time-based Key-Value Store
Data Structures & Algorithms

Design a class that supports 4 different operations:

  • set(key, time, value)
  • set(key, value)
  • get(key)
  • get(key, time)
Q4
4x4 Word Grid Formation
Data Structures & Algorithms

Given a list of strings, return all possible combinations of strings which would form a 4x4 word grid.

Input: ATOM, ACID, PARK, LACK, MARK, DARK

Example Grid:

A T O M
C     A  
I     R
D A R K
Oracle | IC3 | Seattle, WA | Dec 2019 [Offer]
oracle logo
Oracle
SDE IIseattle, wa4 yearsOffer
December 16, 201928 reads

Summary

I applied for an IC3 position at Oracle in Seattle, WA, in October 2019. After a phone screen and a 5-round onsite interview in December 2019, I successfully received a verbal offer the very next day.

Full Experience

I initiated my job search by applying for an IC3 position at Oracle (OCI) in Seattle, WA, through LinkedIn in October 2019. Following my application, I received an invitation for a phone screen in November 2019, which involved behavioral questions and an algorithm challenge. Shortly after, I was invited to schedule my onsite interviews, which took place in December 2019.

The onsite interviews comprised five distinct rounds:

  • Round 1: This round began with behavioral questions, followed by a data structures and algorithms problem.
  • Round 2: This round focused purely on algorithmic challenges, presenting two distinct problems.
  • Round 3: This was a lunch interview, primarily consisting of behavioral questions.
  • Round 4: I faced more behavioral questions, alongside an object-oriented design challenge to design a Chess game.
  • Round 5: The final round continued with behavioral questions and extended the discussion on the Chess design problem from the previous round.
After completing all rounds, I was delighted to receive a verbal offer for the position the very next day.

Interview Questions (5)

Q1
Add Strings
Data Structures & AlgorithmsMedium

Given two non-negative integers num1 and num2 represented as strings, return the sum of num1 and num2 as a string. You must not use any built-in BigInteger library or convert the inputs to integer directly.

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According to the definition of LCA on Wikipedia: "The lowest common ancestor is defined between two nodes p and q as the lowest node in T that has both p and q as descendants (where we allow a node to be a descendant of itself)."

Q3
Merge Intervals
Data Structures & AlgorithmsMedium

Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

Q4
Longest Valid Parentheses
Data Structures & AlgorithmsHard

Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.

Q5
Object-Oriented Design: Chess Game
System Design

Design an object-oriented system for a Chess game.

Have a Oracle Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Oracle.