Define the APIs expected from the system. This is your chance to analyze and define the read and write paths so that you can come up with the high-level design...
Purpose: create a new tweet
Input
Explanation
Purpose: follow a user
Input
Explanation
Purpose: remove follow relationship
Input
Explanation
Purpose: like a tweet
Input
Explanation
Purpose: fetch user’s home feed
Input
Explanation
Purpose: fetch a single tweet
Explanation
Purpose: fetch tweets of a user
Explanation
user action → API → process → store → fan-out → read from timeline → respond
Describe the overall system architecture. Identify the main components needed to solve the problem end-to-end. Use the diagramming tool to create a block diagram.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.