Shopify·Software Engineer·Take-home Assignment
- Build a local URL shortener library with shorten and resolve operations, URL validation, hash-based code generation, collision handling, in-memory storage, JSON file persistence, and deduplication for repeated inputs.
- How does memory usage scale as the number of stored URLs grows, and what architectural changes would you make if the data no longer fits on a single machine?
“The collision handling part is where I spent way too long.”