Design a Collaborative Editor (Google Docs)
Advanced · 27 min read · High-Level Design, Case Studies: Advanced
OT vs CRDTs, sessions, presence and persistence.
This is an Advanced lesson, part of Premium. What it covers:
- 1. Clarify the problem
- 2. Requirements
- 3. Capacity estimation
- 4. Why naive approaches fail
- 5. Approach A — Operational Transformation (OT)
- 6. Approach B — CRDTs
- 7. High-level design
- 8. Deep dives
- 9. Failure modes
- 10. Trade-offs summary
- 11. What interviewers look for
- Interview questions
- Practice
- Further reading
Previous: Design a Distributed Job Scheduler · Next: Design a Distributed Key-Value Store