Start with requirements and constraints before jumping into the solution. Ask clarifying questions about expected traffic and features.
Strong answers cover: base62 encoding for short codes, database design (key-value store or relational), read-heavy caching strategy (Redis), 301 vs 302 redirects and their SEO implications, handling collisions, analytics tracking, and horizontal scaling. Senior candidates discuss consistent hashing and geographic distribution.
Classic system design question. Focus on trade-offs the candidate identifies. Do they consider read vs write ratio? Do they think about cache invalidation? Collision handling strategy reveals depth.