wrapped up my airbnb frontend engineer interview loop about two weeks ago. currently processing the offer and wanted to post while it was fresh because i couldn't find anything recent when i was prepping.
quick context: ~4 YOE, mostly React, some Vue, strong on CSS. applied for what maps to L4/mid-level.
Round structure: Initial recruiter screen (30 min, no technical content) OA: one frontend coding problem (more on this below) Onsite: 4 sessions across two days
The OA: was a component-building exercise. build a functional autocomplete search input with debouncing. vanilla JS allowed, React allowed, your choice. they cared about: edge cases (empty query, rapid typing, handling a network error from the mock API they gave you), keyboard accessibility (arrow keys, enter to select), and clean readable code. no external libraries. i used React and hooks. the debounce part was where people probably slip up, make sure your implementation actually cancels the previous pending call.
Onsite rounds:
Frontend systems: build a simplified version of a component that could plausibly exist on airbnb.com. i got a date range picker. the interviewer kept pushing the scope: "now make it support multiple months", "now handle disabled dates". classic expand-the-requirements pattern. knowing CSS grid/flexbox cold, managing state cleanly, and talking out loud the whole time mattered.
Performance + browser fundamentals: this is the round people don't prep for and should. questions like: how would you diagnose a slow initial page load for a listing page with 50+ photos? what's the paint timeline look like? we talked about LCP, CLS, image lazy loading, font loading strategies, and bundle splitting. if you've never opened the Chrome Performance tab in anger, go do that now.
Behavioral: standard airbnb core values format.
Cross-functional collaboration: a scenario round about working with designers. they gave me a realistic situation where a designer's spec was technically expensive and the timeline was tight. how do you negotiate without just saying no.
overall: if you're purely an algorithmic grind person, the frontend loop might surprise you. they care more about product sense and web fundamentals than data structures.