Clarifying Requirements - URL Shortener
-
Functional Requirements
- Shorten long URLs and generate a unique short URL.
- Redirect users when they visit the short URL.
- Track analytics (number of clicks, geographic location).
- API support for developers.
-
Non-Functional Requirements
- Handle 100M+ URLs with low latency.
- High availability (99.99% uptime).
- Fast read operations (low latency redirects).
- Eventual consistency (if using a distributed DB).
- Rate limiting to prevent abuse.
By following this structured approach, you’ll demonstrate clarity, depth, and problem-solving skills, making a strong impression in your System Design Interview. 🚀