Semua soal system design

Design URL Shortener

Turn billions of long URLs into short codes and redirect them in under 50ms, without collisions.

Prompt latihan

  1. Problem Statement, Functional Requirements, and Scale Assumptions

    Tentukan tujuan produk URL Shortener, aksi inti pengguna, non-goal yang eksplisit, dan asumsi skala awal sebelum mengusulkan komponen.

  2. Non-Functional Requirements

    Pilih sasaran latensi, ketersediaan (availability), durabilitas, pencegahan penyalahgunaan, privasi, dan observability yang sesuai untuk URL Shortener.

  3. Quantitative Analysis

    Perkirakan QPS penulisan, QPS redirect, kebutuhan penyimpanan, tekanan cache, dan bandwidth berdasarkan asumsi yang telah ditetapkan.

  4. API Design

    Definisikan operasi API, bentuk request/response, error validasi, ekspektasi idempotensi, dan semantik redirect.

  5. High-Level Design

    Usulkan komponen utama, alur data, batas penyimpanan, strategi cache, dan jalur redirect tanpa membangun state kanvas pembelajar terlebih dahulu.

  6. Additional High-Level Design Prompts

    Perjelas kepemilikan komponen, alur data, batas konsistensi, dan di mana analitik atau kontrol penyalahgunaan ditempatkan di luar jalur redirect yang sibuk (hot path).

  7. Deep Dives

    Telusuri properti pembangkitan ID, mitigasi hot-key, invalidasi cache, retensi data, dan trade-off mode kegagalan.

  8. Final Review Handoff Readiness

    Rangkum keputusan desain, risiko yang belum terselesaikan, dan bukti yang harus digunakan reviewer akhir untuk menghasilkan simulasi keputusan perekrutan (hiring verdict).

Preview solusi

Jalur referensi Solusi URL Shortener adalah materi belajar yang bersifat read-only. Gunakan untuk membandingkan desain Anda sendiri dengan sebuah jalur referensi yang ringkas sebelum memulai latihan atau setelah Anda menyelesaikan satu putaran. Pisahkan pembuatan link dari hot path redirect. Lindungi jalur redirect dengan pembacaan cache-first dan fallback m…

Lihat paket belajar di pricing