Square/Block Hotel Booking Suggestions

Hey everyone! Question for anyone who’s really good at system design: I have a final round interview with Square this week for a senior frontend role. I’ll be asked to design a Hotel Booking system. Do you guys have any suggestions on things to point out or areas of the design that may be more important than others? My thoughts were structured in this manner: requirements, component architecture, data model, where to fetch data, api methods, performance optimizations (image file types, compression, windowing/react virtualized), internationalization & accessibility. (i’ve watched the popular frontend system design videos on youtube and felt his breakdowns were super useful for overall structure) TC: 240 YOE: 7 Any and all help is appreciated!

Revel Systems eupkw73 Mar 20, 2022

How do you know they will ask you that topic

MuleSoft sf0001 OP Mar 20, 2022

recruiter told me already, and it’s in the email schedule

Square ymQh44 Mar 20, 2022

That’s the only design question we ask

Walmart k9j7p6 Mar 20, 2022

For FE I was asked - search for available rooms, make a room reservation ( handling waiting for others for the same room during booking). Second scenario was little tough unless you know how its managed on the client side

MuleSoft sf0001 OP Mar 20, 2022

thanks those r good callouts! i feel like searching for available rooms isn’t tough, that handling others waiting situation sounds like when a hotel website has like “your room is being held for MM:SS”. fun to solve

eBay 💸in🛒 Mar 20, 2022

Think about distribution and b how the system will talk to a gds

MuleSoft sf0001 OP Mar 20, 2022

gds?

eBay 💸in🛒 Mar 20, 2022

Global distribution system

Square IIIllIIIll Mar 20, 2022

Ironically we don’t have a hotel booking solution for POS do we?

MuleSoft sf0001 OP Mar 20, 2022

not yet 👀, but there are apps on squares market place that be used to leverage a booking system with square checkout

Square (๑・̑◡・̑๑) Mar 21, 2022

That's why we ask every candidate this question. Free design

Square Tres_Comas Mar 21, 2022

Don't spread yourself too thin. The time will fly by quickly and you don't want to end up with an extremely shallow design by just going over table stakes across the whole stack. You want to be able to get into the weeds in a particular perspective of the problem. Play to your strengths, confirm your assumptions, and work with your interviewer to scale up the problem space. If it's a FE-oriented interview, focus on the user experience and ensure you're designing something that will be able to take the user through the whole flow. The problem is surprisingly more complex than it seems on it's face.

MuleSoft sf0001 OP Mar 21, 2022

excellent advice! yeah i will definitely maintain focus on the user experience and optimize usability and UI performance

Salesforce SlimJimm Mar 25, 2022

Not sure if you had it already, but something that helped me was design for single hotel booking first. Don’t jump the gun and begin designing for an Expedia/Airbnb style system

LinkedIn lajshbd Mar 26, 2022

Hey, how was your interview ? Also in the pair programming rounds did you had to do LC style questions ?

MuleSoft sf0001 OP Mar 26, 2022

waiting to hear the final feedback. No LC style just problem solving with javascript + frontend questions (frontend loop)

Square Tres_Comas Mar 27, 2022

The frontend screen is pretty different. No algo leetcode stuff typically. You're offered a simple vanilla JS app and expected to fix a couple bugs and add some new functionality. Pay attention to the existing code and be able to adapt it.