System Design Interview, System Design Concepts, System Design, Design Tinyurl, Design Bitly.
uniqueness and non-predictability. For example, to avoid collisions, there's a very simple way—we can generate all the possible keys with 7 characters and store them in a database as keys, where the key is the generated URL and the value is boolean; if it's true, then this URL is already used, and