FAANG System Design Interview: Design A Location Based Service (Yelp, Google Places)

  Рет қаралды 396,110

ByteByteGo

ByteByteGo

Жыл бұрын

Weekly system design newsletter: bit.ly/3tfAlYD
Checkout our bestselling System Design Interview books:
Volume 1: amzn.to/3Ou7gkd
Volume 2: amzn.to/3HqGozy
Other things we made:
Digital version of System Design Interview books: bit.ly/3mlDSk9
Twitter: bit.ly/3HqEz5G
LinkedIn: bit.ly/39h22JK
ABOUT US:
Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

Пікірлер: 383
@ByteByteGo
@ByteByteGo Жыл бұрын
Corrections: In the geohash length to grid size mapping table at 15:30 and 20:01, the correct values for 7, 8, 9 and 10 are: 7 152.9m × 152.4m 8 38.2m × 19m 9 4.8m × 4.8m 10 1.2m × 59.5cm
@RahulSingh-ln7bg
@RahulSingh-ln7bg Жыл бұрын
Hi Alex, I think you need to correct the definition, at 14:00 onwards you are talking about quadtree, not Geohash, Geohash divides the grid initially into 32 smaller grids since the base here is 32. You may like to correct it.
@aaditkamat4995
@aaditkamat4995 Жыл бұрын
No wonder, that is why I was thinking why the values are considered too small when in fact they are in the ballpark of 4, 5, 6.
@kalmyk
@kalmyk Жыл бұрын
Yeah, that was confusing I had to double check
@Penly11
@Penly11 3 ай бұрын
In the video Sahn says that a database in the terabyte range is on the borderline where sharding might make sense. He also says that our read qps of 5,000 is quite high. I was wondering how he came to these conclusions and if there are specific numbers he looks for to determine if a number is high enough to warrant a design change?
@user-ud8hw4gp6t
@user-ud8hw4gp6t 2 ай бұрын
even though its quite some time since i dealed with geoinformatics, i think you orgot/mixed up some points here. first of all: how do we retrieve the data and how is it stored? when it comes to osm you can get the data in a lot of diferent ways, but you always end up in using quadtree/knearest/bruteforce, but that leads us to the next question: are the searchalgos clientside? and if not, why dont we replace those searchalgos alltogether by storing data in a different way? third: what kind of transformation are we using here? most likely datums i guess, but using the one with the letters in the rows, would make the answer go in a complete different way, than equatorial and easting, or datums without eastings
@zachgoll
@zachgoll Жыл бұрын
Hey KZbin algorithm, if you’re reading this, I just want to say, this is the type of video you should be recommending to software people. K thanks
@lunaxquinn
@lunaxquinn Ай бұрын
bleep bloop 🥺
@jpsytaccount
@jpsytaccount Ай бұрын
It worked
@prashanttoxeed
@prashanttoxeed Жыл бұрын
Best design video ever. I am so happy that Alex decided to make videos.
@ratanlambha2602
@ratanlambha2602 Жыл бұрын
Alex sir *
@prashanttoxeed
@prashanttoxeed Жыл бұрын
@@ratanlambha2602 😒
@Bluesmansrv2
@Bluesmansrv2 Жыл бұрын
Amen
@malborboss
@malborboss Жыл бұрын
I dont think that this guys name is Alex tho
@pramodpotdar5416
@pramodpotdar5416 Жыл бұрын
this video is a FLOW. Could not stop watching... Beautiful animation and narration. Perfect
@miale3593
@miale3593 Жыл бұрын
So much effort spent in how to make this video so informative, well structured, precisely explained and amazingly illustrated. Thank you for sharing this with us!
@pizzatime9565
@pizzatime9565 9 ай бұрын
We need more full system design videos like this one from you!
@kakanishrikant
@kakanishrikant Жыл бұрын
This is by far the BEST VIDEO on questions like "Design Yelp". Pure Gold !! Thanks, Alex, and ByteByteGo team for your outstanding work.
@tommylongpham3889
@tommylongpham3889 Жыл бұрын
I just started reading volume 2 of System Design Interview and I'm really enjoying the content so far. Even more so when I realized you created videos to further solidify the readings! Keep them coming!
@bkswain101
@bkswain101 Жыл бұрын
I have been following a number of channels related to system design in last few months. While many of them are brilliant, Sahn has a very unique and effective way of communicating complex technical topics. Thanks Sahn and team for this content. Hope to see more of these.
@TheMeanmachine1989
@TheMeanmachine1989 Жыл бұрын
Thank you so much for starting to make these videos. Your step by step approach is so clear and crisp. Best System Design material ever!!!
@user-yr1uq1qe6y
@user-yr1uq1qe6y Жыл бұрын
In early 2000s we designed such a system for a popular real estate site very similar. We thought we had nailed the algorithm, but started getting complaints from agents and consumers. It turns out in that domain “distance” is almost always driving distance which is an entirely different problem and was much more complex in the days before quick road route planning 😀
@kumarsamaksha7207
@kumarsamaksha7207 Жыл бұрын
Damn where do you work now?
@user-yr1uq1qe6y
@user-yr1uq1qe6y Жыл бұрын
@@kumarsamaksha7207 Nothing real estate related since 2008!
@kumarsamaksha7207
@kumarsamaksha7207 Жыл бұрын
@@user-yr1uq1qe6y Cool
@ivanleon6164
@ivanleon6164 Жыл бұрын
i think then you can increase the radius by a % and do a new query of driving distance on that reducer set and rearrange.
@riahmatic
@riahmatic Жыл бұрын
literally the traveling salesman problem :p
@arpanghoshal2579
@arpanghoshal2579 Жыл бұрын
By far the best system design channel ever. Crisp presentation and fluid animations to easily showcase complex topics in a simple manner.
@geeklogbook
@geeklogbook Жыл бұрын
This video should be taught at universities and bootcamps. Not only for the interesting topic but also to learn how to think about this kind of problem and system design in general. Thank you!
@vskovzgird
@vskovzgird Жыл бұрын
Hey, Alex. I learn x100 times more from this video than from my past year in IT. Totally awesome content!
@parthasarma9157
@parthasarma9157 Жыл бұрын
he is sahn lam
@petelin3181
@petelin3181 Жыл бұрын
This is an awesome video. I liked how you were able to break down complex concepts so that even beginners could understood them at a high level. Was able to learn a lot under half an hour about the complete picture of system design
@TheTacoReview
@TheTacoReview 4 ай бұрын
Holy crap... finally a guy that actually knows what he's talking about. I've been doing this for 20 + years and this is how it's done. Kids you don't need to make it overly complex, just build it so it can scale not at scale.
@mallipooalwa9085
@mallipooalwa9085 Жыл бұрын
Wow, I'm an enterprise software engineer and from my work experience and knowledge, this is one of the best channel that digs into the ways of working and architecturing an enterprise software. Kudos 👏
@ksuhdilla
@ksuhdilla Жыл бұрын
This is such an underrated channel - very good visuals, concise speech pattern, and extremely well thought out approach to each topic
@joross8
@joross8 Жыл бұрын
Fantastic system design content. Really appreciate the clear explanation of logic used to estimate the system requirements and then determine the approach to the design.
@M3t4lstorm
@M3t4lstorm Жыл бұрын
Notes: - The SQL query at 20:27 would not work for the same reasons you mentioned previously in the video (prime meridian + equator). - You assume that the long/lat is the centre of the business/place, if users are able to add their own businesses this will probably not be the case - Businesses/places can span multiple grids (think of shopping malls) - Businesses/places can be bigger than a grid (think of airports) - At the very end you say it would "use the long/lat to rank the businesses and return to the client" (sorting), you also need to check if the business is still within the radius the user specified (filter); just because the business is in the same grid/neighbouring grids doesn't mean its within the radius they asked for. The first thought might be to make the geohash a list (of all the grids that it covers), but how do you calculate that? You would need a polygon (a long/lats for each vertex) that covers the (rough?) area of the business/place, then you get onto the trouble of validating that :)
@imranhussain8700
@imranhussain8700 Жыл бұрын
2 minutes in the video and liked it already 👍. What an amazing way of explaining stuff, simple yet effective slides. Thanks man appreciate your efforts.
@nishantgarg2815
@nishantgarg2815 Жыл бұрын
15:37 for 7-10, units would be in metre not km
@sanathkumaru6358
@sanathkumaru6358 Жыл бұрын
Please continue to make such wonderful videos. It’s pure gold, glad I discovered the channel.Thank you
@user-sj3fp2xq2m
@user-sj3fp2xq2m Жыл бұрын
You sir are a natural for teaching, please dont stop, you're doing world a favor! Cheers !
@MaxRunia
@MaxRunia Жыл бұрын
I bought Vol 2 but I find video format slightly easier to digest. I really appreciate you making these videos.
@ParisPolyzos
@ParisPolyzos Жыл бұрын
The design elements are at another level! Great work! Keep it up!
@kamal-xd7id
@kamal-xd7id Жыл бұрын
If we can have some sort of video course also like the book you published, I would buy the course right away. The content and the explanation you deliver is really simple to understand and that's the beauty of a good Teacher. "Explain me like I am 5th grade" This really goes for you!
@arekf3470
@arekf3470 Жыл бұрын
Please continue making videos. The speaker did an amazing job, clear with a nice tone. The visual presentation is also nicely executed. 10/10, subscribed.
@red9090
@red9090 Жыл бұрын
This was super fun to watch and got me interested again in algorithms and systems in general. I decided to go ahead and buy the two books straight ahead. So having a youtube channel definitely helps getting the word out :))
@thuantang
@thuantang Жыл бұрын
Absolutely love how succinct and on point the explanation is.
@effy1219
@effy1219 Жыл бұрын
I've watched like most of the SD videos from YT, i could tell you guys this one is the best. Thanks Alex
@gauravgarg2344
@gauravgarg2344 Жыл бұрын
As humble as he is, his videos are super awesome too. Go alex..!!
@Fahadahammed
@Fahadahammed Жыл бұрын
Your approach is fascinating. It kept me watching the whole video and I find this very rare. Thank you.
@mailsiraj
@mailsiraj Жыл бұрын
wow - what a wonderful video. So well thought out - clearly lays down the ideas using very easy to understand visuals.Thank you so much Alex.
@rumeysadogan7444
@rumeysadogan7444 Жыл бұрын
Another eye-opening video. Thank you very much for these high quality, insightful videos. Great work!!👏
@anup21d
@anup21d Жыл бұрын
A clear and in depth explanation of the proximity service design. Specifically I liked the detail ways to index the geospatial databse.
@mahanteshambali
@mahanteshambali Жыл бұрын
As usual amazing video with great details. Thank you Alex. Wish to see more videos of length 20+ mins.
@aaditkamat4995
@aaditkamat4995 Жыл бұрын
I am currently going through the System Design Course offered by Design Gurus on Educative which covers similar concepts but in a text based format. I have heard a lot about ByteByteGo's courses and books as well and I'm glad that I looked up this video. Thanks Alex and the team!
@robl39
@robl39 Жыл бұрын
This is hands down the best design video I’ve ever seen
@maxlim359
@maxlim359 Жыл бұрын
Great explanation with concise and well mapped out diagrams. Amazing!
@thiagolopessilva
@thiagolopessilva Жыл бұрын
You are the best person to explain that content. Thanks to share it with us!
@thephore
@thephore Жыл бұрын
This is one of the best technology videos I've ever watched! You explained everything very well and with great, informative graphics. Only small suggestion - maybe use a mono spaced font for the queries etc. to improve readability. Thanks for this!
@user-uu5xf5xc2b
@user-uu5xf5xc2b Жыл бұрын
he explains like a teacher you would find in a school that everyone loves
@alfazahmed
@alfazahmed Жыл бұрын
This has to be the highest quality system design explainer video on KZbin. * take a bow *
@TheManTheMythThe
@TheManTheMythThe 5 ай бұрын
Would definitely love to get more full systems design interview videos like this from you. Great video!
@2tce
@2tce Жыл бұрын
Very clearly demonstrated and described. Love it! Thanks.
@srinivasareddy162
@srinivasareddy162 Жыл бұрын
This one video introduced me to so many concepts. Thank you Alex.
@pixusru
@pixusru 2 ай бұрын
I got this question on my Meta on-site interview. Absolutely bombed it.
@aba44614
@aba44614 Жыл бұрын
I am truly thankful for these videos, please keep making more !
@suhailguptaful
@suhailguptaful Жыл бұрын
Gr8 design video. Thanks Alex for such high quality, clear concise explanation.
@deepakbhoria4172
@deepakbhoria4172 Жыл бұрын
I have tried different videos but this one definitely stands out for understanding location based system design.
@amanrubey
@amanrubey Жыл бұрын
Absolutely love this video! 15 year old me craved this information but got it after 8 years
@andreishakh4863
@andreishakh4863 Жыл бұрын
I had exactly this problem on my system design interview @ faang, failed it miserably)) Excellent quality of material here, will help a lot in future!
@aisniper4095
@aisniper4095 Жыл бұрын
Amazing! Beautiful! Super high quality content! So eager for the upcoming videos!
@moranh461
@moranh461 Жыл бұрын
Loved it, well made and highly educational. Looking forward for more of those.
@GughaGSrinivasan
@GughaGSrinivasan Жыл бұрын
I have your System Design Interview Volume I book... Never knew you were the author :) I learned CAP theorem, eventual consistency, and many others from it... I wasn't aware that there is volume 2.. will be adding it to my cart... Great explanation once again!
@nathanthainguyen
@nathanthainguyen Жыл бұрын
This channel gonna blowup. The graphic designs are the game changer
@emreboga
@emreboga Жыл бұрын
Dude, your content is gold! I've been coding almost 20 years and prepared for interviews countless times. This has been one of the best content so far!
@ByteByteGo
@ByteByteGo Жыл бұрын
Thank you for the encouragement. This is the first chapter-length video we made, and it was a lot of work. Your feedback is much apprecated.
@ChrisCox-wv7oo
@ChrisCox-wv7oo Жыл бұрын
@@ByteByteGo wonderful job.
@ovidiurosu6632
@ovidiurosu6632 Жыл бұрын
This is the best system design video I've seen so far. Great job mister
@king0s
@king0s Жыл бұрын
Beautiful poetry just opens up my eye. Overwhelmingly grateful. 🙏 and ❤from Chennai 🇮🇳
@mandeepsinghrr
@mandeepsinghrr Жыл бұрын
Amazing, the style of the video makes it very easy to grasp the concept!
@joeb6705
@joeb6705 Жыл бұрын
This content is unbelievable. Will be checking out your books and newsletters!
@tqh28
@tqh28 Жыл бұрын
you opened my mind about the system design. unbelievable
@aakashuniyal6806
@aakashuniyal6806 Жыл бұрын
This video is GOLD ! Thanks a lot, looking forward for more content !
@KGTube
@KGTube Жыл бұрын
The best System Design video so far! Thanks and Keep it going!
@matiasmoresi5040
@matiasmoresi5040 Жыл бұрын
Mindblowing content and way of presenting it! Thank you so much! Keep it up!
@dominusgloriae
@dominusgloriae Жыл бұрын
I'm really lucky to see this video released. It's been about a year since I work in the area of location based service. There is not much of related information that is up to date. Thanks a lot for this video! Keep on!
@ChrisCox-wv7oo
@ChrisCox-wv7oo Жыл бұрын
Are you saying the video information is out of date, or up to date?
@dominusgloriae
@dominusgloriae Жыл бұрын
@@ChrisCox-wv7oo it's up to date
@KENTOSI
@KENTOSI Жыл бұрын
Great video where everything was clearly explained. Thank you!
@raymondmichael4987
@raymondmichael4987 Жыл бұрын
I really like this video, the presenter is very friendly and calm, please extends this, I would like to learn more. You got +1 sub from Tanzania 🇹🇿 Greetings from Tanzania 🇹🇿
@huynguyenquang2656
@huynguyenquang2656 Жыл бұрын
i hope u make 10 videos everyday so i can learn forever about system design. Thanks so much
@amachefe2
@amachefe2 Жыл бұрын
One of the best technical video i have ever watched
@essamgouda1609
@essamgouda1609 Жыл бұрын
This is amazing, what a gem of a youtube channel !
@namilaperera5649
@namilaperera5649 Жыл бұрын
I think we should save geo hashes for each precision level (4,5,6) in the geospatial_index table..which will require more space than what is mentioned in the vedio.. isn't it so?
@SurenderSingh-pj7xk
@SurenderSingh-pj7xk Жыл бұрын
Super Awesome !! Great work Alex !! Thank you so much for sharing the great design video.
@SudeeptaSood
@SudeeptaSood Жыл бұрын
Today I learned something new! Thanks Alex!
@yonahkarp7273
@yonahkarp7273 5 ай бұрын
This is gold! Toss in a Geosptial DB on your interview and it’s sure to impress them
@praveengupta6436
@praveengupta6436 Жыл бұрын
Thank you for making it simple.
@doglas2455
@doglas2455 Жыл бұрын
Excellent video! I guess there must be a lot of efforts invested. Keep up! Thank you!!!
@javisartdesign
@javisartdesign Жыл бұрын
like very much this kind of videos with an example of a system design! thanks
@stevecanny1583
@stevecanny1583 Жыл бұрын
Thanks so much for this Sahn! I really appreciate the greater depth of this one :)
@pobodjjd
@pobodjjd 4 ай бұрын
Another great video with clear explanation and informative graphs for software engineers
@cem_kaya
@cem_kaya Жыл бұрын
You can also use a space filling curve for fast queries for 2d to 1d mapping
@SarKurd
@SarKurd 11 ай бұрын
This video is so good, i need to watch it a few more times, there is a lot of valuable information here
@cjnizz
@cjnizz Жыл бұрын
This is a gold mine, thank you!!!
@user-jt5nd3yq4u
@user-jt5nd3yq4u 5 ай бұрын
This is by far the greatest video, thanks a lot for putting this together ❤
@mattbutalla6498
@mattbutalla6498 Жыл бұрын
I worked on a weather alert system that used S2, you more or less described its design and all the rationale for our decisions (we indexed by S2 cell id). Excellent video.
@mattbutalla6498
@mattbutalla6498 Жыл бұрын
And for the record, because of this I bought your vol 2 of sys design
@stoneshou
@stoneshou Жыл бұрын
Hi Sam, you mention use (geohash, business id) as a compound key so we can remove business from the table efficiently. I don't think that's the right thing to do. Instead of a compound key, we should just add another index for the business id. Removing a business thus would only need to check that index. With a compound key we'd need to calculate the geohash for that business, walk the geohash index first, then look for the business id.
@M1ntAll
@M1ntAll Жыл бұрын
Bought your book on system design. Great experience, thanks!
@MeanSoybean
@MeanSoybean Жыл бұрын
I learned so much in this video. Thank you.
@vothanhtai6357
@vothanhtai6357 Жыл бұрын
Awesome! The best system design video. Keep doing your great work because it helps people a lot.
@solomonxie5157
@solomonxie5157 Жыл бұрын
Excellent video! The core algorithm is from 11:56
@bibo1515
@bibo1515 Жыл бұрын
Great video, a lot of good information in just 24 minutes
@ThugLifeModafocah
@ThugLifeModafocah Жыл бұрын
That geohash part was superb... Damn, so many things I didn't know.
@nishantparmar
@nishantparmar Жыл бұрын
Once again...very clean and easy to understand
@filipeandrade6
@filipeandrade6 Жыл бұрын
Amazing video, thank you for sharing knowledge in such well presented way.
@NarayananPrabath
@NarayananPrabath Жыл бұрын
Alex. I am your great admirer. I would humbly request you to make more System design videos.
@pulik_io
@pulik_io Жыл бұрын
Great video! I would love to see full video course about system designs from you! :)
@gigakoresh
@gigakoresh Жыл бұрын
Really good content, as always. You can also add a Kafka or some other streaming service to the business service, so that writes send events to the streaming system. You can then connect that streaming system to the write database as a sink, which will allow you to distribute the write loads evenly throughout the day and handle peak loads without consuming extra resources. Streaming systems like Kafka are so heavily optimized for such use-cases that even a relatively smol cluster with 3 4Gb+2CPU+100Gb should easily be able to handle these loads and have a lot of headroom if you use z-compression on the topic. As an added benefit you can perform change management on the database transparently to the user because streaming system will buffer all write operations automatically while the sink is offline. Streaming systems generally pair with a heavy read/low write system quite well.
@aniketshukla9568
@aniketshukla9568 Жыл бұрын
Do we really need to add streaming services? I mean, as we know that write traffic is really very low and also we can compromise with the consistency(will be eventually consistent), so wouldn't Kafka or any streaming service be inefficient to use?
@gigakoresh
@gigakoresh Жыл бұрын
@@aniketshukla9568 Not with that kind of scale, no.
@lokeshvenkatesan
@lokeshvenkatesan Жыл бұрын
Thank you for making this video. This is gold.
@sarathfromsaudi
@sarathfromsaudi Жыл бұрын
Excellent content. I liked your structured way of thinking
Consistent Hashing | Algorithms You Should Know #1
8:04
ByteByteGo
Рет қаралды 286 М.
7 Must-know Strategies to Scale Your Database
8:42
ByteByteGo
Рет қаралды 15 М.
Alat Seru Penolong untuk Mimpi Indah Bayi!
00:31
Let's GLOW! Indonesian
Рет қаралды 12 МЛН
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 6 МЛН
The joker's house has been invaded by a pseudo-human#joker #shorts
00:39
Untitled Joker
Рет қаралды 14 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 19 МЛН
SSL, TLS, HTTPS Explained
5:54
ByteByteGo
Рет қаралды 693 М.
System Design Interview: A Step-By-Step Guide
9:54
ByteByteGo
Рет қаралды 605 М.
System Design Interview - Distributed Cache
34:34
System Design Interview
Рет қаралды 349 М.
Kafka vs. RabbitMQ vs. Messaging Middleware vs. Pulsar
4:31
ByteByteGo
Рет қаралды 69 М.
System Design Mock Interview: Design Uber Eats (with eBay EM)
40:09
Cache Systems Every Developer Should Know
5:48
ByteByteGo
Рет қаралды 453 М.
System Design: Proximity Service / Yelp (with FAANG Senior Engineer)
1:00:23
System Design Fight Club
Рет қаралды 7 М.
Designing a location database: QuadTrees and Hilbert Curves
22:22
Google system design interview: Design TikTok (with ex-Google EM)
1:09:18
IGotAnOffer: Engineering
Рет қаралды 163 М.
How To Choose The Right Database?
6:58
ByteByteGo
Рет қаралды 289 М.
Alat Seru Penolong untuk Mimpi Indah Bayi!
00:31
Let's GLOW! Indonesian
Рет қаралды 12 МЛН