Grokking the System Design Interview
Ask Author
Back to course home

0% completed

Vote For New Content
Another option instead use the KGS - randomUUID.

Andre Lucas Santos Silva

Jul 24, 2023

Hello folks. I was thinking about the KGS implementation, and after thinking about that.

Could I suggest in the system design interview generated to each URL shortened with the unique ID together?

Something like this:

var pk = (); var shortenedUrl = pk + "-" + originalUrl var keyShortenedUrl = ("SHA-256").digest(shortenedUrl) repository.save(new Model(pk, originalUrl, ("%032X", new BigInteger(1, keyShortenedUrl))));

In this way, I think that we can't key duplication/collision between the keys shortened. What do you about this?

2

0

Comments
Comments

On this page

  1. Why do we need URL shortening?

Try it yourself

Designing URL Shortener (video)

  1. Requirements and Goals of the System
  1. Capacity Estimation and Constraints
  1. System Interface Definition
  1. Create Short URL API
  1. Redirect API
  1. Analytics API
  1. URL Management API
  1. Delete Short URL API
  1. Database Design
  1. Basic System Design and Algorithm

a. Encoding actual URL

b. Generating keys offline

  1. Data Partitioning and Replication
  1. Cache
  1. Load Balancer (LB)
  1. Purging or DB cleanup
  1. Telemetry
  1. Security and Permissions