Four rounds, overall leaning heavily into ML system / ranking / marketplace scenarios. Not especially rote-memorization heavy, but they really value business sense and decision making. Two weeks later I got a curt rejection.
Round 1: ML Experience / Behavioral + Technical
This round mainly revolved around past projects, with a lot of focus on tradeoffs and decision making.
I talked about a project related to recommendation/prediction, and the interviewer kept pushing with follow-ups:
- Why did you choose this modeling approach?
- Why not use a more complex model?
- How do you trade off precision / recall / latency / infra cost?
- What do you do when the offline metric and the online metric disagree?
One of the discussion points was threshold tuning. My answer was:
First find candidate thresholds offline using the ROC / PR curve, then use A/B testing to look at the final business metrics — conversion, retention, CTR, booking rate, etc. Because different thresholds are essentially switching between different points on the precision/recall tradeoff, you ultimately need an online experiment to decide.
Another discussion point was FM (Factorization Machine) vs embedding + DNN.
My answer:
- FM is better at low-order sparse feature interactions, trains stably, and is more interpretable
- but it has limited ability to learn long-term behavior patterns, complex nonlinear interactions, and sequence patterns
- embedding + DNN more easily learns high-dimensional dense representations, as well as long-term preference / semantic similarity
- especially when user-item interactions are very complex, deep models usually perform better, but the cost is worse training cost, serving latency, and debuggability
Round 2: ML Design — Family Friendly Filter / Classifier
The prompt was roughly:
Build a "family friendly" filter/classifier for Airbnb listings, so users can filter for listings suitable for families to stay in.
I roughly went through it like this:
- Define problem
- binary classification
- the objective can be to maximize booking conversion / satisfaction while reducing bad experiences
- Label construction
- whether the user stayed with children
- whether keywords like family / kids / stroller / crib appear in reviews
- the user's post-trip rating
- complaint / refund signals
- Features
- listing metadata: bedroom count, kitchen, washer/dryer, crib, safety equipment
- image features
- review text embedding
- host historical signals
- neighborhood safety / nearby attractions
- Model
- baseline: XGBoost / logistic regression
- advanced: a multimodal model combining text + image embeddings
- Evaluation
- precision / recall / F1
- calibration
- online booking conversion
The interviewer also asked:
- What if hosts deliberately mislabel their listings?
- How do you avoid unfair filtering?
- How do you handle cold start?
Round 3: ML System Design — User Embedding + Two-stage Semantic Search
This round felt the most like Airbnb's core ranking / retrieval problem.
The prompt was roughly:
Design a user embedding + two-stage semantic retrieval/ranking system to find, from listings, the results a user is most likely to book, and maximize the booking conversion rate.
The rough structure of my answer:
- Two-stage architecture
- Stage 1: retrieval
- ANN semantic search
- dual tower / two-tower embedding
- retrieve top-K listings
- Stage 2: ranking
- a deeper ranking model
- combine semantic relevance + business metrics
- User embedding
- booking history
- clicks
- wishlist
- long-term vs short-term preference
- sequence modeling
- contextual features (location/time/group size)
- Listing embedding
- text description
- amenities
- image embedding
- reviews
- price/location
- Objective
- CTR
- booking conversion
- long-term satisfaction / retention
The interviewer really dug into position bias.
My answer included:
- top-ranked items are more likely to be clicked, which doesn't mean they're actually more relevant
- you can use randomization buckets / exploration traffic to collect unbiased data
- IPS (inverse propensity scoring)
- debias click labels
- counterfactual learning to rank
- you can also combine stronger supervision signals like dwell time / booking / long-click
This round's discussion ran fairly long — I got the sense they really cared about hands-on marketplace ranking experience.
Round 4: Coding
The algorithm question was a Coin Change variant, except the input wasn't integers, it was floats.
Roughly like this:
Given some coin denominations (like 0.25 / 0.5 / 1.0), determine whether you can combine them to reach a target value, or find the minimum number of coins.
The main trap was float precision.
I initially just did the DP directly with floats, and later the interviewer pointed out the precision issue.
The fix afterward:
- uniformly scale, e.g. multiply by 100 to convert to integers
- then do standard coin change DP / BFS
Complexity:
Time: O(amount * num_coins)
Space: O(amount)
Overall impression:
Airbnb's Sr MLE interview leans heavily toward business ML and ranking / retrieval / marketplace optimization — it's not pure rote-memorization, and it's not pure LeetCode either. A lot of the questions were testing:
- whether you've actually worked on a live ML system in production
- whether you understand business metrics
- whether you can handle bias / feedback loops / exploration-exploitation
- whether you know retrieval + ranking architecture
Coding actually wasn't the hardest part, but they deliberately throw in some production nuance (like float precision).
In the end I got a reject two weeks later — probably my overall calibration didn't hit the Sr bar. I feel like my retrieval / ranking / marketplace ML experience is still a bit weak.
Discussion
Loading comments…