Company Interview Questions · Big Tech

Airbnb & TikTok: Machine Learning Engineer

❓ 6 questions🏢 Airbnb & TikTok🆕 Recent reports

Airbnb & TikTok: Machine Learning Engineer Interview Process and Questions. Rounds, real reported questions and model answers, compiled from public candidate reports (sources at the end). Practice mode hides every answer: say your answer first, press Show answer, then rate yourself. Use 🔁 Review again to build your revision list and 🎲 Random question for a quick drill.

About this interview

Compiled from a public Airbnb MLE interview guide (recruiter → HackerRank ML coding → 4-round virtual onsite: data-manipulation coding, ML system design, model debugging, core values) and public TikTok MLE candidate summaries (Sydney, March 2025; Singapore, July 2025: 1–2 LeetCode problems per round plus ML/DL basics). The questions are paraphrased, and the model answers are written by EasyLearnSpace.

Airbnb TikTok
Role Machine Learning Engineer (L4/L5) Machine Learning Engineer
Rounds Recruiter (30–45 min) → ML coding + concepts (45 min, pandas, gradient boosting, features, evaluation) → onsite ×4 → hiring committee HR screen → 2 technical rounds (first ML-focused); each with 1–2 LeetCode problems (arrays, hash maps, trees) + ML/DL questions
Example questions Type-ahead recommender, video recommendations, unsafe-content detector, fine-tune vs RAG for an internal chatbot, fraud with imbalanced data, when SVMs beat deep learning Valid parentheses generation, longest substring without repeats, search in a rotated sorted array, ML/DL basics
Culture Core-values round Fast-paced, competitive

01Rounds at a glance

02Questions and model answers

Q1
Airbnb: should we fine-tune an LLM or use RAG for an internal employee chatbot?
  • RAG first: internal knowledge changes often (policies, docs), needs citations and access control, and RAG is cheaper and faster to iterate.
  • Fine-tune when: you need a consistent style or format, domain jargon the base model handles poorly, lower latency or cost at high volume (a smaller fine-tuned model), or tool-use patterns specific to your systems.
  • Often both: RAG for knowledge plus a light LoRA fine-tune for tone and format.
  • Decide with an evaluation set: accuracy, faithfulness, latency, cost and maintenance burden.
Q2
Model debugging: offline AUC is 0.90, but online the model hurts bookings. What do you check?
  1. Training/serving skew: feature values computed differently online, stale features, missing defaults. Compare feature distributions online vs offline.
  2. Leakage offline: a feature that wasn't available at prediction time.
  3. Objective mismatch: optimised clicks, not bookings; position bias in the training data.
  4. Distribution shift: seasonality, new markets, or a new UI.
  5. Experiment issues: sample-ratio mismatch, a bug in the treatment, interference. - Fix the root cause, then add parity tests and online monitoring.
Q3
Design an unsafe-content detector for listings and messages.
  • Policies first: define the categories (scams, discrimination, explicit content, off-platform payment requests) with examples.
  • Models: multimodal classifiers (text + images); LLM-based classification for nuanced cases; rules for known patterns (phone numbers, payment links).
  • Thresholds by severity: auto-block high-confidence severe cases, send ambiguous ones to human review, warn on low-severity issues.
  • Feedback loop: reviewer labels → retraining; adversarial evolution (scammers adapt), so monitor new patterns.
  • Metrics: precision and recall per category, review-queue load, time to action, false-positive appeals.
Q4
When would an SVM beat deep learning?
  • Small to medium tabular or text datasets with good features (TF-IDF): SVMs (linear or kernel) are strong, fast to train and less prone to overfitting than large neural networks.
  • High-dimensional sparse data with clear margins (text classification).
  • Need for convex optimisation, few hyperparameters, or limited compute.
  • Deep learning wins with large data, raw inputs (images, audio) and when representation learning is needed.
Q5
TikTok: generate all valid combinations of n pairs of parentheses.
def gen(n):
    out = []
    def bt(s, o, c):
        if len(s) == 2 * n: out.append(s); return
        if o < n: bt(s + "(", o + 1, c)
        if c < o: bt(s + ")", o, c + 1)
    bt("", 0, 0); return out
print(gen(3))   # ['((()))','(()())','(())()','()(())','()()()']
  • Backtracking with the counts of open and close brackets. The number of results is the n-th Catalan number.
Q6
Search in a rotated sorted array.
def search(a, t):
    lo, hi = 0, len(a) - 1
    while lo <= hi:
        m = (lo + hi) // 2
        if a[m] == t: return m
        if a[lo] <= a[m]:                     # left half sorted
            if a[lo] <= t < a[m]: hi = m - 1
            else: lo = m + 1
        else:                                 # right half sorted
            if a[m] < t <= a[hi]: lo = m + 1
            else: hi = m - 1
    return -1
  • O(log n): one half is always sorted, so decide which side the target lies on.

03How to prepare

Sources

Created by Ajeetkumar