Requirements for Twitter System Design
2.1 Functional Requirements:
- Should be able to post new tweets (can be text, image, video etc).
- Should be able to follow other users.
- Should have a newsfeed feature consisting of tweets from the people the user is following.
- Should be able to search tweets.
2.2 Non Functional Requirements:
- High availability with minimal latency.
- Ths system should be scalable and efficient.
2.3 Extended Requirements:
- Metrices and analytics
- Retweet functionality
- Favorite tweets
Designing Twitter – A System Design Interview Question
Designing Twitter (or Facebook feed or Facebook search..) is a quite common question that interviewers ask candidates. A lot of candidates get afraid of this round more than the coding round because they don’t get an idea of what topics and tradeoffs they should cover within this limited timeframe.
Important Topics for Designing Twitter
- How Would You Design Twitter?
- Requirements for Twitter System Design
- Capacity Estimation for Twitter System Design
- Use Case Design for Twitter System Design
- Low Level Design for Twitter System Design
- High Level Design for Twitter System Design
- Data Model Design for Twitter System Design
- API Design for Twitter System Design
- Microservices Used for Twitter System Design
- Scalability for Twitter System Design