60-day SSE plan
Splitwise • Twitter Feed / Timeline • Graph BFS/DFS • Tech: Concurrency & Multithreading
Algorithm
DSA
Graph BFS — Number of Islands (LC 200)
Count connected components in a grid via BFS/DFS.
Example
Input: grid with 1s and 0s → Output: number of islands
Where it shows up
Cluster detection, network partitioning, region counting.
References
Low-level design
LLD
Splitwise
Requirements
- Create groups, add expenses, split & settle balances.
Expectations
- UML for Group, Expense, Split, BalanceSheet.
- Implement core services; show simplified settle-up.
Where it shows up
Bill-splitting consumer apps, travel groups.
References
High-level design
HLD
Twitter Feed / Timeline
Requirements
- Post, follow, generate home timeline with pagination and basic ranking.
Expectations
- Fan-out on write vs read; caches; cold-start handling.
- Explain hybrid approach for celebs vs normals.
Where it shows up
Social feeds, enterprise activity streams.
References
Today's deep-dive
Tech
Concurrency & Multithreading
Build a bounded thread pool demo; compare synchronized vs ReentrantLock; show visibility with volatile.
Where it shows up
Building scalable chat/messaging platforms, real-time collaboration tools, and distributed systems requiring concurrency control.