Design a Twitter-like microblogging service
AsanaSoftware Engineer · Technical ScreenLast updated
This question evaluates system design competencies including scalable architecture, data and API modeling, feed generation trade-offs, storage and caching strategies, consistency expectations, and operational concerns such as rate limiting, abuse mitigation, and observability.
Design a Twitter-like microblogging system. You can describe it verbally and with structured notes.
Requirements:
- Users can post short messages.
- Users can follow/unfollow others.
- Users can view a home timeline/feed with recent posts from accounts they follow.
- Support high read volume and write volume.
Clarify and address:
- Core APIs and data models.
- Feed generation approach (fan-out on write vs fan-out on read, or hybrid).
- Storage choices, caching, pagination, and ranking.
- Consistency expectations (e.g., how quickly a new post should appear).
- Operational concerns: rate limiting, abuse/spam, and observability.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.