← Airbnb Interview Insights

Airbnb·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
May 2026

Summary

Airbnb system design round focused entirely on building a recommendations service from scratch. The scope was enormous and I underestimated how deep they wanted to go on privacy and consent handling specifically.

Questions Asked (8)

Q1

Design a scalable recommendations service for a consumer app that handles personalization, ranking, and feedback loops while remaining privacy-conscious.

System DesignTechnical Trade-offsData Modeling
Author's notes

I started with the API surface and data model which felt safe, but the interviewer kept pulling me toward privacy constraints before I was ready.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then design a high-level architecture that separates offline and online components. Focus on scalability, personalization, ranking, and privacy, and discuss trade-offs and feedback loops.

Pro tip: Emphasize privacy-preserving techniques like federated learning or differential privacy, and explain how you'd measure and mitigate feedback loops to avoid filter bubbles.

1. Clarify Requirements

Ask about scale (users, items, QPS), latency, personalization goals, privacy regulations, and feedback mechanisms.

2. High-Level Architecture

Outline components: data ingestion, feature store, model training (offline), model serving (online), ranking service, and feedback collection.

3. Personalization & Ranking

Describe how to generate personalized recommendations using collaborative filtering, content-based, or deep learning models, and how to rank candidates with business rules.

4. Scalability & Reliability

Discuss scaling strategies: sharding, caching, async processing, and fallbacks to handle high traffic and ensure low latency.

5. Privacy & Feedback Loops

Explain privacy-preserving techniques (e.g., differential privacy, on-device processing) and how to design feedback loops that improve models without creating bias.

Key Points to Mention

  • Two-stage architecture: candidate generation and ranking
  • Feature store for consistent online/offline features
  • Real-time and batch processing for feedback loops
  • Privacy techniques: differential privacy, federated learning, anonymization
  • A/B testing and metrics for evaluation
  • Handling cold start and exploration vs exploitation

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you handle cold-start for new users and new items in a recommendations system?

System DesignProduct Sense & Ideation
Author's notes

This came out as a follow-up and I fumbled it a bit.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem scope and Airbnb's context, then structure your answer around user-side and item-side cold-start separately. Discuss practical techniques like using side information, meta-learning, and exploration strategies, and tie them to business metrics like booking conversion and host engagement.

Pro tip: Emphasize that cold-start is not just a modeling problem but a product and systems problem—propose a feedback loop where early interactions are deliberately collected to improve future recommendations, and mention how you'd measure success with online experiments.

1. Clarify scope and constraints

Ask clarifying questions about what 'new' means (e.g., new user with zero interactions, new listing with no bookings) and what data is available (e.g., sign-up info, listing attributes).

2. Leverage side information

Use available metadata such as user demographics, location, device, and item attributes (e.g., listing photos, amenities, host history) to create initial representations.

3. Apply transfer and meta-learning

Use models like meta-learners or feature-based embeddings that generalize from similar users/items, and consider pre-training on related tasks.

4. Design exploration strategies

Implement bandit algorithms or active learning to balance exploitation and exploration, ensuring new items/users get sufficient exposure to gather feedback.

5. Measure and iterate

Define offline and online metrics (e.g., CTR, booking rate, diversity) and set up A/B tests to validate cold-start solutions, iterating based on results.

Key Points to Mention

  • Content-based filtering using item attributes and user profiles
  • Hybrid models that combine collaborative filtering with side information
  • Meta-learning approaches like MAML for fast adaptation
  • Exploration-exploitation trade-off via multi-armed bandits
  • Business metrics: booking conversion, host engagement, and long-term user retention
  • Airbnb-specific context: leveraging host and guest profiles, listing descriptions, and location data

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

What caching and storage strategies would you use to meet low-latency SLA targets for recommendation serving?

System DesignTechnical Trade-offs
Author's notes

