InterviewStack.io LogoInterviewStack.io

Airbnb Software Engineer (Mid-Level) Interview Preparation Guide

Software Engineer
Airbnb
Mid Level
7 rounds
Updated 6/14/2026

Airbnb's software engineer interview process for mid-level candidates consists of three primary stages: an initial recruiter screening focusing on background validation and cultural fit, a technical phone screen assessing coding fundamentals and problem-solving approach, and an extensive onsite interview spanning 5-7 hours with multiple rounds covering coding problems, system design, and behavioral assessment. The process emphasizes both technical excellence and alignment with Airbnb's mission and core values. All candidates follow the same standardized process with team matching occurring after successful completion of all interview rounds.

Interview Rounds

1

Recruiter Screening

2

Technical Phone Screen

3

Onsite Coding Round 1

4

Onsite Coding Round 2

5

Onsite System Design Round

6

Onsite Behavioral Round 1

7

Onsite Behavioral Round 2 / Culture Fit

Frequently Asked Software Engineer Interview Questions

Debugging and Testing ML SystemsEasyTechnical
48 practiced

You get a shape-mismatch runtime error running a Keras or PyTorch forward pass. Describe a step-by-step approach to find and fix the tensor-dimension bug: using a model summary, printing shapes at each stage of the forward call, adding assertions inside custom layers, and writing a small unit test with a known input shape that would catch this class of bug before it reaches training.

Debugging and Performance OptimizationHardTechnical
46 practiced

Describe how to reduce disk I/O bottlenecks in a data-processing pipeline that sorts very large files on disk. Discuss external merge-sort strategies, parallel I/O, SSD vs HDD trade-offs, buffer sizing, and relevant OS-level tuning (I/O scheduler, read-ahead).

Project Delivery and Execution OwnershipEasyTechnical
25 practiced

What five metrics would you track to assess the health of a two-week sprint (for example: sprint velocity, burndown rate, escaped defects, cycle time, blocked days)? For each metric explain (a) why it matters, (b) what a negative trend would indicate, and (c) one concrete follow-up action you would take if you observed that negative trend.

Sorting and Searching AlgorithmsHardTechnical
62 practiced

Implement an algorithm to merge k sorted arrays into a single sorted array using a min-heap. Your implementation should run in O(n log k) where n is the total number of elements. Then modify your code to output only the first m smallest elements without merging the full arrays, and explain complexity.

Diversity, Equity, Inclusion, and BelongingEasyTechnical
80 practiced

What is an Employee Resource Group (ERG), and how can an individual contributor support one in both a technical and a non-technical way? Suggest one measurable outcome you'd track for ERG impact.

Career Goals and ProgressionMediumTechnical
82 practiced

You're weighing a real investment in your own growth, whether that's a certification, an advanced degree, or simply protecting learning time against delivery pressure. Walk me through how you'd decide it's worth it, and how you'd negotiate the time or budget to do it.

Cross-Functional CollaborationHardTechnical
49 practiced

You've been quietly working around a stalled dependency on another team for two weeks, hoping it resolves itself. At what point does continuing to wait become the wrong call, and how do you escalate it without damaging the relationship?

Microservices Architecture and Service DecompositionHardTechnical
57 practiced

Compare polyglot persistence (each bounded context choosing its own storage technology) with a single database technology standardized across all bounded contexts. Discuss the trade-offs in operational overhead, developer autonomy, backup/restore/recovery complexity, and data-migration difficulty, and describe when polyglot persistence earns its added complexity.

Graphs and Graph AlgorithmsEasyTechnical
23 practiced

Given an R x C binary grid where 0 is open and 1 is blocked, implement a function in Python to compute the shortest path length from a start cell to a goal cell using 4-direction BFS. Function signature: def shortest_grid_path(grid: List[List[int]], start: Tuple[int,int], goal: Tuple[int,int]) -> int. Return -1 if unreachable. Discuss complexity and optimizations for large grids.

Code Review and Working with Existing CodebasesMediumTechnical
69 practiced

Write a Python script that parses the output of git diff --numstat (tab-separated added, deleted, filename lines) from STDIN and emits JSON with total additions, total deletions, number of files changed, and a list of files exceeding 200 additions. Describe how this script could be integrated into a CI job to label large PRs automatically.

Additional Information

Want to create your own tailored preparation guide using our deep research?

Get Started for Free

Interview-Ready Courses

Visual-first, interactive, structured learning paths

Browse Software Engineer jobs

AI-enriched listings across hundreds of company career pages

Explore Jobs