Code Room
System designHard
Question
Design the partitioning strategy for a social graph store with 1B vertices (users) and 200B edges (friendships/follows), supporting queries like 'friends of friends' (2-hop) and 'mutual connections' with p95 under 200ms, plus heavy write traffic as the graph changes. Some vertices are super-nodes (celebrities with 50M+ edges). The graph doesn't fit on one machine. Describe how you partition vertices/edges across machines, how multi-hop traversals execute, how you handle super-nodes, and the central trade-off.
What a strong answer looks like
Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts — data model, bottlenecks, consistency, failure modes — and name the trade-offs you are making.
Learn the concepts
Loading whiteboard…
Run or narrate your approach, then ask the coach.