Easy
Amazon

Design a URL Shortener System Design Interview

Design a scalable service like tinyurl.com that redirects short aliases to long URLs.

1. Problem Statement

Let's design a URL shortener like bit.ly. Where would you begin?

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
    A["Design a URL Shortener"]
    A --> F1["Unique ID Generation Base62 vs UUID vs Counter"]
    A --> F2["Collision Handling Hash checks"]
    A --> F3["Read Optimization Caching Hot Redirects"]
    A --> F4["Database Choice SQL vs NoSQL for Mappings"]
    A --> F5["Analytics Pipeline Separation of concerns"]

3. Key Focus Areas

  • 1
    Unique ID Generation (Base62 vs UUID vs Counter)
  • 2
    Collision Handling (Hash checks)
  • 3
    Read Optimization (Caching Hot Redirects)
  • 4
    Database Choice (SQL vs NoSQL for Mappings)
  • 5
    Analytics Pipeline (Separation of concerns)

4. What Strong Candidates Should Demonstrate

  • Translate product scope into measurable redirect and creation SLOs.
  • Use capacity estimates to justify key length, storage, cache, and partitioning decisions.
  • Separate the latency-critical redirect path from asynchronous analytics.

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Continue to Dashboard

Core Concepts

System DesignHashingData Modeling

Continue preparing

Build a complete software engineer mock interview plan

Prepare by company

Related System Design

Design a Cross-Product Tagging System

Design a shared tagging service that lets users apply tags to entities across multiple Atlassian products, with consistent search and deduplication.

Related System Design

Design Google Docs

Design a real-time collaborative document editor supporting multiple simultaneous users.