Talked about pre-computing recommendations and serving from a cache keyed by user ID.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the SLA targets (e.g., p99 latency) and workload characteristics (QPS, catalog size, update frequency). Then propose a multi-tier caching architecture (client, CDN, application, distributed cache) with appropriate storage choices (in-memory, SSD, etc.) and justify trade-offs between latency, consistency, and cost.

Pro tip: Emphasize that caching is not just about speed but also about reducing load on downstream systems and handling failures gracefully. Mention specific eviction policies (e.g., LRU, LFU) and cache invalidation strategies (e.g., TTL, write-through) to show depth.

1. Clarify requirements and constraints

Ask about SLA targets (e.g., p99 < 100ms), QPS, data size, update frequency, and consistency requirements. This ensures your solution is tailored to the problem.

2. Design a multi-tier caching strategy

Propose layers: client-side caching, CDN for static assets, application-level in-memory cache (e.g., Redis), and distributed cache (e.g., Memcached). Explain how each tier reduces latency and load.

3. Choose appropriate storage technologies

Select storage based on access patterns: in-memory (Redis) for hot data, SSD-backed databases (Cassandra) for warm data, and object storage (S3) for cold data. Discuss trade-offs between latency, cost, and durability.

4. Address cache invalidation and consistency

Describe strategies like TTL, write-through, write-behind, and event-driven invalidation. Explain how to handle stale data and maintain consistency with the source of truth.

5. Monitor and optimize

Mention metrics (hit rate, latency, eviction rate) and tools (Prometheus, Grafana). Discuss how to adapt caching parameters (e.g., TTL, size) based on monitoring.

Key Points to Mention

  • Multi-tier caching (client, CDN, application, distributed)
  • Cache eviction policies (LRU, LFU, TTL)
  • Cache invalidation strategies (write-through, write-behind, event-driven)
  • Storage options: in-memory (Redis), SSD (Cassandra), object storage (S3)
  • Trade-offs: latency vs. consistency, cost vs. performance
  • Monitoring and metrics (hit rate, latency, eviction rate)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

How would you support A/B experiments and ensure the recommendation system doesn't corrupt experiment results?

A/B Testing & ExperimentationSystem Design
Author's notes

This one tripped me up more than it should have.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining the end-to-end experimentation pipeline, emphasizing randomization, isolation, and metric integrity. Then focus on how the recommendation system could introduce biases or leakage and describe concrete safeguards like consistent hashing, feature flagging, and guardrail metrics. Finally, discuss monitoring and validation to detect and correct issues.

Pro tip: Highlight the importance of pre-experiment validation and post-experiment sanity checks, such as A/A tests and sample ratio mismatch detection, to catch subtle corruptions early. Also, mention that you would involve data scientists and product managers to define success metrics and guardrails upfront.

1. Define Experiment Goals and Metrics

Clarify the hypothesis, primary metrics, and guardrail metrics with stakeholders to ensure alignment and prevent metric gaming.

2. Design Randomization and Assignment

Use consistent hashing to assign users to variants, ensuring stable assignment and avoiding interference between experiments.

3. Isolate Recommendation System Components

Ensure the recommendation model and feature pipeline are variant-aware, avoiding cross-contamination through shared state or caching.

4. Implement Monitoring and Guardrails

Set up real-time monitoring for sample ratio mismatch, metric anomalies, and guardrail violations to detect corruption early.

5. Validate and Analyze Results

Conduct A/A tests, sanity checks, and statistical analysis to confirm validity before drawing conclusions.

Key Points to Mention

  • Consistent hashing for stable user assignment
  • Feature flagging to control model variants
  • Avoiding shared mutable state in recommendation pipelines
  • Sample ratio mismatch (SRM) detection
  • Guardrail metrics to prevent negative user impact
  • A/A tests for validation of experiment infrastructure

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

How would you handle regional privacy regulations and user consent in the context of a personalization pipeline?

System DesignTechnical Trade-offsAdaptability & Ambiguity
Author's notes

