The Tech Granth

The Tech Granth

The Tech Granth is your ultimate destination for expert tutorials on distributed system design and data structures. Dive into the fascinating world of distributed systems as we explore topics like microservices architecture, scalability, fault tolerance, and event-driven design. Gain in-depth knowledge of data structures through comprehensive tutorials covering binary trees, linked lists, hash tables, and more. Our channel offers clear explanations, practical examples, and valuable insights to help you master these complex concepts. Join our community of tech enthusiasts and level up your skills with The Tech Granth's engaging tutorials on distributed system design and data structures.

grokking the system design interview (both high level system design and low level system design)
leetcode problems and solutions

Do like share and subscribe to the channel, that really motivates :)
Put your thoughts in the comment section, will revert ASAP

Пікірлер

  • @PraneethV-yz1kx
    @PraneethV-yz1kx4 сағат бұрын

    Hi, Great video. Can you also make a video on how to do data modelling? In an interview, I was asked to write/draw data modelling for a scenaro and I'm not sure how to proceed.

  • @PraneethV-yz1kx
    @PraneethV-yz1kx4 сағат бұрын

    Hi, So the rate limiter limits the requests per server/service or per user or it can be both?

  • @tusharbaheti1648
    @tusharbaheti16489 күн бұрын

    but in functional how are you writing consistency and availability together ?

  • @user-om2mt9og1f
    @user-om2mt9og1f14 күн бұрын

    👍

  • @himeshgupta6478
    @himeshgupta647816 күн бұрын

    hi sir, what do you mean by distributed storage ? you are saying that its present in Europe but if its distributed then its present everywhere. why we require cdn 's then

  • @sirishagch
    @sirishagch17 күн бұрын

    Thankyou. It is detailed. How the user session will be maintained in this process?

  • @manjuiyli2904
    @manjuiyli290419 күн бұрын

    I got same question in NI LLD interview

  • @shuvbhowmickbestin
    @shuvbhowmickbestin19 күн бұрын

    Could've refactored the if-else cascading at 15:03, the logic looks very reduandant at places. You could've done teh nextposition[0] == nextcell check once after checking for both the ladders and snaked. If (nextposition[0] > nextcell) {// ladder} else {// snake bit}

  • @ShekharKumar8034
    @ShekharKumar803420 күн бұрын

    Hey man great video and thanks for explaining Instagram design in simple terms. Just one small suggestion: In the ending section of the video, it would be super helpful if you can also show the final architecture diagram to grasp the full picture once again, just like we do on the whiteboard when we are done providing the solution :)

  • @androiddeveloperlpu301
    @androiddeveloperlpu301Ай бұрын

    Solution: class Solution { public boolean isNStraightHand(int[] hand, int groupSize) { if(hand.length % groupSize !=0){ return false; } PriorityQueue<Integer> pq=new PriorityQueue<>(); for(int i=0;i<hand.length;i++){ pq.add(hand[i]); } while(!pq.isEmpty()){ int smallest=pq.poll(); for(int i=1;i<groupSize;i++){ if(pq.remove(smallest+i)){ continue; } else{ return false; } } } return true; } }

  • @KILZSNIPPET
    @KILZSNIPPETАй бұрын

    You change lot of things to make the error right and you didnt even borther to tell me.

  • @rahulg
    @rahulgАй бұрын

    the explanation is good but consistency and availability are 2 conflicting goals. most distributed systems must be designed with partition tolerance as a non-negotiable requirement. This means that during network partitions, the system must continue to operate and serve requests to the best of its ability, even if this results in temporary inconsistencies or reduced availability.

  • @aditigupta6870
    @aditigupta6870Ай бұрын

    No dry runs no intuition direcly writing code

  • @AdityaKumar-ho8pm
    @AdityaKumar-ho8pmАй бұрын

    Can you tell me which coding and code stack is best for NBFC/ Bank EMI transaction? And what is the future possibility like AI?

  • @priyankanagpal2207
    @priyankanagpal2207Ай бұрын

    Good videos, but didnt get the last part where instead of super.clone() you are suggesting cloning the method. Can you please elaborate?

  • @thesatsuha
    @thesatsuhaАй бұрын

    How to do the same one in c

  • @RaphaelSousa-or1dl
    @RaphaelSousa-or1dlАй бұрын

    If Payment Ingestion and Payment Processor services are two different microservices, shouldn't they have acess to different databases? The way you described they're using the same database, is that right?

  • @himeshgupta6478
    @himeshgupta6478Ай бұрын

    SSL full form please @techgranth

  • @SandeepKumar-ix1cv
    @SandeepKumar-ix1cvАй бұрын

    right -left-1 what is that please explain

  • @GoodLuck-dv2zu
    @GoodLuck-dv2zu2 ай бұрын

    I think scan pay should be in the ExitPanel instance. Also generating tickets and finding available spots should be inside the EntryPanel class

  • @shivag257
    @shivag2572 ай бұрын

    Nice explanation. What I did was instead of performing any lock on DB I kept the locking data at cache level so to have less updates on DB while my DB acted as source of truth for currently available seats. First call goes to DB fetch all the available seats then read cache and filters (remove) the booking in progress seats. When user tries to perform the payment a) it blocks the seat by adding the detail in the cache with some TTL b) it again verifies if that seat is available or not by calling cache. By this I tried saving my system from calling DB which have latency in order of ms while created dependency on cache having latency in order of ns. Though questions might pop up on a) distributed cache handling in this case, b) when should we put lock - when user clicks book now or when user clicks pay now. c) other bottlenecks related to system or user experience

  • @thelifehackerpro9943
    @thelifehackerpro99432 ай бұрын

    but in actuall logger, you set the logging level first and based on that level specific data is displayed

  • @saravanasai2391
    @saravanasai23912 ай бұрын

    That is a great explanation. But, How will you handle the user viewed feed/post. If user is scrolling the feed fast.We need to track that user view this post.So, we don;t show the same post/feed again.

  • @poorti2188
    @poorti21882 ай бұрын

    Explained in simple way with indepth knowledge.. only failed transaction topic couldn't understood in technical terms API and DB impact..

  • @thealgomasters
    @thealgomasters2 ай бұрын

    Explained in very detail, covers every aspect.

  • @shreddedvarun
    @shreddedvarun2 ай бұрын

    I have seen many instagram design videos, this one is better than others

  • @gauravsingla6444
    @gauravsingla6444Ай бұрын

    I see the same comment under every other video.😂

  • @himeshgupta6478
    @himeshgupta64782 ай бұрын

    What is SSL?

  • @megansteven7688
    @megansteven76882 ай бұрын

    i think there is some mistake in generating diceRoll (((int)( Math.random() * 6*2 - 2)) + 1); if numberOfDice = 2, then 12-2 = 10 + 1 = 11 we never achieve 12. Edit: Instead we can use this (((int)( Math.random() * 6*numberOfDice)) + 1), correct me if i am wrong.

  • @ayushigupta685
    @ayushigupta685Ай бұрын

    but it will reach 13 then?

  • @megansteven7688
    @megansteven7688Ай бұрын

    @@ayushigupta685 i tried but didn't got 13, can you try once.

  • @palakgupta728
    @palakgupta728Ай бұрын

    Math.random has a syntax of int rand = (int)(Math.random() * range) + min; So i guess it should be (int)(Math.random() * 6*numberOfDice) + 2; Because we can never get 1 Correct me if I am wrong

  • @harshitgarg8008
    @harshitgarg80082 ай бұрын

    30:29-36:00

  • @sunny0287
    @sunny02872 ай бұрын

    How the Url Shortner service will save the space in this case for photos ??

  • @rupasajan6588
    @rupasajan65882 ай бұрын

    🎉 0:23

  • @mr.6889
    @mr.68893 ай бұрын

    two questions: 1) why not using some other cache service separately for celebs? 2) why not storing the count of likes in post tables and separate like on other tables so when user will like it will increament the like in post table also insert like in like table!

  • @shilpamaryjose8169
    @shilpamaryjose81693 ай бұрын

    Thanks for the details. Just one correction though - It would be the "Interoperability domain" and not "Interportability domain".

  • @namnguyen-kc4kp
    @namnguyen-kc4kp3 ай бұрын

    Too many ads

  • @namnguyen-kc4kp
    @namnguyen-kc4kp3 ай бұрын

    At kzread.info/dash/bejne/gKyeqaiCl6mpkso.html, "Consistency and availability should be chosen over partition tolerance". The video creator is referring to the famous CAP theorem, but he understands it in the wrong way. The CAP theorem states that a system can only have 2 over 3 properties: Consistency, Availability, and Network partition tolerance. And the creator is saying that we should prioritize CA over P. In reality, network partitions in distributed system is unavoidable, making partition tolerance (P) a necessary consideration. Therefore, we can only choose either consistency or availability (CP or AP), but CA is impractical.

  • @Krishnaspiritualplanet
    @Krishnaspiritualplanet3 ай бұрын

    Very good

  • @royalmech14
    @royalmech143 ай бұрын

    Good stuffs. Amazon hiring team refers your playlist for preparation 🎉

  • @TheTechGranth
    @TheTechGranth3 ай бұрын

    All the best!!!

  • @songs123d
    @songs123d3 ай бұрын

    Awesome content.

  • @kobew1351
    @kobew13513 ай бұрын

    i prefer using a buffered file locally with a log collection agent. So that the main service threads are not blocked. Sending a log doesn't need 100% reliability anyway.

  • @himeshgupta6478
    @himeshgupta64783 ай бұрын

    Hi sir, so in the token bucket algo and sliding window algo there is only difference in the structure of how we are storing data, in sliding window we store the time stamps also, as per the logic explained in the token bucket, is that right?? Pls confirm sir

  • @CharityChemutai-bf5kc
    @CharityChemutai-bf5kc3 ай бұрын

    Nice video thanks sir✊✊✊

  • @msingla135
    @msingla1353 ай бұрын

    I feel this is a better way of implementing the refresh method: private void refresh(long currTimeInSec) { long cutoffTime = currTimeInSec - windowInSecs; while(!window.isEmpty() && window.peek() < cutoffTime) window.poll(); }

  • @writetogupta
    @writetogupta4 ай бұрын

    ISO8583 is outdated. Currently, we are using XML based ISO20022

  • @aditigupta6870
    @aditigupta68704 ай бұрын

    How do we ensure practically that few instances of a service are for writing and few instances are for reading

  • @aditigupta6870
    @aditigupta68704 ай бұрын

    In the post table, you mentioned sir that photoURL will be the path to photo in S3, but a single post will have mulitple pics/videos each of which will have unique photoURL from S3 na?

  • @aditigupta6870
    @aditigupta68704 ай бұрын

    Hi sir @10:33, what will happen in case the lady has taken away less than 5 balls in the latest minute, lets say 3 still in bucket and she took 2, then at the end of minute pipe too will add 5 balls, so there will be 5+3 total in bucket right?

  • @TheTechGranth
    @TheTechGranth4 ай бұрын

    At max there has to be 5 balls

  • @phanuwatwattanapraya7998
    @phanuwatwattanapraya79984 ай бұрын

    Very informative

  • @aakashmendiratta8158
    @aakashmendiratta81584 ай бұрын

    Hey, one question, I believe there should be only one service that interacts with the DB, if you have two components writing to the DB, it will not centralise the logic in one place. So what i mean is to expose the database via apis. Let me know your thoughts on this.

  • @mahahrishi
    @mahahrishi4 ай бұрын

    Bro but in real Book my show does not have the movie or theatre db . In real it should be an external real time feed from different cinima operators and the real challenge is to book and provide status in real time with third party data.. because other platforms are also using same data and punching booking orders to theatre database. I am not sure how to handle that. Is it simple poling or these platforms have did hard integration where these cinimas or theater push the data in message queues and book my show and paytm like players are on consumer side..

  • @manojkr2362
    @manojkr23624 ай бұрын

    i am unable to understand the code . what should i do now .help me give any other resource to understand the basic level of low level design