advanced

URL shortener

Design key generation, redirect latency, analytics, abuse controls, custom aliases, and hot-link caching. Объясняйте API, data model, bottlenecks и trade-offs.

URL shortener сопоставляет короткие ключи длинным URL с быстрым redirect, низкой latency read и безопасной генерацией ключей. Ядро: API create/redirect, генерация ключей (base62 counter или hash), relational или KV store, кеш горячих ссылок, опционально аналитика.

Redirect read-heavy — кешируйте популярные ключи на CDN или Redis. Кастомные alias требуют проверки уникальности. Abuse detection и rate limit на создание. Миллиарды ключей — 7 символов base62 масштабируются далеко.

На интервью: API create и redirect, стратегия ключей, схема storage и кеш для вирусных ссылок.

Типовые ошибки: последовательные ID перебираются; нет кеша на redirect path; аналитика тормозит hot path.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Flow create и redirect.
  • Генерация ключей и коллизии.
  • Кеш mapping на edge или Redis.
  • Rate limit и защита от abuse.