Honestly the part I was least prepared for.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope: which regions, what types of personalization, and what data is involved. Then propose a consent-aware architecture that separates data collection, consent management, and personalization logic, with region-specific policies enforced at each layer. Emphasize trade-offs between personalization quality and privacy, and how you'd adapt as regulations evolve.

Pro tip: Show you understand that privacy isn't just a legal checkbox—it's a system design constraint. Mention that you'd design for consent as a first-class service, and that you'd instrument the pipeline to measure the impact of privacy choices on key metrics like conversion or engagement.

1. Clarify requirements and constraints

Ask about target regions, data types (PII, behavioral), and business goals. Identify relevant regulations (GDPR, CCPA, LGPD) and their specific requirements for consent, data minimization, and user rights.

2. Design a consent management layer

Propose a centralized consent service that records user preferences per region and purpose, with an API for the personalization pipeline to query. Ensure it supports granular opt-ins, withdrawals, and audit trails.

3. Architect the personalization pipeline with privacy by design

Segment the pipeline into data ingestion, feature computation, model training, and serving. Apply region-specific rules at each stage: e.g., anonymize or aggregate data before training, filter features based on consent, and enforce access controls.

4. Implement region-aware policy enforcement

Use a policy engine or configuration service to dynamically apply rules based on user region and consent status. For example, in the EU, only use data from users who opted in; in California, allow opt-out of sale but still personalize with first-party data.

5. Monitor, iterate, and handle trade-offs

Instrument the pipeline to track consent rates, personalization performance, and compliance. Discuss trade-offs: stricter privacy may reduce personalization accuracy; propose A/B tests or fallback strategies (e.g., contextual personalization) to mitigate.

Key Points to Mention

  • GDPR, CCPA, and other regional regulations and their key differences (opt-in vs opt-out, data subject rights).
  • Consent as a service: centralized management, versioning, and real-time enforcement.
  • Data minimization and purpose limitation: only collect and use data necessary for personalization.
  • Anonymization and pseudonymization techniques to reduce privacy risk while preserving utility.
  • Trade-offs between personalization quality and privacy, and how to measure and communicate them.
  • Auditability and transparency: logging consent changes and data usage for compliance.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q6

How would you detect and prevent abuse or spam from corrupting recommendation quality?

System DesignProduct Analytics & Metrics
Author's notes

Short answer: I mostly winged it.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem as a two-sided challenge: detecting abuse signals and building defenses into the recommendation pipeline. Then walk through a layered approach covering data collection, detection methods, and mitigation strategies, emphasizing trade-offs between precision and recall. Finally, discuss how to measure success and iterate.

Pro tip: Emphasize that abuse detection is an adversarial problem—attackers adapt, so you need continuous monitoring and feedback loops, not just static rules. Also, highlight the importance of cross-functional collaboration with trust & safety teams.

1. Define abuse and success metrics

Clarify what constitutes abuse (e.g., fake accounts, fake reviews, click fraud) and define metrics like precision/recall of detection, impact on recommendation quality (CTR, bookings), and false positive rate.

2. Collect and engineer signals

Identify data sources (user behavior, content, graph connections) and engineer features that indicate abuse, such as velocity of actions, IP patterns, device fingerprints, and text similarity.

3. Detect abuse with layered methods

Combine rule-based filters, anomaly detection, and supervised ML models (e.g., gradient boosting) to flag suspicious activity. Use graph-based methods to uncover coordinated campaigns.

4. Mitigate and prevent in the recommendation pipeline

Apply interventions: filter out abusive data from training, downrank suspicious items, add diversity and exploration to reduce manipulation impact, and enforce account-level penalties.

5. Monitor, evaluate, and iterate

Set up dashboards for abuse metrics, run A/B tests to measure impact on recommendation quality, and create feedback loops with trust & safety to adapt to new attack patterns.

