Estimate the scale of the system. Consider daily active users, read/write ratio, storage requirements, bandwidth, and any relevant QPS calculations...
Using horizontally scaling systems, including NoSQL databases, as shown, all the API calls should be easy to evaluate in real time, except for get_top_global_tweets. That one can be run reads from a small relational DB. The keys for that relational DB are populated offline every few minutes from a job that reads the Tweet like database, but the relational DB gets updated every time a tweet in that DB gets liked."
Writes:
Reads:
Define the data model. Identify the main entities, their attributes, and relationships. Consider the choice of database type (SQL vs NoSQL) and justify your decision based on access patterns...
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.