Тёмный
The Tech Granth
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-yz1kx 2 дня назад
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-yz1kx 2 дня назад
Hi, So the rate limiter limits the requests per server/service or per user or it can be both?
@tusharbaheti1648
@tusharbaheti1648 11 дней назад
but in functional how are you writing consistency and availability together ?
@user-om2mt9og1f
@user-om2mt9og1f 16 дней назад
👍
@himeshgupta6478
@himeshgupta6478 18 дней назад
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
@sirishagch 19 дней назад
Thankyou. It is detailed. How the user session will be maintained in this process?
@manjuiyli2904
@manjuiyli2904 21 день назад
I got same question in NI LLD interview
@shuvbhowmickbestin
@shuvbhowmickbestin 21 день назад
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
@ShekharKumar8034 23 дня назад
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 2 месяца назад
SSL full form please @techgranth
@SandeepKumar-ix1cv
@SandeepKumar-ix1cv 2 месяца назад
right -left-1 what is that please explain
@GoodLuck-dv2zu
@GoodLuck-dv2zu 2 месяца назад
I think scan pay should be in the ExitPanel instance. Also generating tickets and finding available spots should be inside the EntryPanel class
@shivag257
@shivag257 2 месяца назад
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
@thelifehackerpro9943 2 месяца назад
but in actuall logger, you set the logging level first and based on that level specific data is displayed
@saravanasai2391
@saravanasai2391 2 месяца назад
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
@poorti2188 2 месяца назад
Explained in simple way with indepth knowledge.. only failed transaction topic couldn't understood in technical terms API and DB impact..
@thealgomasters
@thealgomasters 2 месяца назад
Explained in very detail, covers every aspect.
@shreddedvarun
@shreddedvarun 2 месяца назад
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
@himeshgupta6478 2 месяца назад
What is SSL?
@megansteven7688
@megansteven7688 2 месяца назад
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
@harshitgarg8008 2 месяца назад
30:29-36:00
@sunny0287
@sunny0287 3 месяца назад
How the Url Shortner service will save the space in this case for photos ??
@rupasajan6588
@rupasajan6588 3 месяца назад
🎉 0:23
@mr.6889
@mr.6889 3 месяца назад
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
@shilpamaryjose8169 3 месяца назад
Thanks for the details. Just one correction though - It would be the "Interoperability domain" and not "Interportability domain".
@namnguyen-kc4kp
@namnguyen-kc4kp 3 месяца назад
Too many ads
@namnguyen-kc4kp
@namnguyen-kc4kp 3 месяца назад
At ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-NxjGFIgFCbg.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
@Krishnaspiritualplanet 3 месяца назад
Very good
@royalmech14
@royalmech14 3 месяца назад
Good stuffs. Amazon hiring team refers your playlist for preparation 🎉
@TheTechGranth
@TheTechGranth 3 месяца назад
All the best!!!
@songs123d
@songs123d 3 месяца назад
Awesome content.
@kobew1351
@kobew1351 3 месяца назад
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
@himeshgupta6478 3 месяца назад
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-bf5kc 3 месяца назад
Nice video thanks sir✊✊✊
@msingla135
@msingla135 4 месяца назад
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
@writetogupta 4 месяца назад
ISO8583 is outdated. Currently, we are using XML based ISO20022
@aditigupta6870
@aditigupta6870 4 месяца назад
How do we ensure practically that few instances of a service are for writing and few instances are for reading
@aditigupta6870
@aditigupta6870 4 месяца назад
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
@aditigupta6870 4 месяца назад
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
@TheTechGranth 4 месяца назад
At max there has to be 5 balls
@phanuwatwattanapraya7998
@phanuwatwattanapraya7998 4 месяца назад
Very informative
@aakashmendiratta8158
@aakashmendiratta8158 4 месяца назад
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
@mahahrishi 4 месяца назад
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
@manojkr2362 4 месяца назад
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