Step 1: Use cases and constraints
Design the core of Twitter. Which use cases will you handle, which not, and what do you assume?
Answer each step in your own words before you look. The model answers follow System Design Primer: Design the Twitter timeline and search.
Design the core of Twitter. Which use cases will you handle, which not, and what do you assume?