System design interview question
Design a Social Graph (Facebook Friendship Graph)
A social graph stores who-knows-who relationships and serves the queries that power friend lists, mutual friends, people-you-may-know, and degree-of-separation features. At Facebook scale this is 3 billion nodes and ~500 billion edges with hundreds of millions of reads per second. The challenge is that graph queries are inherently random-access — there is no good way to shard while keeping multi-hop traversals fast. The design must combine an adjacency-list KV store, aggressive caching, denormalised mutual-friend counts, and offline pipelines for expensive queries like friend suggestions.
Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.