System Design Interview, System Design Concepts, System Design, Design Tinyurl, Design Bitly.
Functional and Non-functional Requirements First, we need to define this system's functional and non-functional requirements. We have two functional requirements: When given a long URL, we have to create a short URL When given a short URL, we must redirect the user to the long URL. The