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...
I have a redirecting service hosted at www.shorten-url.com. To create a short url, I'll generate a unique id w low-collision for the url provided and store it in a hash table. When my service is hit with www.shorten-url.com/
Scaling my service would be through horizontal scaling of web service and hash table as a separate backend service with APIs - get(unique-id) to retrieve url and put(unique-id) to store in hash, that can be scaled horizontally separately.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.