# A strong answer covers: # - Table: urls (id BIGINT PK, short_code VARCHAR UNIQUE INDEX, original_url TEXT, created_at TIMESTAMP) # - Base62 encoding of auto-increment ID (no collisions, predictable) # - GET /:code → check Redis cache → fallback to DB → 302 redirect # - Redis cache with TTL 24h for hot URLs, write-through on creation # - Horizontal scaling: read replicas for DB, Redis cluster for cache