Design a Social Graph
HardSystem design · Graph Data · LinkedIn
Design the social graph backend for a social network. Users can follow or friend each other, query relationships, and receive friend recommendations.
Requirements
- Support high-degree users with millions of followers
- Answer relationship, follower, following, and mutual-connection queries
- Handle blocks, privacy, recommendations, and graph updates
- Discuss adjacency storage, sharding, cache, graph databases, and denormalization