Oracle || SDE3 || Interview Experience
Summary
I completed a four-round interview process at Oracle for an SDE3 position, covering DSA, system design, and behavioral questions.
Full Experience
I had a 4-round interview process. The interview focused mainly on DSA, HLD/System Design, and behavioral questions.
Round 1 - Technical
The round started with a DSA question:
- Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit https://leetcode.com/problems/longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit/
After DSA, the interviewer asked a few system design/backend concepts:
- How does pagination work?
- How would you implement pagination at the API and database level?
- How does OAuth 2.0 work?
- How would you handle data loss in a distributed system?
Round 2 - System Design
This round was primarily focused on HLD.
I was asked to design a temporary email service where:
- Users can generate a temporary email address.
- The email address remains active for 5 hours.
- During those 5 hours, the user can receive emails on that address.
- After 5 hours, the temporary email and its associated data should be deleted/expired.
- The interviewer also asked how I would handle the large volume of emails/data generated by the system and how the cleanup process would work.
The discussion covered storage, expiration, cleanup, scalability, and handling a large amount of data.
Round 3 - HM Round
The round started with a few behavioral questions.
After that, I was asked a DSA question based on prescription records.
Given records:
patientId, doctorId, drugName, date
The task was to find patient + drug pairs where the same drug was prescribed by different doctors within 30 days.
Additional conditions:
- Input is sorted by date.
- A pair should be printed only once.
- Output should be:
patientId drugName.
Example:
P1 D1 Atorvastatin 2025-01-10
P1 D2 Atorvastatin 2025-02-05
P2 D3 Metformin 2025-03-01
P2 D4 Metformin 2025-03-25
Output:
P1 Atorvastatin
P2 Metformin
After the DSA question, I was asked to design an HLD for a movie/concert booking system.
Round 4 - Bar Raiser
The final round was a Bar Raiser round.
It started with some behavioral questions, followed by an HLD question which I don't remember exactly.
After that, I was asked a backtracking-based DSA question.
Overall, the process had a good mix of DSA, HLD, backend fundamentals, and behavioral questions.
Interview Questions (4)
Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
Given an integer array nums and an integer limit, return the size of the longest continuous subarray such that the absolute difference between any two elements is less than or equal to limit.
Find Patient-Drug Pairs Prescribed by Different Doctors Within 30 Days
Given sorted prescription records with fields patientId, doctorId, drugName, date, output each patientId drugName pair where the same drug was prescribed to the same patient by at least two different doctors within a 30‑day window. Each pair should be printed only once.
Design a Temporary Email Service
Design a system that allows users to generate a temporary email address that remains active for 5 hours. The system must support receiving emails during the active period and automatically delete or expire the address and its data after 5 hours. Consider handling a large volume of emails and efficient cleanup.
Design a Movie/Concert Booking System
Design a high‑level architecture for a service that allows users to browse, book, and purchase tickets for movies or concerts. Consider aspects such as inventory management, concurrency, payment processing, and scalability.