Ask questions to pin down the features in scope and the scale, latency and availability targets
Ask questions first, because the requirements decide everything else. The prompt is vague on purpose, so that you will narrow it down.
"Pick a database and explain why it scales" and "Draw microservices for riders, drivers, payments and maps" both start designing too early. You would design for assumptions that nobody agreed on.
"Start estimating storage for five years of trip history" is also too early. An estimate only makes sense once you know which features are in scope and how many users there are.
Read more