Clarifying Requirements - URL Shortener

  1. 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.
  2. 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. 🚀