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.