Owl: Hi! Today, I'd like you to design a URL shortening service similar to Bitly.
A user should be able to submit a long URL and receive a short URL. When someone visits that short URL, they should be redirected to the original URL.
For example:
Input:
https://example.com/products/software-engineering/interview-preparation
Output:
https://sho.rt/aB3x9Q
I'd like you to think about short URL generation, database design, redirects, caching, scaling to billions of URLs, and availability versus consistency.
Go ahead and start whenever you're ready.