Collaborative spreadsheet engine
Your task
Design the real-time engine behind a collaborative spreadsheet. Multiple users edit cells concurrently; cells contain formulas that reference other cells (A1 = B1 + SUM(C1:C100)). On any edit you must recompute exactly the dependent cells (not the whole sheet) and push results to all collaborators in real time. Sheets can have 1M cells, deep dependency chains, and cycles must be detected. Edits must converge across users.
It covers
- Spreadsheet
- Dependency graph
- Recalculation