InterviewLegend

System Design at Adobe

Alex Chen10 min readUpdated 381 real interview reports
In this lesson
  • See why Adobe design leans on general primitives plus one collaborative-editor anchor
  • Understand why the round is level-gated and pragmatic, and how it sets your level more than it gates the hire
  • Map the four worked designs to the shape each one drills

Adobe's most recurring design prompt is a thread-safe configurable cache. It's an LRU or LFU store where the eviction policy is passed in at construction, and many threads read and write it at once. That prompt tells you what the round is made of. Most of what Adobe asks is general-purpose primitives: caches, file systems, typeahead, rate limiters. The bar is practical. Adobe wants a correct, clean design you can defend, and it weights that over scaling a product to a billion users.

The round is level-gated. New-grad and early-career loops usually skip system design and stay on coding and CS fundamentals. It enters the loop around the Computer Scientist level and grows from there. Senior candidates get a full design round, and Staff and above can get two. The level you land at often turns on this round, since the architecture conversation is where an otherwise strong loop gets down-leveled.

The Adobe angle
This round sets your level. It rarely sinks the hire. Forty-five minutes to an hour, an interviewer who builds alongside you instead of grilling you, and a strong bias toward a clean design over a sprawling one packed with words you cannot unpack. Adobe's loop is one of the gentler ones in big tech, and the design round keeps that tone. Gentle is not soft, though. The people grading you shipped Acrobat, Creative Cloud, and the storage underneath, so hand-waving gets spotted in seconds. Honest trade-offs move you up a level. Buzzword tours move you down one.

The shapes Adobe reaches for

Adobe design prompts cluster into four shapes, and the worked designs in this section take one each. Real-time collaboration is the domain anchor, co-editing a document the way Acrobat and Document Cloud do. A media and asset pipeline is the Creative Cloud shape, moving a large file from upload to a viewer's screen. Search and ranking covers typeahead with top-k. A distributed primitive covers the rate limiter. Three of the four are general-purpose, which matches what the round asks, and the collaborative editor is where Adobe's own domain shows up.

ShapeWorked designWhy it fits Adobe
Real-time collaborationDesign a Collaborative Document EditorThe domain anchor. Acrobat and Document Cloud style co-editing: a document model, sync over WebSockets, conflict resolution through operational transform or a CRDT, and an undo and redo stack. The one Adobe-domain shape with a genuinely reported tie, the editor undo history.
Media and asset pipelineDesign a Digital Asset ManagerThe Creative Cloud shape. Upload a large image or video, transcode and process it, store the bytes, deliver them through a CDN near the viewer, and index the metadata so assets are searchable.
Search and rankingDesign Typeahead with Top-KA reported generic shape. Autocomplete backed by a trie for prefixes and a heap for the best completions, ranked by popularity and kept fresh.
Distributed primitiveDesign a Rate LimiterA reported generic primitive. A token or leaky bucket enforcing a request quota across many nodes, the kind of throttling that protects an API at platform scale.
One worked design per distinct shape. The collaborative editor leads because it is the most Adobe-specific of the four and the one with a real product-domain anchor.
The Adobe angle
Three of these four prompts could come from anyone. One could not. Acrobat, Document Cloud, and the desktop apps all let people edit a shared document, and Adobe engineers have built and rebuilt the undo stack underneath that more times than they would care to count. So the editor is where domain knowledge actually pays. You model the document and sync over WebSockets. Conflicts resolve with operational transform or a CRDT, two ways to merge concurrent edits without a central lock. Undo has to stay correct while two people type at once. The cache, the typeahead, the rate limiter are primitives any shop might ask. Lead with the editor. It is the most Adobe thing in the room.

The four designs in this guide

Start with the collaborative document editor. It is the signature shape and the place where Adobe's domain knowledge counts, so it earns the lead. The other three are general-purpose primitives that the round asks just as often, each isolating a different axis.

Design a Collaborative Document Editor

The domain anchor and the signature. Several people edit one document at once, the way Acrobat and Document Cloud allow. You model the document, sync changes over WebSockets, resolve conflicts with operational transform or a CRDT so concurrent edits merge cleanly, and keep an undo and redo stack correct under all of it. Where Adobe's product domain shows up.

Design a Digital Asset Manager

The Creative Cloud media pipeline. A user uploads a large image or video. The system processes and transcodes it, stores the bytes in object storage, serves them through a CDN near the viewer, and indexes the metadata so assets are searchable. Upload, process, store, deliver, and search, end to end.

