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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ม.ค. 2025

ความคิดเห็น • 35

  • @tryexponent
    @tryexponent  ปีที่แล้ว

    Make sure you're interview-ready with Exponent's system design interview prep course: bit.ly/42Wsa3x

  • @kevinli9331
    @kevinli9331 ปีที่แล้ว +81

    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.

  • @mrinalaich3723
    @mrinalaich3723 ปีที่แล้ว +56

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

  • @jonamep
    @jonamep ปีที่แล้ว +12

    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.

  • @millen_basquiat
    @millen_basquiat ปีที่แล้ว +19

    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

  • @tryexponent
    @tryexponent  ปีที่แล้ว +36

    The tool is Whimsical.

    • @azam1200
      @azam1200 ปีที่แล้ว

      Do we need to write code in EM roles , I mean is dSA required in EM interviews?

  • @UpBanarasWala
    @UpBanarasWala 9 หลายเดือนก่อน +2

    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).

  • @CheeseDiablo
    @CheeseDiablo ปีที่แล้ว +6

    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?

  • @mansi_b
    @mansi_b ปีที่แล้ว +6

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

  • @Anteater23
    @Anteater23 ปีที่แล้ว +3

    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?

  • @adityabvr3178
    @adityabvr3178 หลายเดือนก่อน

    Great approach - Liked the way he jotted down the functional & non functional requirements through mind map. Just my opinion, the 5 room types are across the 1 M Hotels, shouldn't be 5M room types. The types remain same so that we can store the room types in enum.

  • @prashantsalgaocar
    @prashantsalgaocar 8 หลายเดือนก่อน

    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.

  • @ricktastic6
    @ricktastic6 ปีที่แล้ว +2

    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.

  • @katekho977
    @katekho977 ปีที่แล้ว +6

    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

  • @vladd3172
    @vladd3172 ปีที่แล้ว +2

    Important topic to cover here: payment failures.

  • @th33ng
    @th33ng ปีที่แล้ว +5

    Was he hired? Or not

  • @amitsharma928
    @amitsharma928 ปีที่แล้ว +1

    Nice session. Which tool are you using to draw?

    • @tryexponent
      @tryexponent  ปีที่แล้ว +1

      Hi AmiTech, the tool being used here for drawing is called Whimsical!

  • @Deepz007
    @Deepz007 ปีที่แล้ว

    Very Nice, thanks for sharing!

  • @roliagrawal3124
    @roliagrawal3124 ปีที่แล้ว

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

  • @mansi_b
    @mansi_b ปีที่แล้ว +1

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

    • @tryexponent
      @tryexponent  ปีที่แล้ว +2

      Hi Mansi! The whiteboard tool he is using is called Whimsical

  • @myrondai
    @myrondai ปีที่แล้ว

    I'm curious what this whiteboard tool is.

    • @tryexponent
      @tryexponent  ปีที่แล้ว +1

      Hey myrondai! The whiteboard tool is "Whimsical"!

    • @myrondai
      @myrondai ปีที่แล้ว

      @@tryexponent thank you!

  • @mahahrishi
    @mahahrishi 8 หลายเดือนก่อน

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

  • @HisExcellencyAKK
    @HisExcellencyAKK 2 หลายเดือนก่อน

    Seems like he never addressed scalability and availability in the design.

  • @jojay6472
    @jojay6472 ปีที่แล้ว +1

    Also, didn't talk about sharding

  • @RajYadav-fy4lm
    @RajYadav-fy4lm ปีที่แล้ว

    Enjoyed the session,
    also timestamp helps

  • @dezinerg
    @dezinerg ปีที่แล้ว

    What app is the interviewer using?

    • @tryexponent
      @tryexponent  ปีที่แล้ว

      Hey Lee! The whiteboard app being used here is called Whimsical!

  • @jojay6472
    @jojay6472 ปีที่แล้ว +2

    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.

  • @chintanthakker4129
    @chintanthakker4129 ปีที่แล้ว +2

    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.

  • @rajdave9822
    @rajdave9822 ปีที่แล้ว

    🎉🎉🎉🎉🎉🎉