Design a Hotel Booking Service - System Design Mock Interview (with eBay EM)

preview_player
Показать описание

An experienced engineering manager at eBay demonstrates how to design a hotel booking service. He walks us through his thought process and shares his insights on designing a scalable and efficient system.

Chapters (Powered by ChapterMe) -
00:00 - Intro
04:23 - How much storage would a hotel have for its room inventory?
17:08 - Booking a Hotel
23:36 - Booking System Speed Up
26:32 - Other than the scalability,
28:34 - Interview analysis
29:06 - System Design Tips

Watch more system design videos here:

ABOUT US:
Did you enjoy this interview question and answer? Want to land your dream career? Exponent is an online community, course, and coaching platform to help you ace your upcoming interview. Exponent has helped people land their dream careers at companies like Google, Microsoft, Amazon, and high-growth startups. Exponent is currently licensed by Stanford, Yale, UW, and others.

Our courses include interview lessons, questions, and complete answers with video walkthroughs. Access hours of real interview videos, where we analyze what went right or wrong, and our 1000+ community of expert coaches and industry professionals, to help you get your dream job and more!
Рекомендации по теме
Комментарии
Автор

This is a BAD example of how you should do a SD interview. No matter how deep you understand how the system work, always start with high level disign and then dive deep. Especially when the interviwer ask you to do so. I am pretty sure the EM candidate in the video has a lot of expierence on this kind of topic, but I think the way he keep talking himself and ignored what the interview told him to do is definitely a red flag for any company's interview.

kevinli
Автор

Interviewer : Let's quickly go through the High Level Design of the major flows.
Interviewee: Yes, builds a block and starts writing SQL queries

mrinalaich
Автор

Its good to remind that the interviewee should be always asking and confirming with the interviewer about the decisions and next steps. You will probably get a better result if you use the interviewer as a partner in the system design.

jonamep
Автор

Great episode! I loved seeing how an EM took his time to really dive deep into subjects. It felt like if the interviewer didn't rush him he would've given us a 5h masterclass haha

millen_basquiat
Автор

Hm, I don't feel the candidate was confident enough in his proposals. Swinging from one side to another without actually answering interviewer's questions

katekho
Автор

He mentioned that there is an 18TB database but he didn't talk that there would be huge performance issues with that. Also, the inventory table approach is sorta strange - will he populate all the inventories for 10 years forward?

CheeseDiablo
Автор

It is Informative. I wish there were discussions around how the hotel search will work on geo locations and how the data will be partitioned (sharded).

UpBanarasWala
Автор

By assigning room numbers at check in instead of at booking, how do you guarantee that customers will be able to have a particular room for their entire stay?

Anteater
Автор

What tool is being used here? This is awesome!!😊

mansi_b
Автор

I got a question: How do you maintain referential integrity across the 2 databases? I'm assuming one database would contain the Hotel table and the other the Inventory and Reservation table, the latter referencing hotel_id in the former.

ricktastic
Автор

Important topic to cover here: payment failures.

vladd
Автор

For the deadlock, a better way would be to provide API to the reservations API which would only be released once the hold on the room is released or that reservation is cancelled. This would prevent double booking using the reservations API as an argument would be the roomType and status of the room. I think the way it is explained in the video with constraints and other Sql statements needs a revisit.

prashantsalgaocar
Автор

Which platform you are using for system design while mock interview ?

mahahrishi
Автор

Also, didn't talk about sharding

jojay
Автор

What about searching of hotels? Should not be using elastic search which is search database that can be optimisation

roliagrawal
Автор

Nice session. Which tool are you using to draw?

amitsharma
Автор

@exponent plz let us know the tool he used!!

mansi_b
Автор

Enjoyed the session,
also timestamp helps

RajYadav-fylm
Автор

I won't go for BFF, To solve under fetching and over fetching issue, graphql is much better option instead of building out BFF for each UI. Too much overhead cost and even complicates the system.

chintanthakker
Автор

Should have gone deeper into Kafka and how orders are managed. Also, one of the biggest thing with hotels is location so he should have gone into that as well.

jojay