Oracle OHAI IC3|SDE 3 Interview Experience.

oracle logo
oracle
· Software Engineer
May 3, 2025 · 42 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)

1.

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.

2.

Discussion on Core Design Patterns

Other

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

3.

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.

4.

Leaders in an Array (Variant)

Data Structures & Algorithms

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

5.

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.

6.

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.

7.

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

8.

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.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!