What Oracle Tests in System Design
- See why Oracle's senior loop often tests both low-level design and distributed HLD
- Check your level first: new grads and early MTS can nearly skip this, seniors can't
- Design services on top of a database, since software roles don't ask for storage-engine internals
- Match each of the four worked designs to the round it prepares you for
Whether you should grind system design for Oracle depends almost entirely on the level you are interviewing at, so start there. For a new grad, design is light or absent, and those hours are better spent on arrays, strings, and a single object-design-in-code prompt. For a senior engineer, design is the loop. It is where the offer gets won or lost, and it is the most distinctive thing Oracle does. The first move, then, is to place yourself on the ladder, because everything in this section is built for the senior end of it.
Once you are at that senior end, one shape makes Oracle stand apart. The senior loop frequently carries two design rounds, not one. First a low-level object design, sometimes called machine coding, where you model the classes and write code that compiles. Then a distributed high-level design, where you draw the boxes and defend the trade-offs. Prepping one and neglecting the other is the classic way a strong candidate stumbles here. Train the pair.
Where design lives
Design weight climbs steeply with level, and knowing your rung tells you how much of this section to read. A new grad sees little to none of it. An early MTS gets one design round fused to code. Senior is where it becomes the core of the loop, and Principal and above push the distributed side deeper. The table below breaks it down. Look at the top two rows. If you're interviewing at new-grad or early-MTS level, you can shrink this whole section to near zero.
- IC1 (new grad, SW Dev 1): Light or absent. The loop is coding-dominant, easy to medium DS&A. Design, when it shows up at all, is a single object-design-in-code prompt (Design Tic-Tac-Toe) or a schema and ER-diagram exercise. No distributed design. Do not over-invest here.
- IC2 (MTS, SW Dev 2): One round, tied to code. A single design round coupled to implementation: design a food-delivery HLD, then write the APIs for one module, or a stateful DB-backed API where slots persist across calls. Design here is welded to coding, not a pure whiteboard.
- IC3 (Senior MTS): The heaviest. The core of Oracle SD. Often two design rounds, one low-level and one distributed, plus the hiring-manager walk-through of your own architecture. A concurrency and multithreading round is common alongside them. This is who the section is written for.
- IC4+ (Principal MTS, CMTS): Distributed, deeper. More scheduling and dependency complexity, more failure modes, more scale. Teams inside OCI infrastructure go low-level instead: network virtualization, hypervisors, storage layers. The distributed muscle carries you here.
The storage-engine myth
Put one fear down before you prep a single design. Oracle is a database company, so candidates walk in braced to design a B-tree, a query optimizer, or an MVCC engine on the whiteboard. For a software-engineering role, that is not what happens. Deep storage internals, segments, redo logs, buffer pools, live in DBA interviews, not SWE design rounds. The database shows up a different way. You design services that sit on top of a database, and you defend the data decisions underneath them. Sharding and partitioning are a scaling lever. Transactions and isolation levels are a correctness lever. Indexing and normalization are trade-offs you can argue both sides of. That is real and recurring. Designing the engine itself is not on the test.
SELECT ... FOR UPDATE SKIP LOCKED lease behaves under contention. Or when a single-shard transaction saves you and when you're forced cross-shard, and what a unique constraint buys you over an application-level check. In OCI loops that same depth gets mapped onto managed services: Object Storage in place of S3, Streaming in place of Kafka, OCI Cache (managed Valkey and Redis) as the caching and counter substrate. This is where fluency in databases pays off, and it all lands in the DB-backed design, not a storage-engine design.The shapes it comes in
The senior design surface clusters into four shapes, and the section builds a worked design for each. The chart weights them by a blend of how often candidates report the shape and how distinctively it belongs to an Oracle loop. Read it as a rough guide to where prep pays off, and treat the weights as approximate, since Oracle publishes no counts. The headline sits in the tallest bar: low-level object design dominates because it is both frequent and the round Oracle runs that most others do not.
Where to build the fundamentals
Two of the four designs lean on mechanics you would drill for any strong loop, so build those once and reuse them. Queues and worker pools, retries and idempotency, sharding and replication, when to reach for a cache or a log: these are canonical shapes. The worked designs here skip re-teaching them and spend their time on the Oracle-specific parts. Build the base in the System Design course and the algorithmic footing in the DS&A foundations. The delivery framework covers how to run the room, the scaling playbook covers the read and write paths, and the toolbox covers when to reach for Redis, Kafka, or a relational store. This section stays on what is Oracle-specific: the object-modeling discipline, the concurrency, and the database depth.
What a strong answer brings
What an Oracle answer brings
- Prepares both halves of the dual round: clean class modeling for the low-level round and a defensible box diagram for the distributed one
- Opens the object-design round from the domain nouns, draws crisp class boundaries and interfaces, and reaches for a pattern (Strategy for a pluggable eviction policy) where it earns its place
- Treats concurrency as a first-class concern: locks, atomics, and thread-safety named where shared state lives, not bolted on at the end
- Grounds the database in service design: sharding and partitioning for scale, the right isolation level for correctness, indexing and normalization argued as trade-offs
- Names the specific failure mode and defends one component deeply under pushback
What lands off-target
- Trains only box diagrams and walks into the low-level round with no habit for modeling classes and writing code that compiles
- Reaches for a hyperscale reference architecture on a prompt that wanted a pragmatic, medium-scale design
- Braces to design a storage engine or query optimizer, the DBA question Oracle does not ask software engineers
- Treats concurrency as an afterthought, or hand-waves "the database handles it" without naming isolation or a locking strategy
- As a new grad, over-invests in distributed design the junior loop rarely asks, and under-invests in DS&A and DB fundamentals
The worked designs
Four designs, ordered to match the dual-round shape. One low-level object design carries the LLD signature. Next are the two distributed prompts Oracle reaches for most. Last is the DB-backed service, where the database depth lives. Start with the thread-safe cache. It is the highest-differentiation lesson in the section, it teaches the object-design method Oracle grades hardest, and it ties straight back to the LRU work in the coding section.
LLD: Thread-Safe Cache
The low-level object-design round, Oracle's signature, taught as a repeatable method rather than a single answer. Decompose the domain into classes and interfaces, pull the eviction policy behind a Strategy so LRU and LFU are swappable, and make the whole thing thread-safe under concurrent readers and writers. The same method carries the LLD canon Oracle draws from (Music Player, Browser History, a parking lot, Tic-Tac-Toe), and it ties back to the LRU work in the coding section.
Distributed Job Scheduler
The single most recurring Oracle distributed HLD theme. Build a durable, DB-backed job queue, hand work to a worker pool with SELECT ... FOR UPDATE SKIP LOCKED leasing, and get the semantics right: at-least-once delivery with idempotent execution, retries with backoff, visibility timeouts, and dependency ordering. The flagship distributed design, and the one to prep first among the three HLDs.
Concurrent Booking System
The runner-up distributed HLD, a BookMyShow-style seat or slot booking system built around one hard invariant: never double-book. Weigh pessimistic locking against optimistic concurrency against a database unique constraint, add short-lived holds with expiry, and run the payment path as a saga with compensations. Distinctly Oracle-flavored: consistency and correctness over raw scale.
DB-Backed Sharded Service
Database fundamentals at scale, and where the "database company" angle lives. Design a stateful service on a relational store: schema and normalization, indexing for the read patterns, range and hash sharding with the cross-shard trade-offs, replication for reads and failover, and single-shard transactions for correctness. Layered with an OCI overlay (Object Storage, Streaming, OCI Cache), not a storage-engine internals design.
Key Takeaways
- ✓Oracle system design is senior-facing. New grads and early-MTS candidates see little to no distributed design and should shrink this section to near zero, investing instead in DS&A, DB fundamentals, and one object-design-in-code prompt.
- ✓The distinctive shape is the dual round: at senior level Oracle tests both low-level object design and distributed HLD, often in the same loop. Prep both halves, because training only box diagrams leaves you unready for the round Oracle runs that most loops do not.
- ✓The storage-engine fear is a myth for software roles. Oracle does not make you design a B-tree or a query optimizer. The database angle is designing services on a database, sharding, transactions, isolation, and indexing, with the depth pointed at services, not internals.
- ✓Four worked designs build the section. A thread-safe cache covers the low-level signature. A distributed job scheduler and a concurrent booking system cover the top distributed themes. A DB-backed sharded service covers database depth. Start with the thread-safe cache.
Oracle interview guideKnow what Oracle asks before you walk in.
19 coding · 4 system design · 18 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.