Key Points to Mention

  • Adversarial nature: attackers constantly evolve, so detection must be adaptive.
  • Trade-off between false positives (blocking legitimate users) and false negatives (allowing abuse).
  • Use of graph-based techniques to detect coordinated abuse (e.g., fake accounts boosting a listing).
  • Importance of data hygiene: filtering abusive data from training sets to prevent model corruption.
  • Integration with trust & safety and policy teams for enforcement actions.
  • Metrics: measure both detection performance and business impact (e.g., booking quality, user retention).

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q7

Walk me through how you'd design backfill and reprocessing pipelines when the recommendation model changes.

System DesignTechnical Trade-offs
Author's notes

This was near the end and I was running low on steam.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements and constraints, then outline a high-level design that separates backfill (historical data) from reprocessing (recent data), and discuss trade-offs around consistency, cost, and latency. Emphasize idempotency, versioning, and monitoring to ensure a safe rollout.

Pro tip: Mention the importance of a dual-write or shadow mode to validate the new model before full backfill, and highlight how you'd handle partial failures with checkpointing and retries.

1. Clarify Requirements and Constraints

Ask about data volume, freshness requirements, acceptable downtime, and consistency guarantees. Understand the difference between backfill (one-time historical) and reprocessing (ongoing or recent).

2. Design for Idempotency and Versioning

Ensure pipelines are idempotent so they can be safely retried. Use model versioning to distinguish outputs and allow rollback. Store metadata like model version, timestamp, and input data version.

3. Choose Architecture: Batch vs. Stream

For backfill, use batch processing (e.g., Spark) over historical data. For reprocessing, consider a streaming or micro-batch approach to handle recent data with lower latency. Discuss trade-offs.

4. Implement Checkpointing and Monitoring

Use checkpointing to resume from failures without reprocessing everything. Monitor progress, data quality, and model performance metrics. Set up alerts for anomalies.

5. Rollout Strategy and Validation

Start with a small subset (canary), compare new vs. old model outputs, and gradually expand. Use shadow mode to run new model in parallel without affecting production.

Key Points to Mention

  • Idempotency and exactly-once processing semantics
  • Model versioning and metadata tracking
  • Batch vs. stream processing trade-offs (cost, latency, complexity)
  • Checkpointing and failure recovery
  • Shadow mode and canary deployments for validation
  • Data consistency and rollback strategies

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q8

What monitoring and alerting would you set up for a recommendations service in production?

Product Analytics & MetricsSystem Design
Author's notes

Covered the basics: latency percentiles, cache hit rate, CTR drift, model staleness.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the service's role and key user journeys, then structure your answer around the four golden signals (latency, traffic, errors, saturation) and business metrics. Emphasize actionable alerts with clear ownership and runbooks, and discuss how you'd iterate based on incidents.

Pro tip: Tie every alert to a user-facing symptom or business KPI, and set thresholds based on SLOs—not arbitrary numbers. This shows you think in terms of impact and reliability, not just infrastructure.

1. Clarify scope and objectives

Ask about the service's architecture, critical user journeys, and SLOs to tailor monitoring. This ensures you focus on what matters most.

2. Define key metrics

Identify technical metrics (latency, error rate, throughput, resource usage) and business metrics (CTR, conversion, revenue impact).

3. Design alerting strategy

Set alerts on SLO violations and anomalies, with severity levels, clear ownership, and runbooks. Avoid alert fatigue by using multi-condition and rate-based alerts.

4. Implement monitoring and dashboards

Use tools like Prometheus, Grafana, and distributed tracing to visualize metrics and traces. Create dashboards for different stakeholders (engineering, product, on-call).

5. Iterate and improve

Review alerts post-incident, tune thresholds, and add new metrics as the service evolves. Conduct regular game days to test monitoring.

Key Points to Mention

  • Golden signals: latency, traffic, errors, saturation
  • Business metrics: click-through rate, conversion rate, revenue per user
  • SLOs and error budgets to drive alert thresholds
  • Alerting best practices: actionable, owned, with runbooks
  • Distributed tracing and logging for debugging
  • Dashboarding for different audiences and incident response

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.