List functional requirements for the system (Ask the chat bot for hints if stuck.)...
Estimate the scale of the system you are going to design...
Define what APIs are expected from the system...
No database needed, we use a key-value store cache, like redis, memdb to store request
Url are store in case of cache missed
Cache strategy follow the strategy of LRU to free up some space
A post request is thrown by the client
case1 :
case 2:
Dig deeper into 2-3 components and explain in detail how they work. For example, how well does each component scale? Any relevant algorithm or data structure you like to use for a component? Also you could draw a diagram using the diagramming tool to enhance your design...
Try to discuss as many failure scenarios/bottlenecks as possible.
-x