Skip to content

ORIGINAL SYSTEM DESIGN QUESTION

Concurrent document editing

Support shared document editing, offline reconnect and version history.

Open practice workspace

Original exercise · advanced. Editorial role relevance does not imply a company has asked this question.

Requirements and constraints

  • 10,000 simultaneously edited documents; up to 50 collaborators/document.
  • Concurrent edits must converge without silently dropping accepted changes.
  • State assumptions and justify security, cost, operational ownership and data retention.

Pressure round

Two users reconnect with conflicting offline edits.

Build and explain the design

Requirements & scope

Who uses it? What must it do? What is explicitly out of scope? State latency, durability and privacy goals.

Self-review guidance

Define the actors, required operations and out-of-scope behavior. Explicit requirement: Concurrent edits must converge without silently dropping accepted changes.

Capacity estimates

State assumptions, peak requests/second, data volume and retention. Show your arithmetic and units.

Self-review guidance

Use this workload: 10,000 simultaneously edited documents; up to 50 collaborators/document. Convert rates and payload sizes into peak compute/storage assumptions; show units, headroom and what remains unmeasured.

APIs & data model

Describe endpoints/events, entity keys, indexes, authorization, and idempotency.

Self-review guidance

Define operation IDs, document permissions and synchronization cursors.

Architecture & data flow

Describe components and request/event paths. Use plain text arrows to sketch your design; explain each responsibility.

Self-review guidance

Explain an OT or CRDT approach and persistence of operations/snapshots.

Failures & observability

What happens on overload, duplicate events, partial failures or lost dependencies? Discuss monitoring and recovery.

Self-review guidance

Pressure-test: Two users reconnect with conflicting offline edits. Describe bounded recovery, deduplication, observability and a user-visible failure state.

Tradeoffs & alternatives

Compare two plausible approaches. State the costs, consistency model and what would make you change the design.

Self-review guidance

Compare operation metadata growth with central sequencing and merge semantics.

Design guidance describes assumptions and tradeoffs; no architecture has been simulated or benchmarked.

Practice this question

Save your work privately, explain decisions and return to your revision queue.

Open practice workspaceBrowse the question library →