The core challenge is generating unique short codes. You have options: counter-based, hash-based, or pre-generated.
Counter-based: use a distributed counter (Redis INCR) and convert to base62. Simple but predictable. Hash-based: MD5/SHA256 the URL, take first characters. Risk of collisions. Pre-generated: batch-generate codes offline, hand them out from a key generation service.
For Staff+ interviews, discuss trade-offs. Counter needs coordination. Hashing needs collision handling. Pre-generation needs a separate service but eliminates runtime conflicts.