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
Пікірлер
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.
Hi, So the rate limiter limits the requests per server/service or per user or it can be both?
but in functional how are you writing consistency and availability together ?
👍
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
Thankyou. It is detailed. How the user session will be maintained in this process?
I got same question in NI LLD interview
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}
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 :)
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; } }
You change lot of things to make the error right and you didnt even borther to tell me.
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.
No dry runs no intuition direcly writing code
Can you tell me which coding and code stack is best for NBFC/ Bank EMI transaction? And what is the future possibility like AI?
Good videos, but didnt get the last part where instead of super.clone() you are suggesting cloning the method. Can you please elaborate?
How to do the same one in c
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?
SSL full form please @techgranth
right -left-1 what is that please explain
I think scan pay should be in the ExitPanel instance. Also generating tickets and finding available spots should be inside the EntryPanel class
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
but in actuall logger, you set the logging level first and based on that level specific data is displayed
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.
Explained in simple way with indepth knowledge.. only failed transaction topic couldn't understood in technical terms API and DB impact..
Explained in very detail, covers every aspect.
I have seen many instagram design videos, this one is better than others
I see the same comment under every other video.😂
What is SSL?
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.
but it will reach 13 then?
@@ayushigupta685 i tried but didn't got 13, can you try once.
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
30:29-36:00
How the Url Shortner service will save the space in this case for photos ??
🎉 0:23
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!
Thanks for the details. Just one correction though - It would be the "Interoperability domain" and not "Interportability domain".
Too many ads
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.
Very good
Good stuffs. Amazon hiring team refers your playlist for preparation 🎉
All the best!!!
Awesome content.
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.
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
Nice video thanks sir✊✊✊
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(); }
ISO8583 is outdated. Currently, we are using XML based ISO20022
How do we ensure practically that few instances of a service are for writing and few instances are for reading
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?
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?
At max there has to be 5 balls
Very informative
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.
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..
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