System Design : Design a service like TinyUrl

Поделиться
HTML-код
  • Опубликовано: 27 июн 2024
  • System design: Design a scalable service which supports tiny url use case.

Комментарии • 486

  • @ilanchen6583
    @ilanchen6583 4 года назад +4

    I think your system design videos are top notch and helped me tremendously. I usually spend my working hours writing code and not worrying about the design videos, but thanks to you I was able to bridge the gap of missing knowledge

  • @ahmer9800
    @ahmer9800 5 лет назад

    i really appreciate how indepth your design analysis was! thank you

  • @arnabsaha876
    @arnabsaha876 4 года назад +7

    I appreciate your efforts in making system design tutorial videos. My algorithms for tackling this question:
    -6 characters long TinyURL:
    a. Use MD5/SHA256 on Base64 encoding with 6 letters long key (This was mentioned by you also, I uplifted it a bit)
    b. Use Key Generation Service for 6 digit keys already pre-computed - Key DB of ~500 GB size + Replication of this to avoid Single Point Of Failure + Lock system to avoid concurrency issue + Use Memcache to speed up -> Fetch key from DB and Use HTTP 302 redirect to browser, in case of success else return 404 to the user.

  • @StanislavKozlovsk
    @StanislavKozlovsk 7 лет назад

    Thank you so much for the video, I am really excited and glad to have you back!
    Keep on killing it!

  • @SheldonZam
    @SheldonZam 7 лет назад +8

    Tushar! I'm so grateful for what you're doing here on RUclips! I've literally spent hours watching your videos on dynamic programming this last week to study for an algorithms module of mine. Even almost got a bit of your accent!

  • @rish2cool
    @rish2cool 6 лет назад

    Great articulation & simple enough for non CS folks to understand. Thanks Tushar!

  • @michanestorowicz6577
    @michanestorowicz6577 3 года назад

    Again, very good content. I really like that you're talking fast and not waste time on things that are easily found on the internet (definitions etc.). Very nice to watch.

  • @wasabinator
    @wasabinator 7 лет назад

    Great to see design interviews. Welcome back :)

  • @AbnerLi
    @AbnerLi 6 лет назад

    Thank you so much Tushar, your videos are always helpful! We really appreciate your work!!

  • @biswajitsingh8790
    @biswajitsingh8790 6 лет назад

    Hurray ! The legend is back!! more design questions please. 😍😍

  • @VeganCheeseburger
    @VeganCheeseburger 6 лет назад

    Brilliant video! Well explained and perfectly paced.

  • @himanshuverma31
    @himanshuverma31 7 лет назад +93

    We can optimise the generation of the URL part in your service layer by delegating the key generation part to multiple instances of offline services(KeyGenerationService). Each service will generate the keys in the particular range and give the pre-generated tiny urls to servers in need. Servers can also keep some unused url in their local caches to speed up the process more. Their will be some race conditions which could be taken care by designing the service properly to take care of interaction between different threads in the services. All in all, it is a great video, kudos to the efforts you put to come up with such content !!!

    • @tusharroy2525
      @tusharroy2525  7 лет назад +26

      its a good idea of pre-gnerating of tiny url. Thanks for bring this up. Hopefully other viewers will read this.

    • @rockylovesall
      @rockylovesall 7 лет назад +1

      Awesome approach!, I think race condition we can handle via some synchronization approach.

    • @yasharshahi
      @yasharshahi 7 лет назад +2

      +Tushar Roy - Coding Made Simple thanks for the great video.
      you can pin a comment if you want your viewers to see it.

    • @RussellWu
      @RussellWu 5 лет назад +2

      The pro of using a range is because of its compact size to be stored and operated on. Pre-generated keys will take up a lot more space and increase a lot more roundtrip time between internal services while calculating a tinyurl from a integer is relatively cheap. So I think it's only worth it if the calculation is expensive, like blockchain addresses.

    • @renjithr7676
      @renjithr7676 4 года назад

      in this approach you should first check actual url already present, insert only if not.

  • @jonahren2649
    @jonahren2649 5 лет назад +1

    I love your videos, it's so elegant, clean and beautiful

  • @edithau8919
    @edithau8919 6 лет назад +9

    Hi Tushar - Thanks for the awesome video! You asked how other people would design the url service and here’s my 2 cents: I would start the design with a stateless API service and write thru in-memory cache, backed by a relational database. Collisions are detected at the db level (eg. a unique primary key on the shorten url) and corrected by hashing the original url + a prefix. The regional issue you mentioned could potentially be mitigated with a combo of load balancer routing configuration and in-memory cache at each service instance. In the case of GET request burst, it is likely that the instances will have the URL cached.
    I would imagine this starter design is good for couple thousands URL per sec. An AWS RDS with SSD could handle up to 10K IOPS according to their doc. The in-memory cache size could also be adjusted for read performance. To scale up this design for higher volume, I probably would try the distributed cache with write-behind before considering Zookeeper. In general, I like to stay stateless if possible :)
    I created a simple tiny url implementation in case anyone is interested.
    github.com/edithau/simple-tiny-url

  • @erytorth9789
    @erytorth9789 Год назад

    Thank you for the video! That's the most organized / structured content (about app layer) I've seen for that problem.

  • @rishabhdaim
    @rishabhdaim 7 лет назад +3

    Hello, tushar, I would really like to thank you for your videos. recently, I was able to crack an interview by watching your videos. Especially your videos on Dynamic Programming are treat to eyes. Thanks again.

    • @tusharroy2525
      @tusharroy2525  6 лет назад +4

      +Rishabh Daim great. Happy videos helped.

  • @ksankitha
    @ksankitha 7 лет назад +1

    I was so so looking forward to your amazing videos ! keep it coming please .

  • @nitinagrawal6637
    @nitinagrawal6637 5 лет назад

    Appreciate such videos which give different/alternative ways towards solutions & one must go through various such views before finalizing on the solution. But seriously, only a king of fools can ask such questions & expect a good logical answers in those 10-15 minutes. I myself have got such questions with the expectations to say those fancy words of design patterns & algorithms. Man, such interviewers themselves do google the questions/answers for the interviews & they themselves don’t know to solve the trivial problems in their own projects. Many issues with interviewers’ mentality & processes but for such videos, these really help a person to think differently & find the solutions. Appreciate Tushar for providing such informative videos.

  • @theanigos
    @theanigos 3 года назад +4

    This guy and this video helped a millions.

  • @navdeepdahiya4637
    @navdeepdahiya4637 7 лет назад +49

    Dear Tushar, it is great to see that you are back in action. Thanks a lot for your efforts. I truly appreciate your hard work. Could you please share your knowledge on design problems. Thanks a lot.

    • @sagardafle
      @sagardafle 7 лет назад +4

      Navdeep Dahiya Kya baat hai

    • @tusharroy2525
      @tusharroy2525  7 лет назад +47

      I m trying. Started with tiny url and more to come.

    • @rohitkumarkhatri2203
      @rohitkumarkhatri2203 7 лет назад +1

      You are awesome..... Plz keep it up with ur design knowledge.....

    • @UMAKANTJENABCE
      @UMAKANTJENABCE 7 лет назад +1

      Please continue to do your good work of design problems I am waiting for your next coming videos on this eagerly.

  • @tongzhu8999
    @tongzhu8999 7 лет назад

    great guy is back! more system design video please.

  • @rajmilan2933
    @rajmilan2933 6 лет назад

    Amazing !! You are like my guru dude learnt so much from you.

  • @sberfield
    @sberfield 4 года назад +4

    Thank you for this. I have been going through examples and lessons and this made it all click for me.

  • @MrSachintelalwar
    @MrSachintelalwar 7 лет назад

    Hello Tushar, Thank you for the great explanation and making it very simple to understand the problem. Waiting for more designing problems. :)

  • @DipeshKumarYadavDKY
    @DipeshKumarYadavDKY 7 лет назад

    Great AWesome Bro to see you back.

  • @aeon327
    @aeon327 6 лет назад

    Great video! Very informative and helpful information.

  • @muktarali2842
    @muktarali2842 7 лет назад +12

    Very nice explanation. Please share more design/ system design topics. Thanks a lot.

  • @Cosciug1234
    @Cosciug1234 6 лет назад

    Like video a lot, hoping to see more service design videos in the future

  • @lavida6188
    @lavida6188 6 лет назад

    Very well explained, Tushar. Liked your presentation and the length of the video.

  • @sc1444
    @sc1444 6 лет назад

    @Tushar Roy - Thanks for such helpful videos. Please keep doing more...

  • @Abhimalviya
    @Abhimalviya 7 лет назад

    Thanks for coming back sir

  • @vitaminb4869
    @vitaminb4869 7 лет назад +341

    People (multiple people) spend days/weeks/months designing a scaleable system. Then comes some hot shot interviewer with all the right answers he found earlier from his google search, and then asks you to design a tinyurl system and expects you to spit it out in 24 minutes? Also consider the fact that his company has a product that is being used by only a few users, that a Windows 98 PC could happily support. Interviewers really need to get off their fucking clouds and stop searching for unicorns.

    • @tusharroy2525
      @tusharroy2525  7 лет назад +54

      lol

    • @ripplecutter233
      @ripplecutter233 6 лет назад +13

      Vitamin B goddamn tech interviews. (begrudgingly goes back to studying some obscure algorithm that some brilliant mind took ages to figure out)

    • @sohineebasak4644
      @sohineebasak4644 5 лет назад +1

      couldnt agree more

    • @gopala5334
      @gopala5334 4 года назад +1

      lol, exactly said. I was asked to design the same in 30 mins, that too over telephonic discussion. Great video, thanks to Tushar Roy.

    • @borhadesumit58
      @borhadesumit58 4 года назад +2

      I’ve exactly same view. People/scientists invest days, months or even years to come to solution and some stupid people expect to answer in 30 or 60 mins.

  • @yaminil3653
    @yaminil3653 6 лет назад

    Wonderful, Tushar! Lot of details ! So much passion!
    I'm becoming your fan !!

  • @vivekshah6452
    @vivekshah6452 6 лет назад

    Thanks Tushar your explanation was really simple and it did help me a lot to understand the topic well.

  • @LuveenWadhwani
    @LuveenWadhwani 2 года назад

    Ommggggg Tushar's first ever design video 😍😍😍

  • @yeniaraserol
    @yeniaraserol 6 лет назад

    The best system design video ever!

  • @angmathew4377
    @angmathew4377 5 лет назад

    great man a good way to unwrapped complexity.

  • @nands4410
    @nands4410 7 лет назад +5

    WoW You're Back!

  • @daspradeep
    @daspradeep 6 лет назад

    the best i have seen on this is to pre-generate the short urls and keep them ready. Have relational DB with failover (two or more DB servers) to hand over these keys (relational allows to implement locking). Hash Partition the read shards with consistent hashing. You have the full solution without any single point of failure or hot-spots.

  • @jineshdhruv6151
    @jineshdhruv6151 6 лет назад

    Thank you for awesome explanation. Please post more videos for design questions.

  • @zackhellripper
    @zackhellripper 5 лет назад +47

    Curious why you choose 43 bits, as you only actually need 42 bits to represent 3.5 trillion (max for 42 bits is 4.398 trillion). Is there a use for the extra bit I'm not seeing?

    • @rohanabhutkar
      @rohanabhutkar 5 лет назад +2

      Yes also since we have 7 char tiny url, and each char is 6 bits in base64, 42 bits is enough even if we use base64 encoding (a-z, A-Z, 0-9, _ , . )?

    • @adityasahai9020
      @adityasahai9020 5 лет назад +5

      @@rohanabhutkar he is using base62 because there are 62 unique chars.

    • @renurani3311
      @renurani3311 4 года назад +15

      2*42 = 4398046511104 = 4.3 * 10 * 12 = 4.3 Trillion.
      So, we only need 42 bits to represent 4.3 trillion numbers
      But these numbers also include negative numbers and we only need positive numbers (0 - 3.8 Trillion). So we will 43 bits and keep our MSB as 0 to make it a positive number.

    • @Shogoeu
      @Shogoeu 4 года назад

      @@renurani3311 or we can use unsigned data type and save 1 bit :D

    • @zhongyuanzhang5611
      @zhongyuanzhang5611 4 года назад

      @@renurani3311 ddkkokoi
      Iojkoiw e seeders (know((in(.m
      Mi

  • @renurani3311
    @renurani3311 4 года назад +17

    For people who are confused why do we need 43 bits:
    2**42 = 4398046511104 = 4.3 * 10 ** 12 = 4.3 Trillion.
    So, we only need 42 bits to represent 4.3 trillion numbers
    But these numbers also include negative numbers and we only need positive numbers (0 - 3.8 Trillion). So we will 43 bits and keep our MSB as 0 to make it a positive number.

    • @vipuljain9550
      @vipuljain9550 4 года назад

      However, Tushar says that 5 bits can be randomized, rather he should mention it as 4 bits, please correct me if am wrong.

    • @renurani3311
      @renurani3311 4 года назад

      @@vipuljain9550 Yes, that should be 4 as he needs first 7 bits to represent number 0 - 63 (MSB is always 0 because number is positive)

    • @lugesot
      @lugesot 4 года назад

      I just want to say, you are so gogerous.

    • @vishalmahavratayajula9658
      @vishalmahavratayajula9658 4 года назад

      Thank you. This saved my time

    • @TheProCion
      @TheProCion 4 года назад +2

      I don't think that this is correct. Just assume that the number is unsigned integer.

  • @akshaysuman8168
    @akshaysuman8168 6 лет назад +2

    Hi Tushar so good to see you back . Please upload more videos on system design

  • @warnercooler4488
    @warnercooler4488 2 года назад

    Thank you so much for this amazing content!

  • @cnu482
    @cnu482 5 лет назад

    amazing, i have been watching your videos..

  • @halum3
    @halum3 7 лет назад

    Awesome, learned some good design approach.
    Thanks

  • @AmreshTripathi
    @AmreshTripathi 3 года назад

    thanks for this, I was asked this in interview

  • @gkcs
    @gkcs 6 лет назад +53

    That's was enlightening, Tushar. What do you think about probabilistic data structures to generate the tinyUrl? Like the MD5 hash you mentioned, I think we could use Bloom Filters to tackle the problem too.

    • @gkcs
      @gkcs 6 лет назад +3

      Haha, yes I have become interested in bloom filters recently :)

    • @ryc8889
      @ryc8889 6 лет назад +3

      this was actually one of the things i thought of as well. I think a md5 hash might be too slow for an efficient bloom filter depending on the performance requirements but maybe it can be combined with the CDN idea. i was reading about bloom filters on wiki and there was an example about how akamai uses bloom filters in their webservers
      en.wikipedia.org/wiki/Bloom_filter#Examples

    • @thakur8711
      @thakur8711 6 лет назад +5

      Gaurav Sen, thanks for bringing up this point. I agree with you that we can use bloom filter to generate tinyURL.
      But there is a caveat. As far as I understand, bloom filter can help you to check if the hashOfBigURL(tinyURL) is already existing on the persistence layer or not. It will help us finding the existence of the tinyURL faster instead of going to the disk & finding it there. The remains part is how would you generate the hashOfBigURL(tinyURL) that remains not clear. Tushar have demonstrated those options to generate. Please correct me if there is any invalid statement I made.

    • @AmreshTripathi
      @AmreshTripathi 3 года назад +1

      My my we have a design principle celebrity here

    • @kavyashree513
      @kavyashree513 2 года назад

      0

  • @markusiak1
    @markusiak1 7 лет назад

    It was very nice explanation! :) I've listened with pleasure.

  • @joanazurundu5377
    @joanazurundu5377 Год назад

    I really learnt alot on this system design, good job

  • @ruhinapatel6530
    @ruhinapatel6530 5 лет назад +1

    Amazing video and explanation.. u got one more subscriber

  • @kingofwebguru
    @kingofwebguru 2 года назад

    @Tushar, thanks for the video. Please keep up the hard work.

  • @andrew5407
    @andrew5407 6 лет назад

    I wish I could like this video twice!

  • @vanshthukral5477
    @vanshthukral5477 7 месяцев назад

    Thanks for creating such amazing content!

  • @jamess5330
    @jamess5330 Год назад

    Impressive! It is also super helpful to practice with FAANG engineers at Meetapro through mock interviews

  • @soumyarooproy
    @soumyarooproy 6 лет назад +2

    @Tushar, thanks for the video. 12:15-13:55 is a very convoluted way of conveying that log2(62**7) bits are needed encode 62**7 values. Also, that evaluates to 42 and not 43. An oversight, I presume...

  • @boomer_money
    @boomer_money 4 года назад +8

    11:17 so let's say you make your GET request on a newly generated md5 tiny url and the first result's long url doesn't match the long url you just entered (i.e. that tiny url already exists). How do you generate a new tiny url such that if the same link is entered again you'll be able to find the same one? Bit shift and repeat?

  • @NiravPatel1989
    @NiravPatel1989 6 лет назад +1

    toooo goood. I think even the interviewer will also have to refer this as well. Hope to see more. :)

  • @doreentyy1936
    @doreentyy1936 3 года назад

    Very concise abd clear video.
    Easy to follow.

  • @yogeshmnit
    @yogeshmnit 7 лет назад +4

    Legend is back :)

  • @chenboxie6623
    @chenboxie6623 7 лет назад

    Thank you Tushar, vary helpful. Hoping you can post more design question videos. Thanks.

  • @otifelix
    @otifelix 6 лет назад

    Your videos are super educative thanks

  • @praveenchukka
    @praveenchukka 7 лет назад

    Thanks. I so needed this

  • @daydreameravani
    @daydreameravani 7 лет назад +3

    Welcome back!

  • @achyutakrishna
    @achyutakrishna 6 лет назад

    Dear Tushar, great topics and great details. One video on sms and email enrollment design pattern. Design options and best practices.

  • @SuperKako17
    @SuperKako17 4 года назад +2

    What is the advantage of the 3rd approach versus the 2nd? I fail to imagine a scenario in which it would be better suited than the second one, which I find elegantly simple.

  • @operakonggil
    @operakonggil 6 лет назад +1

    very enlighted video, thank you.
    I have a doubt: in Counter (2) All host method, why we need to add a timestamp into the bits, what about hostid(6bits)+random/increment bits(37bits)?

  • @SudiptaKarmakar87
    @SudiptaKarmakar87 7 лет назад +1

    Tushar, I thoroughly enjoy your design analysis. One suggestion though, it would be beneficial for the audience if, in the description, you directly linked any reference to the dependencies - concepts, articles etc (example, Apache Zookeeper) that you talk about in the video. Thanks and keep being awesome.

  • @dude80able
    @dude80able 6 лет назад

    Keep making videos like this. 👍

  • @misteralagiz4003
    @misteralagiz4003 6 лет назад

    awesome, mate!

  • @justjaks
    @justjaks 6 лет назад

    Tushar. I really missed you. Hope you can shed sometime in your busy schedule and create more videos like this

  • @pramodsingh4668
    @pramodsingh4668 6 лет назад

    The best explanation.

  • @aoi9716
    @aoi9716 7 лет назад

    Your video is super helpful!!!

  • @sin78000000
    @sin78000000 2 года назад

    Perfect concise Solution. Thanks for it :)

  • @xuebinzhang1980
    @xuebinzhang1980 7 лет назад

    Welcome back Tushar

  • @jq6858
    @jq6858 7 лет назад

    Hope more leetcode problems, OOD problems and more other interview questions!

  • @melarryify
    @melarryify 5 лет назад +4

    Instead of base 62 we can use base 64.Just need to add 2 more characters. Underscore and dash(_-) can be added to 62 characters we have. This makes its easier to convert a MD5 output to a 7 character printable string as you can convert blocks of 6 bits directly to base64 character. Even this RUclips link uses underscore to represent url of this video !!!

  • @manimaaji
    @manimaaji 6 лет назад +10

    Hi Tushar, Awesome video and thanks for the same. The only minor observation I have is that 3.5 Trillion translates to a 2^42=4,398,046,511, 104 i.e. 4.3 Trillion. So we should be using 42 bits instead of 43 bits from the 128 Bit MD5 Hash ? 43 bits translates to 2^43 = 8,796,093,022,208 i.e. 8.7 Trillion.

    • @osrax
      @osrax 5 лет назад +3

      this is correct, I observed that as well. log(2) of 62^7 = 42

  • @revanthkumar1183
    @revanthkumar1183 6 лет назад +10

    I think it is supposed to be 42 bits not 43. If you think about it, your language has 62 chars and to uniquely identify each char you need 6 bits. because 2^6 is 64. Then you can map 000000 to a, 000001 to b and so on till 9. So in a 7 character string each character will need 6 bits and 7*6 is 42. So you will have to save 42 bits in your DB and when you get it back from your DB, you have to use the same mapper and get back the characters. Hope that clears out the doubt around 42 and 43 bits.

    • @kingofwebguru
      @kingofwebguru 2 года назад +1

      @Revanth Kumar Thanks for the clarification. I was thinking why it is an odd number (43).

    • @nrjdalal
      @nrjdalal 7 месяцев назад

      I have built one too rdt-li an open source free url shortener with built in analytics, check it out

  • @navroze92
    @navroze92 6 лет назад

    Could you please tech more system design questions. Your architecture's is really well thought through

  • @BestURLShortenerBioPageQRCode
    @BestURLShortenerBioPageQRCode 9 месяцев назад +1

    Thanks Tushar, Glad to have you here.

  • @visintel
    @visintel 4 года назад

    This is a great video for people who are trying to learn system design. Not so great for people prepping for an interview

  • @yuzhou1
    @yuzhou1 5 лет назад

    More of these videos please :)

  • @sweetmoment8196
    @sweetmoment8196 4 года назад

    I really liked the idea behind the zookeeper

  • @kant.shashi
    @kant.shashi 7 лет назад

    thanks boss ..you helped me understand how to approach such problems ..

  • @AnuragSharma-kb9pc
    @AnuragSharma-kb9pc 4 года назад

    I think you should make more design videos, subscribers are waiting for it

  • @vinodbhai3485
    @vinodbhai3485 6 лет назад

    Great Buddy !!!

  • @rplusgdj
    @rplusgdj 6 лет назад +11

    16:36 , can we reduce collisions by considering timestamp along with milliseconds?

    • @Himanshu-ed3mf
      @Himanshu-ed3mf 4 года назад +5

      but that would increase the bits needed for the timestamp. from 32 to 48.

  • @vinnieworks1854
    @vinnieworks1854 7 лет назад

    please make more of those videos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! You are awesome!

  • @liuhongqian
    @liuhongqian 4 года назад +2

    I remember timestamp is 64 bites(8 bytes). "The internal representation of a timestamp is a string of 7 - 13 bytes. Each byte consists of 2 packed decimal digits. The first 4 bytes represent the date, the next 3 bytes the time, and the last 0 - 6 bytes the fractions of a second"

    • @saam6348
      @saam6348 2 года назад +1

      With year 2038 problem, a 32-bit can represent Unix time. But it will end after the completion of 2,147,483,647 (2^31 - 1) seconds from the beginning (00:00:00 1 January 1970), i.e., on 19 January, 2038 03:14:08 GMT.

    • @liuhongqian
      @liuhongqian 2 года назад

      @@saam6348 I would be more than 70 years old by then LOL

  • @mtareen
    @mtareen 6 лет назад +6

    Instead of covering how we will design starting from what we will ask the interviewer to creating high level design and then scaling that solution and so on and so forth, the presenter is going to detailed into how we will generate the tiny url etc. I would recommend looking at this for a good example of how to design tiny url
    www.hiredintech.com/classrooms/system-design/lesson/52

  • @sushantsharmapec
    @sushantsharmapec 6 лет назад +1

    Great Video. Can you talk about the retrieval part? Specially given a long url, see if we already have a url for it and give that back.

  • @rajatpawar9465
    @rajatpawar9465 7 лет назад +1

    Hey Tushar, thank you very much for sharing your knowledge. I'd like to request a discussion on how media (images & videos) is managed by big companies (youtube, imgur, etc) and how it is organized. Thanks!

    • @83rossb
      @83rossb 6 лет назад

      look up content delivery networks (CDNs) and consistent hashing

  • @HariYT09
    @HariYT09 6 лет назад

    Hi Tushar that's a detailed and nice video. Thanks so much. Can you please post a video on 1.design of distributed cache of strings to reduce server hits. 2. Design of a memory allocator+garbage collector

  • @zishanshaikh3068
    @zishanshaikh3068 4 года назад

    Great work.. please make more design videos

  • @alekseyt4029
    @alekseyt4029 7 лет назад +1

    To support ranges we created service that just give your process some range (x to x+100000) and increment counter in DB. It is guarantee the everyone is completely unique and that service is not heavily loaded

    • @tusharroy2525
      @tusharroy2525  6 лет назад

      +Aleksey Telyshev fair enough. That should work

  • @saurabhchoudhary9260
    @saurabhchoudhary9260 6 лет назад

    We miss u!!!. Please come up with more design videos.

    • @tusharroy2525
      @tusharroy2525  6 лет назад

      +Saurabh Choudhary added 2 more videos in case you did not check them yet.

  • @satyamchaudhary50
    @satyamchaudhary50 6 лет назад

    Hi Tushar, You are awesome..... I think random number generation algorithm would be the more helpful topic. Thank you

  • @farzamghanbarnezhad
    @farzamghanbarnezhad 6 лет назад

    Perfect explanation. Thank you for your time and efforts. I really appreciate it if you can share your solution for "finding median in very large randomly distributed system?" (load on each system is known but not equal and numbers are not sorted and unique"
    Thank you again.

  • @sunilsodah2884
    @sunilsodah2884 4 года назад

    Nicely done.