code a TextPad with following functionality:
MediumWe are building a collaborative text editor. Imagine a shared Google Docs experience, but we're focusing on the core engine that allows multiple users to edit the same document simultaneously. This requires careful consideration of data consistency, concurrency, and efficient update propagation. The Textpad needs to support concurrent edits from multiple users and ensure all users eventually see the same consistent document state. This is a classic problem involving Operational Transformations or Conflict-free Replicated Data Types (CRDTs). However, for this exercise, we'll keep it simple and focus on a centralized approach with optimistic locking and a simplified conflict resolution mechanism. We'll simulate multiple users making changes to the same shared document.
Requirements
Think like an Architect
Before revealing the requirements, imagine you're in the interview right now."How would you clarify the scope with your interviewer?"