Distributed Sorting - Google Interview Question - Algorithm & System Design - Full 2 Hour Interview

  Рет қаралды 10,123

QuanticDev

QuanticDev

Күн бұрын

Пікірлер: 32
@QuanticDev
@QuanticDev 4 жыл бұрын
I will publish my free courses on more advanced topics on quanticdev.com soon. Check them out when I publish them. I greatly appreciate any feedback. Edit: I realized that I failed to mention inter-node communication. A message queue like RabbitMQ or even better, streaming message passing software like Apache Kafka would fit into our use case very well. They both have options for high-availability and message persistence. Hence we can sacrifice 3-4 nodes to be our dedicated message queue handlers.
@RAHULSINGH-zg9hp
@RAHULSINGH-zg9hp 3 жыл бұрын
Kafka would be a better option since it gives default storage of 7 days which can be tuned as well
@QuanticDev
@QuanticDev 3 жыл бұрын
@@RAHULSINGH-zg9hp I agree. It's more work but is a better long-term solution.
@svenschmidt1735
@svenschmidt1735 4 жыл бұрын
Thanks for the video, definitely dense with lots of important information. I didn't get the distributed partitioning with 1000 value ranges at all, so a follow-up on d.p. would be greatly appreciated. Thumbs up
@QuanticDev
@QuanticDev 4 жыл бұрын
Yes I skimmed through it to keep the vid short. I will prepare an animated vid for it as it is best explained visually.
@ShubhamSingh-ku2ow
@ShubhamSingh-ku2ow 3 жыл бұрын
Amazing content!! Thanks for bringing such high quality material. Looking forward to many more like this!!
@sangrammallick3304
@sangrammallick3304 4 жыл бұрын
Awesome videos..will be waiting for more. Wish I had option to add more likes
@lidajones6983
@lidajones6983 3 жыл бұрын
Awesome content and explanation
@SergeyZarin
@SergeyZarin 3 жыл бұрын
great lesson!
@hannnah689
@hannnah689 3 жыл бұрын
Thanks for the vid, super useful!
@TopToBottom25
@TopToBottom25 3 жыл бұрын
Good one
@ducatidiavel4021
@ducatidiavel4021 4 жыл бұрын
Do the remaining 997 nodes read data packets from the database in parallel ? How do you ensure that each of those 997 nodes read their segment of the data correctly? Or do the control group issue these triggers sequentially ? I'm asking this cos assume the control group issued parallel triggers with exactly some way mentioning which segment of the data that specific node must read, what happens when it results in a read failure or the Node goes down at the time of the read. Do you receive some form of acknowlegement from the node ? Very nice video btw. Your videos are amazing. Its a wealth of info.
@QuanticDev
@QuanticDev 4 жыл бұрын
Good point. They would read the data in parallel to keep things simple. In this case, just checking for heartbeat is not enough. The nodes must acknowledge the successful read. Otherwise controller group can handle that node as a failed one, and redistribute its range to all other nodes as usual. I didn't think of read failures. There are probably many other smaller things that I failed to think about. I'll add them to the article version of this video when I finish it. Thanks for bringing it up!
@ducatidiavel4021
@ducatidiavel4021 4 жыл бұрын
@@QuanticDev Thanks for explaining this :)
@akashagarwal6390
@akashagarwal6390 10 ай бұрын
why not thinking of external merge sort in the first part?
@lquixada
@lquixada 3 жыл бұрын
great content indeed! it's hard to find video explaining how to scale algorithms with multiple machines. Do you know any other good resources to find content like this one?
@QuanticDev
@QuanticDev 3 жыл бұрын
I'm yet to come across even a single video like this one that is complete with the code, implementations, and animated descriptions. Mostly what I find is generic whiteboard systems design stuff, which is probably sufficient if you never actually do design but only acquire partial information as interview prep.
@lquixada
@lquixada 3 жыл бұрын
@@QuanticDev thanks for the quick response. Is there any good sites, repos or books that you would recommend?
@QuanticDev
@QuanticDev 3 жыл бұрын
@@lquixada "Designing Data-Intensive Applications" is the holy grail of all systems design books. The systems design section on the "Elements of Programming Interviews" is also pretty good, if you just want to learn stuff as an interview prep.
@SiddharthKulkarniN
@SiddharthKulkarniN 4 жыл бұрын
This video is very interesting. Have a like and a Sub.
@QuanticDev
@QuanticDev 4 жыл бұрын
My pleasure.
@大盗江南
@大盗江南 3 жыл бұрын
Thanks so much, buddy.......senior level interview, what does this mean , how many years of experience is considered as senior ? i am gonna do a sde 2 interview. i really hope that for system design question won't be so hard.. could u please give me any suggestion plz ? Thank u in advance.
@QuanticDev
@QuanticDev 3 жыл бұрын
I can't define seniority by years but if you are going for sde 2, solving the ever generic systems design questions should suffice (design a tinyurl clone, etc.). I don't actually know a great YTer with great resources on systems design actually. If you find any, let me know so I can recommend in the future.
@大盗江南
@大盗江南 3 жыл бұрын
@@QuanticDev there is an Indian guy making great video called Gaurav sen 😊
@大盗江南
@大盗江南 3 жыл бұрын
@@QuanticDev thank you buddy 🎊
@QuanticDev
@QuanticDev 3 жыл бұрын
@@大盗江南 my pleasure
@QuanticDev
@QuanticDev 3 жыл бұрын
@@大盗江南 I'll check his channel out. Thanks.
@franzweitkamp
@franzweitkamp 4 жыл бұрын
Additional question I would ask: When can I start
@QuanticDev
@QuanticDev 4 жыл бұрын
If you can get 3 quarters of this interview right, I would directly say "as it suits you".
System Design Interview - Top K Problem (Heavy Hitters)
36:18
System Design Interview
Рет қаралды 384 М.
Google Systems Design Interview With An Ex-Googler
59:59
Clément Mihailescu
Рет қаралды 772 М.
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Kadane's Algorithm and Its Proof - Max/Min Sum Subarray Problem
19:14
System Design Interview - Distributed Cache
34:34
System Design Interview
Рет қаралды 381 М.
Google I/O 2012 - Go Concurrency Patterns
51:27
Google for Developers
Рет қаралды 826 М.
Sliding Window Technique + 4 Questions - Algorithms
27:25
QuanticDev
Рет қаралды 131 М.
What P vs NP is actually about
17:58
Polylog
Рет қаралды 148 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 234 М.
Visualizing transformers and attention | Talk for TNG Big Tech Day '24
57:45
Google Maps System Design Interview Question
1:01:07
codeKarle
Рет қаралды 167 М.
System Design Mock Interview: Design TikTok ft. Google TPM
33:11
System Design Interview - Rate Limiting (local and distributed)
34:36
System Design Interview
Рет қаралды 310 М.