System design interview questionHardCollaborative System
Design a Collaborative Document Editor like Google Docs
Design Google Docs-style collaboration: multiple users edit the same document with near real-time sync and durable saves.
Interview scope
Client → Realtime Gateway and Client → Gateway/LB → App. App → Cache, App → DB, App → Object Storage. Wire Realtime ↔ App. No Client → DB.
Functional requirements
- Open a document and stream edits to collaborators.
- Persist document state / revisions.
- Auth and sharing permissions at a high level.
Scale and quality goals
- Edit sync must feel live. Realtime Gateway is core.
- Durable DB for document state, plus Object Storage for large snapshots/exports.
- Cache for hot collaborative sessions. Do not put saves on a CDN.
Capacity assumption
Design for this scale
Assume ~10M DAU docs users; peak concurrent editors on viral docs need realtime fan-out, not request polling only.
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →