Interview-ready answer
I would separate the write path that creates a short code from the read-heavy redirect path. The API validates the destination, generates a unique code, and stores the mapping with expiry and ownership metadata. Redirects use a cache in front of durable storage, with careful handling for missing or expired codes. I would clarify traffic and reliability requirements first, then address abuse controls, analytics, and cache consistency.