Airbnb
Online marketplace for lodging with strong data science and infrastructure.
4 Rounds
~21 Days
Hard
The Interview Loop
Recruiter Screen (30 min)
Standard fit check, behavioral questions, and resume overview.
Technical Loop (3-4 Rounds)
Deep dive into domain knowledge, coding, and system design.
Interview Question Bank
Cloud Engineer
•
Behavioral
•
medium
Airbnb moves fast, but infrastructure mistakes can be costly. Tell me about a time you had to deploy an urgent hotfix to production infrastructure. How did you balance speed with safety?
#Risk Management
#Agility
#Production Support
Cloud Engineer
•
Behavioral
•
medium
Describe a situation where you strongly disagreed with a product engineering team about an architectural decision, such as choosing a specific AWS service. How did you resolve the conflict?
#Conflict Resolution
#Stakeholder Management
#Influence
Cloud Engineer
•
Behavioral
•
medium
Airbnb's core value is 'Be a Host'. Tell me about a time you had to embody this value while supporting internal software engineering teams during a major infrastructure outage.
#Core Values
#Empathy
#Incident Response
#Communication
Cloud Engineer
•
Coding
•
easy
Given a list of dictionaries representing EC2 instances with keys 'instance_id', 'cpu_utilization', 'days_running', and 'tags', write a function to return a list of instance IDs to terminate. Terminate instances under 5% CPU for over 7 days, but never terminate instances with the tag 'critical'.
#Data Structures
#Filtering
#Automation Logic
Cloud Engineer
•
Coding
•
medium
Write a Python script to parse a directory of AWS CloudTrail log files (JSON format) to identify and output any unauthorized API calls (AccessDenied) grouped by IAM role.
#Python
#JSON Parsing
#AWS CloudTrail
#Security
Cloud Engineer
•
Coding
•
medium
Write a script that takes a Terraform plan output in JSON format and fails the CI build (returns exit code 1) if any AWS S3 buckets are being created without 'aws_s3_bucket_server_side_encryption_configuration' defined.
#Terraform
#JSON Parsing
#Security Compliance
#CI/CD
Cloud Engineer
•
System Design
•
hard
Design a highly available and scalable infrastructure for Airbnb's search service to handle massive traffic spikes during events like New Year's Eve, ensuring sub-second latency globally.
#AWS
#Kubernetes
#High Availability
#Global Load Balancing
Cloud Engineer
•
System Design
•
hard
Design an immutable infrastructure deployment pipeline for Airbnb's payment processing service. The pipeline must ensure zero downtime, strict compliance checks, and automated rollbacks.
#Terraform
#Deployment Pipelines
#Immutable Infrastructure
#Blue/Green Deployment
Cloud Engineer
•
System Design
•
hard
Design a centralized logging and observability platform capable of ingesting, processing, and querying petabytes of logs per day from Airbnb's global infrastructure.
#Logging
#Data Pipelines
#Kafka
#Elasticsearch
Cloud Engineer
•
Technical
•
medium
Our AWS bill for Kubernetes (EKS) has spiked by 40% over the last quarter due to fluctuating microservice traffic. Walk me through your technical approach to diagnosing and optimizing these costs without impacting performance.
#AWS Cost Optimization
#Kubernetes
#Auto-scaling
#Spot Instances
Cloud Engineer
•
Technical
•
medium
Walk me through the process and challenges of migrating a legacy stateful application (e.g., an older MySQL cluster) from EC2 instances to Kubernetes.
#StatefulSets
#Persistent Volumes
#Migration
#Databases
Cloud Engineer
•
Technical
•
hard
We are seeing a sudden, intermittent spike in latency between the 'Reservation' service and the 'Pricing' service communicating over our Istio service mesh. How do you troubleshoot this?
#Service Mesh
#Troubleshooting
#Microservices
#Observability
Cloud Engineer
•
Technical
•
medium
How do you handle secrets management and rotation for thousands of microservices running in a large-scale Kubernetes environment?
#Kubernetes
#Secrets Management
#HashiCorp Vault
#AWS Secrets Manager
Cloud Engineer
•
Technical
•
hard
How would you design and implement a multi-region disaster recovery strategy for Airbnb's core booking database with an RPO of 5 minutes and an RTO of 30 minutes?
#Disaster Recovery
#AWS RDS
#Data Replication
#Failover
Cloud Engineer
•
Technical
•
easy
Describe how you would implement IAM least privilege access for a new microservice running on EKS that needs to read objects from a specific S3 bucket, write to a DynamoDB table, and publish to an SNS topic.
#AWS IAM
#Least Privilege
#EKS
#IRSA
Data Engineer
•
Behavioral
•
medium
Tell me about a time you had to build a data pipeline or tool with very ambiguous requirements or limited resources. How did you navigate the ambiguity and ensure the final product delivered business value?
#Ambiguity
#Execution
#Product Sense
Data Engineer
•
Behavioral
•
medium
Tell me about a time you noticed a data quality issue that was affecting downstream stakeholders, such as Data Scientists or Product Managers. How did you communicate the issue, and what steps did you take to resolve and prevent it?
#Communication
#Ownership
#Data Quality
#Stakeholder Management
Data Engineer
•
Coding
•
medium
Write a Python function to parse a massive, multi-gigabyte server log file containing JSON-formatted search events. The function should return the top K most searched destination cities in O(N) time. Assume the file is too large to fit into memory.
#Python
#Generators
#Heaps
#File I/O
Data Engineer
•
Coding
•
hard
Given a table of user page views with `user_id`, `timestamp`, and `page_url`, write a SQL query to group these events into sessions. A new session should start if there is a gap of 30 minutes or more between consecutive page views for a user.
#Window Functions
#Sessionization
#Time-series Data
Data Engineer
•
Coding
•
medium
Given a `bookings` table with columns `listing_id`, `check_in_date`, and `check_out_date`, write a SQL query to find all listings that have overlapping booking dates (double bookings).
#Self Joins
#Date/Time Functions
#Data Quality
Data Engineer
•
Coding
•
easy
Write a Python script to fetch all reviews for a specific Airbnb host using a paginated REST API. You must handle rate limits (HTTP 429) and intermittent network failures gracefully.
#Python
#REST APIs
#Error Handling
#Pagination
Data Engineer
•
Coding
•
medium
Calculate the 7-day conversion rate of users. Given a `searches` table and a `bookings` table, write a SQL query to find the percentage of users who searched for a listing and successfully booked any listing within 7 days of their search.
#Joins
#Date Math
#Conversion Metrics
#Aggregations
Data Engineer
•
Coding
•
medium
Airbnb's API sometimes returns deeply nested JSON dictionaries for listing amenities. Write a recursive Python function to flatten this dictionary so that the keys are concatenated with dots (e.g., 'amenities.kitchen.stove').
#Python
#Recursion
#Data Structures
#JSON Processing
Data Engineer
•
Coding
•
medium
Write a SQL query to calculate the 30-day rolling average of daily gross booking value (GBV) per region. The output should include the date, region, daily GBV, and the rolling average.
#Window Functions
#Rolling Aggregations
#Financial Metrics
Data Engineer
•
System Design
•
medium
Design a batch pipeline to compute the 'Superhost' status for all hosts on the platform every quarter. What technologies would you use, how would you orchestrate it, and how would you ensure data quality before publishing the results to the production database?
#Batch Processing
#Data Quality
#ETL
#Architecture
Data Engineer
•
System Design
•
medium
Design the dimensional data model for Airbnb's 'Experiences' product. Include the necessary fact and dimension tables. Specifically, explain how you would handle slowly changing dimensions (SCD) for a host's 'Superhost' status.
#Dimensional Modeling
#Star Schema
#Slowly Changing Dimensions
#Data Warehousing
Data Engineer
•
System Design
•
hard
Design a real-time data pipeline to ingest availability and pricing updates from hosts and serve them to the search ranking model. The system must handle high throughput during peak seasons and ensure sub-second latency so users don't book unavailable listings.
#Kafka
#Stream Processing
#Event-Driven Architecture
#Data Consistency
Data Engineer
•
Technical
•
medium
How would you implement automated anomaly detection for a critical data warehouse table that tracks daily bookings? What specific metrics or metadata would you monitor, and how would you prevent alert fatigue?
#Data Observability
#Anomaly Detection
#Monitoring
Data Engineer
•
Technical
•
medium
You have an Airflow DAG with 50 tasks that process daily booking data. One task frequently fails due to an external API timeout. How do you design the DAG and the specific task to be idempotent and handle these retries efficiently without reprocessing the entire pipeline?
#Apache Airflow
#Idempotency
#Pipeline Orchestration
#Fault Tolerance
Data Engineer
•
Technical
•
hard
You are joining a massive `users` table with a `searches` table in Apache Spark. The job is stuck on the last few tasks and eventually throws an OutOfMemory error due to data skew caused by bot traffic. How do you optimize this join?
#Apache Spark
#Distributed Computing
#Performance Tuning
#Data Skew
Data Scientist
•
Behavioral
•
medium
Tell me about a time you had to advocate for a data-driven decision that contradicted the intuition of a Product Manager or leadership.
#Stakeholder Management
#Communication
#Data Advocacy
Data Scientist
•
Behavioral
•
medium
Airbnb values being a 'Cereal Entrepreneur'. Tell me about a time you identified a problem outside your direct scope of work and took the initiative to solve it.
#Initiative
#Ownership
#Core Values
Data Scientist
•
Behavioral
•
easy
Describe a time when you had to explain a complex statistical concept (like p-values or confidence intervals) to a completely non-technical stakeholder.
#Cross-functional Collaboration
#Storytelling
Data Scientist
•
Coding
•
medium
Given a 'searches' table and a 'bookings' table, write a SQL query to calculate the search-to-booking conversion rate for each city over the past 30 days, considering only searches that resulted in a booking within 7 days of the search.
#Joins
#Date Functions
#Aggregations
#Conversion Rate
Data Scientist
•
Coding
•
hard
Write a SQL query to find all hosts who have had 3 or more consecutive cancelled bookings. You are given a 'bookings' table with booking_id, host_id, created_at, and status ('completed', 'cancelled').
#Window Functions
#Gaps and Islands
#Advanced SQL
Data Scientist
•
Coding
•
medium
Given a list of user session logs represented as tuples (user_id, timestamp, action), write a Python function to calculate the average session length. A session ends if there is 30 minutes of inactivity.
#Data Structures
#Parsing
#Python
#Time Complexity
Data Scientist
•
System Design
•
hard
How would you design the search ranking algorithm for Airbnb Experiences? What features would you use, and how would you balance relevance with exploring new experiences?
#Search & Ranking
#Recommendation Systems
#Explore/Exploit
Data Scientist
•
System Design
•
hard
How would you design the machine learning system for Airbnb's 'Smart Pricing' feature, which suggests optimal nightly rates to hosts?
#Regression
#Feature Engineering
#Dynamic Pricing
#Model Architecture
Data Scientist
•
Technical
•
medium
How do you handle seasonality and special events (like the Olympics or Taylor Swift concerts) when forecasting daily active users (DAU) and bookings on the Airbnb platform?
#Forecasting
#Seasonality
#Anomaly Detection
#Prophet/ARIMA
Data Scientist
•
Technical
•
medium
You notice that the booking conversion rate in Tokyo has dropped by 15% week-over-week. Walk me through exactly how you would investigate the root cause.
#Root Cause Analysis
#Data Segmentation
#Metrics
Data Scientist
•
Technical
•
medium
We ran an A/B test for a new checkout flow. The results show a statistically significant increase in the number of bookings, but a statistically significant decrease in total Gross Booking Value (GBV). What would you recommend we do?
#Trade-offs
#Business Strategy
#Statistical Significance
Data Scientist
•
Technical
•
medium
We are planning to launch the 'Flexible Dates' search feature, allowing users to search without exact dates. What metrics would you define to evaluate the success of this launch?
#KPIs
#Feature Launch
#User Behavior
Data Scientist
•
Technical
•
medium
Airbnb is considering changing its host cancellation policy to penalize hosts more heavily for last-minute cancellations. How would you design an experiment to test this policy change?
#A/B Testing
#Experiment Design
#Marketplace Dynamics
Data Scientist
•
Technical
•
hard
Airbnb wants to launch a referral program where existing hosts invite new hosts. How would you design an A/B test for this, keeping in mind that adding more hosts in a city might take bookings away from existing hosts?
#Network Effects
#Marketplace Interference
#Cluster Randomization
Data Scientist
•
Technical
•
hard
Due to new local regulations in Paris, Airbnb had to restrict the maximum nights a host can rent out their entire home. We couldn't run an A/B test. How would you measure the causal impact of this regulation on overall booking revenue in Paris?
#Difference-in-Differences
#Synthetic Control
#Observational Data
Machine Learning Engineer
•
Behavioral
•
medium
Tell me about a time your ML model performed well offline but failed or degraded during online A/B testing. How did you debug and resolve the issue?
#Debugging
#Model Deployment
#Offline-to-Online Gap
Machine Learning Engineer
•
Behavioral
•
easy
Airbnb's core value is 'Be a Host'. Tell me about a time you mentored a junior engineer or went out of your way to help a colleague succeed on a difficult ML project.
#Mentorship
#Collaboration
#Core Values
Machine Learning Engineer
•
Behavioral
•
medium
Tell me about a time you disagreed with a Product Manager regarding the launch of a new ML feature because the model wasn't ready or the metrics were conflicting. How did you navigate the disagreement?
#Conflict Resolution
#Stakeholder Management
#Communication
Machine Learning Engineer
•
Coding
•
medium
Given a dictionary of words and a string of characters (representing a user's misspelled search query), find the longest word in the dictionary that can be formed by deleting some characters from the given string.
#Two Pointers
#String Manipulation
#Sorting
Machine Learning Engineer
•
Coding
•
hard
Given an array of search results represented as strings (host_id, listing_id, score, city), paginate the results such that no two listings from the same host appear on the same page if possible, while maintaining the descending score order. Each page holds exactly N results.
#Hash Maps
#Greedy
#Queues
Machine Learning Engineer
•
Coding
•
medium
Given a list of booking requests represented as intervals [start_date, end_date] and an associated profit for each, write a function to find the maximum profit you can make without accepting overlapping bookings.
#Dynamic Programming
#Sorting
#Intervals
Machine Learning Engineer
•
System Design
•
hard
Design the Smart Pricing feature for hosts. What features would you use and how do you handle the cold start problem for a new listing?
#Regression
#Time Series
#Dynamic Pricing
Machine Learning Engineer
•
System Design
•
medium
Design an LLM-powered system to automatically extract amenities, categorize listing descriptions, and generate a concise summary from unstructured host text and guest reviews.
#Large Language Models
#NLP
#Prompt Engineering
#Data Pipelines
Machine Learning Engineer
•
System Design
•
hard
Design a real-time feature store for Airbnb's ML models. How do you ensure consistency between offline training data and online serving data?
#Feature Store
#Data Engineering
#Stream Processing
#Database Design
Machine Learning Engineer
•
System Design
•
hard
Design Airbnb's Search Ranking system. How do you balance guest preferences with host acceptance rates?
#Learning to Rank
#Personalization
#Two-sided Marketplaces
Machine Learning Engineer
•
System Design
•
hard
Design a Trust & Safety ML pipeline to detect fake listings or fraudulent hosts in real-time before they go live on the platform.
#Anomaly Detection
#Classification
#Real-time Systems
#Graph Neural Networks
Machine Learning Engineer
•
Technical
•
hard
Explain how you would design an A/B test for a new search ranking algorithm. How do you account for network effects and cannibalization in a two-sided marketplace like Airbnb?
#A/B Testing
#Network Effects
#Causal Inference
Machine Learning Engineer
•
Technical
•
medium
We want to build a model to predict the likelihood of a guest canceling a booking. The dataset is highly imbalanced (cancellations are rare). What metrics would you use to evaluate this model, and how would you handle the class imbalance during training?
#Imbalanced Data
#Evaluation Metrics
#Classification
Machine Learning Engineer
•
Technical
•
hard
How would you handle position bias in Airbnb's search ranking logs when training a new click-through rate (CTR) prediction model?
#Bias Mitigation
#Click Models
#Feature Engineering
Machine Learning Engineer
•
Technical
•
medium
In our Learning to Rank (LTR) model for search, we want to optimize for NDCG. Explain the difference between pointwise, pairwise, and listwise approaches. Which would you choose for Airbnb search and why?
#Learning to Rank
#Information Retrieval
#Loss Functions
Software Engineer
•
Behavioral
•
hard
Describe a time you identified a significant technical debt or architectural flaw in your system. How did you convince product managers to allocate time to fix it instead of building new features?
#Influence
#Technical Debt
#Stakeholder Management
#Prioritization
Software Engineer
•
Behavioral
•
medium
Airbnb's core value is 'Be a Host'. Tell me about a time you went out of your way to mentor a junior engineer or make a new team member feel welcome and productive.
#Mentorship
#Empathy
#Team Building
#Core Values
Software Engineer
•
Behavioral
•
medium
Tell me about a time you had to 'Embrace the Adventure'. Describe a project where the requirements changed drastically halfway through, and how you managed the delivery.
#Adaptability
#Project Management
#Communication
#Core Values
Software Engineer
•
Coding
•
medium
Given a list of flights represented by source, destination, and price, and an integer K representing the maximum number of stops, find the cheapest flight from a starting city to a destination.
#Graph Traversal
#Dijkstra's Algorithm
#Breadth-First Search
#Dynamic Programming
Software Engineer
•
Coding
•
hard
Given a 2D board of characters representing a map grid and a list of words representing points of interest, find all words present in the board. Words can be constructed from letters of sequentially adjacent cells.
#Trie
#Backtracking
#Depth-First Search
Software Engineer
•
Coding
•
medium
Given a string representing a CSV file, parse it into a 2D array. Handle commas inside quotes, escaped quotes, and newlines within quoted fields properly.
#String Manipulation
#Parsing
#State Machines
Software Engineer
•
Coding
•
hard
Given an array of integers representing the nightly rates of an Airbnb listing over a month, find the maximum profit you can make by buying and selling a block of dates, with a mandatory cooldown period of 1 day between bookings.
#Dynamic Programming
#State Machines
#Optimization
Software Engineer
•
Coding
•
medium
Implement a time-based key-value store. You need to support `set(key, value, timestamp)` and `get(key, timestamp)` which returns the value set at the closest time at or before the given timestamp.
#Hash Maps
#Binary Search
#Data Structures
Software Engineer
•
Coding
•
medium
Implement a simplified version of a rate limiter that allows 'n' requests per 't' seconds for a given user ID. How would you scale this across multiple servers?
#Rate Limiting
#Sliding Window
#Distributed Systems
Software Engineer
•
System Design
•
hard
Design Airbnb's search and filtering backend. Users should be able to search by map bounding box, dates, number of guests, and amenities with sub-second latency.
#Geospatial Indexing
#Elasticsearch
#Caching
#Microservices
Software Engineer
•
System Design
•
medium
Design a real-time messaging system between Airbnb hosts and guests. Ensure message delivery guarantees, offline push notifications, and support for image attachments.
#WebSockets
#Message Queues
#Database Sharding
#Object Storage
Software Engineer
•
System Design
•
hard
Design Airbnb's dynamic pricing engine. The system should ingest historical booking data, local events, and seasonality to suggest daily prices for hosts in real-time.
#Machine Learning Infrastructure
#Stream Processing
#Kafka
#Data Pipelines
Software Engineer
•
System Design
•
hard
Design the reservation and booking system for Airbnb. Specifically, how do you ensure that a single listing cannot be double-booked for the exact same dates by two concurrent users?
#Concurrency
#Distributed Transactions
#Database Locks
#Idempotency
Software Engineer
•
Technical
•
medium
Design a GraphQL schema for the Airbnb Listing Details page. How would you handle resolving nested reviews, host details, and availability calendars efficiently without N+1 query issues?
#GraphQL
#API Design
#DataLoaders
#Performance Optimization
Software Engineer
•
Technical
•
hard
Given two tables: `bookings` (id, user_id, listing_id, check_in, check_out, status) and `listings` (id, host_id, city), write a SQL query to find the hosts who have had more than 3 consecutive canceled bookings in the last 6 months.
#Window Functions
#Data Aggregation
#Complex Joins
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.