Design Typeahead with Top-K

Search and ranking. As a user types, return the best few completions ranked by popularity, backed by a trie for prefixes and a heap for the top-k. The deep dives are how you keep the lookup fast and how you keep the rankings fresh as popularity shifts.

Design a Rate Limiter

A distributed primitive. Enforce a request quota across many nodes with a token or leaky bucket, and keep the shared counters consistent enough without a round trip per request. Degrade gracefully when the limiter's store slows down.

The framework Adobe rewards

Requirements, entities, and API

Open by pinning requirements: what is in scope, what the throughput and latency targets are, and what you are deliberately leaving out. Nothing exotic about the arc, and that is the point. Spell out the read-versus-write skew, since a typeahead feed and a document-edit stream pull in opposite directions and the design lives on the heavy side. Put real numbers on the scale before you draw a single box.

From there, name the entities and write the API. Call out the objects the system turns on: a document and its edit operations, an asset and its renditions, a suggestion, a token bucket. Then write the interface as concrete endpoints you keep referring back to. On the collaborative editor this is also where you decide what an edit operation looks like on the wire, because everything downstream, sync and conflict resolution and undo, depends on that shape.

High-level design, then deep dives

Sketch the high-level topology next, walking one requirement at a time and naming the bottleneck you are punting at each step. Then go deep where the interviewer points, because the deep dives are the round. A clear high-level pass with one genuinely deep component beats a tour of six shallow ones. For the editor, that depth goes to conflict resolution and the undo stack. The asset pipeline drills transcoding and delivery, typeahead drills ranking and freshness, and the rate limiter comes down to the shared counter under concurrency.

What a strong pass does

  • Pins down scope, the read-versus-write skew, and the latency and correctness targets before drawing any boxes
  • Leads the collaborative editor with a clear conflict-resolution choice and defends operational transform against a CRDT for this document model
  • Goes deep on the one component that decides the design: conflict resolution, transcoding, ranking, or the shared counter
  • Names a real failure and the mechanism: a lost edit recovered from the operation log, a thundering herd on a popular prefix absorbed by a cache
  • Reasons cleanly under concurrency, since Adobe folds thread-safety into design as readily as into code

What lands off-target

  • Starts naming components with no requirements and no scale numbers
  • Reaches for a product clone when the prompt is a plain primitive like a cache or a rate limiter
  • Acknowledges a flaw, then waves it away without the mechanism that fixes it
  • Tours six components shallowly while conflict resolution or the hot counter goes unaddressed
  • Drops a term like CRDT or token bucket and cannot unpack it when pushed
The Adobe angle
The design round often blurs into low-level design, so be ready to reason in code. Adobe's design prompts lean practical, and several of them, the thread-safe cache especially, can turn into a request to sketch real classes and get the concurrency right. The interviewer may ask where a lock goes, how two threads avoid corrupting the shared counter, or how an undo stack stays consistent while edits arrive out of order. The System Design course drills the underlying mechanics, the queues, the consistency models, the storage engines. This section stays on the Adobe layer: the four shapes its round asks, worked end to end, with the concurrency and correctness reasoning the round keeps coming back to.

Key Takeaways

  • ✓Adobe system design is mostly general-purpose primitives: caches, file systems, typeahead, and rate limiters. The one product-flavored shape is a real-time collaborative document editor, which is the domain anchor and the signature.
  • ✓The round is level-gated. New-grad loops usually skip it, it enters around the Computer Scientist level, and senior and Staff loops get more design. The level you land at often turns on this round.
  • ✓The bar is practical and humane. About forty-five to sixty minutes, a collaborative interviewer, and a clean defensible design over a sprawling buzzword tour. The round often blurs into low-level design, so be ready to reason about concurrency in code.
  • ✓Four worked designs cover four distinct shapes. The anchor is a collaborative document editor (real-time co-editing). The others are a digital asset manager (a Creative Cloud media pipeline), typeahead with top-k (search and ranking), and a rate limiter (a distributed primitive). The winning arc is requirements, then entities and API, then high-level design, then deep dives.
Had your Adobe interview?Tell us what they asked. Reviewed before it goes in, never with your name.
Adobe interview guide

Know what Adobe asks before you walk in.

20 coding · 4 system design · 22 behavioral questions

Get Premium$49 a year · Cancel anytime
Or start freeNo card.

Get their questions first.

InterviewLegend is independent and not affiliated with or endorsed by any company it covers.