Hotel Reservation (AirBnb, Booking.com) - System Design Interview Question

  Рет қаралды 41,356

TechPrep

TechPrep

Күн бұрын

Пікірлер: 29
@TechPrepYT
@TechPrepYT Ай бұрын
🔍 Full Write Up + Bonus Section (What Top Tech Interviewers Really Want to See) → www.techprep.app/system-design 🎯
@sam_dare
@sam_dare Ай бұрын
Free course?
@joannemvs_
@joannemvs_ Ай бұрын
Short yet very informative system design video. Appreciate it. Keep it up, thanks!
@TechPrepYT
@TechPrepYT Ай бұрын
Thanks that's the goal!!
@kyngcytro
@kyngcytro 2 ай бұрын
This confirmed my head was in the right place. Didn't think of the idempotency stuff tho. Thanks well explained.
@TechPrepYT
@TechPrepYT 2 ай бұрын
Thank you!!
@SpiritOfIndiaaa
@SpiritOfIndiaaa Ай бұрын
Excellent , thanks a lot ,
@TechPrepYT
@TechPrepYT Ай бұрын
Thanks!!
Ай бұрын
Good work. This is just a reminder that every system design requires a deep investigation of the domain model. Please do not dive into design without understanding the challenges of your domain model. For example, most hotels and bed banks struggle to calculate availability and generate offers. You need to define markup policies, other details, etc. This kind of content can help you understand system design, but that doesn't mean you can use it in prod. env :)
@harshaghanta1
@harshaghanta1 2 ай бұрын
What tool are you using to create these diagrams?
@walidsiala7368
@walidsiala7368 2 ай бұрын
eraserio
@TechPrepYT
@TechPrepYT 2 ай бұрын
Keynote!
@jdxxmxnd
@jdxxmxnd 2 ай бұрын
What sort of intense processing is being done to create hotels? The message queue on that path seems a bit overkill.
@haodeng9639
@haodeng9639 2 ай бұрын
agree, over design.
@dev_yethiha
@dev_yethiha 2 ай бұрын
Yeah, i also think the same but after deep consideration when creating or manipulate hotels data, we need to update it in two place. Which is Elastic Search And database. We need to store in database first and after that we need to move the data to elastic a do reindexing.
@jjverce
@jjverce Ай бұрын
@@dev_yethiha that's fine, that's something pretty basic that most web apps do. You don't need to decouple these requests with an intermediate queue for that though. You can just trigger the Elasticsearch update in response to DB updates, without hurting the UX of a request that the user doesn't know if it succeeded or not anymore. Imagine a user trying to make a bunch of changes in their admin dashboard and having to refresh the browser after each step because they're not sure if the last update succeeded or not.
@Scalabilis
@Scalabilis 2 ай бұрын
Thanks for sharing such valuable content soo helpful brother💪
@TechPrepYT
@TechPrepYT 2 ай бұрын
Appreciate the kind words!
@giantbush4258
@giantbush4258 2 ай бұрын
Well explained.
@TechPrepYT
@TechPrepYT 2 ай бұрын
Thanks!
@abhishekgautam1651
@abhishekgautam1651 2 ай бұрын
Good explanation
@TechPrepYT
@TechPrepYT 2 ай бұрын
Thank you!
@swarupz
@swarupz 8 күн бұрын
So we have a Worker Service for Adding Hotels to the DB but no worker service/booking queue for reservations? IMHO volume of reservations will be higher than the volume of hotel additions. Let me know if I'm missing anything. thanks.
@anton108-r5k
@anton108-r5k 2 ай бұрын
Is room_inventory table along enough for the booking availability search within a date range? What if I would like to book a room for 3 consecutive days and there is an availability for each particular day, but there is no consecutive availability of a particular room. There could be 3 different rooms available at every particular day within a date range.
@TheLemitek
@TheLemitek Ай бұрын
Yes, you are correct. I think to prevent this error and make it simplier we would have to calculate each time a client asks about specific range (and maybe store it in some cache) from reservation table. Something like this I think WITH ReservedRooms AS ( SELECT roomId FROM reservations WHERE roomTypeId = @roomTypeId AND ( (CheckInDate @startDate) ) ) SELECT roomId FROM rooms WHERE roomTypeId = @roomTypeId AND roomId NOT IN (SELECT roomId FROM ReservedRooms);
@felipecaldeira1999
@felipecaldeira1999 Ай бұрын
The hotel creation side seems a bit overengineered, or at least not well-justified... Why do we need an "Admin Queue" - is hotel/room creation really that frequent and resource intensive? And who is being notified about hotel/room creation?? I'm sure one could come up with reasons, but without explicitly stating said reasons, it seems unnecessary.
@jjverce
@jjverce Ай бұрын
100%
@omkarjadiya7745
@omkarjadiya7745 2 ай бұрын
next one in telegram all feature 😄😄
@karpuzye
@karpuzye 2 ай бұрын
DB tables should be the result of clear separation of responsibilities and domains. Starting with db tables to system design can mislead younger developers
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Why Are Threads Needed On Single Core Processors
16:07
Core Dumped
Рет қаралды 219 М.
Frontend System Design Interview (Build Google Search)
18:55
theSeniorDev
Рет қаралды 8 М.
Twitter / Newsfeed  System Design Interview Question
13:01
TechPrep
Рет қаралды 11 М.
7 Design Patterns EVERY Developer Should Know
23:09
ForrestKnight
Рет қаралды 197 М.
How Uber Handles TRILLIONS of Transactions
13:03
Coding with Lewis
Рет қаралды 345 М.
System Design Global Payment Processing | Paypal
22:23
ByteMonk
Рет қаралды 16 М.
Design Twitter - System Design Interview
26:16
NeetCode
Рет қаралды 545 М.