Sharing my full-stack phone screen — I applied for the San Francisco Hybrid position.
The process was fast. One week after I submitted my resume, HR scheduled the phone screen.
One round, 60 minutes: 40 minutes of live coding followed by 20 minutes of product discussion.
The problem was to build a small listing booking widget:
- Input check-in and check-out dates, calculate the total price
- Select number of guests (adults/children), with the price changing based on guest count
- If the room is fully booked, gray out the button
- Clicking "Book Now" pops up a confirmation dialog
I built it with React + Node.js, managed frontend state with Zustand, and wrote a simple mock API on the backend with Express.
The follow-ups asked:
- How would you design the frontend and backend to support multi-currency display
- How would you reduce the number of frontend requests (my answer: batch endpoints / GraphQL)
- How would you implement offline caching of booking info (my answer: IndexedDB + Service Worker)
Overall I answered pretty well, but I didn't consider security in the offline-caching part — the interviewer pointed out that I needed to handle encryption of sensitive information.
Two days later I got an Onsite invite~
Overall impression: Airbnb leans heavily toward user experience and product scalability. Getting the code to run is just the baseline — what matters more is thinking about internationalization, cross-platform adaptation, and UX optimization.
Discussion
Loading comments…