Assessment tips
- Confirm the current Airbnb pattern from the drive mail before practising old papers
- Finish one problem or section fully before starting the next
- Revise the fundamentals listed in the round table on this page
How Airbnb engineering interviews actually run, synthesized from recent candidate reports and Airbnb’s public hiring pages. The loop usually maps as recruiter screen → technical screen (CoderPad or OA) → virtual onsite with coding, system design, a dedicated code-review round, and one or two Core Values interviews. Patterns shift by team and level: treat this as a prep map, not a script.
Process variance to expect: India openings skew experienced (platform, backend, compliance-tech) rather than campus fresher drives; the code-review round replaced a second coding round in many 2024+ reports; and DP-heavy product-framed problems show up more often than at peer consumer companies. Practise runnable code that passes tests, review other people’s PRs out loud, and prepare belonging/hosting stories you can defend under follow-ups.
Reported total compensation for an India-based, entry-level (G7) Software Engineer is in the ₹35-45 LPA range per community salary aggregators (including levels.fyi) - Airbnb hires very selectively at this level, so treat it as an approximate reported band, not a guaranteed offer.
| Round | Duration | What it tests |
|---|---|---|
| Recruiter screen | ~30 min | Background, motivation, logistics, comp expectations |
| Technical screen | 45-60 min | Live coding (CoderPad) or online assessment (HackerRank/CodeSignal) |
| Onsite - Coding (1-2 rounds) | 45-60 min each | DSA (medium-hard), dynamic programming, product-flavoured problems |
| Onsite - System design | 45-60 min | Scalable, consumer-product system design |
| Onsite - Code review | 45-60 min | Triaging real/pseudo-code for correctness, security, readability |
| Core Values interview (1-2) | 45 min each | Belonging, ownership, ambiguity - via Airbnb’s stated values |
An honest caveat first: there is no public body of Indian fresher/campus write-ups for Airbnb, because Airbnb does not run Indian campus drives and its India offices hire mostly experienced engineers. What exists publicly is experienced-hire and US new-grad reporting on community forums and interview-prep aggregators (linked under Sources). Treat the below as pooled candidate reporting, not one student’s story.
One candidate who received an offer described a loop built around two DP problems:
Takeaways
Not every loop is a good experience, and India-based reports in particular skew negative:
Takeaways
Sources:
Airbnb’s Core Values interview effectively doubles as its HR/behavioural round: belonging, ownership, ambiguity, and mission alignment, alongside standard logistics (location, notice period). Prepare those answers on the dedicated page rather than cramming them into this hub.
Use these as frames, not scripts - interviewers probe follow-ups.
Q. How do you solve Cheapest Flights Within K Stops?
A. This is a shortest-path problem with an extra constraint on edge count, so plain Dijkstra is wrong because the cheapest path to a node may use too many hops while a pricier one stays within budget. The clean solution is a Bellman-Ford relaxation run exactly K+1 times: keep a cost array initialised to infinity except the source at 0, and on each of the K+1 rounds compute a fresh copy from the previous round’s costs, relaxing every edge as newCost[v] = min(newCost[v], prev[u] + weight). Copying the previous round is essential, since relaxing in place would let a single round use more than one new edge. That gives O(K times E) time and O(V) space. The alternative is a BFS or Dijkstra variant where the state is the pair of node and stops used, and you prune a state only when you have already reached that node with both fewer stops and lower cost. Airbnb follow-ups usually ask you to reconstruct the actual itinerary, which needs a parent pointer stored per round.
Q. How do you find the longest substring without repeating characters?
A. Use a sliding window with a hash map from character to its most recent index. Move the right pointer across the string one character at a time; if the character is already in the map at an index at or after the current left pointer, jump left to that index plus one, which discards the duplicate in a single step rather than shrinking one character at a time. Update the map with the current index and track the maximum of right - left + 1. Each character is visited once, so it is O(n) time, and space is O(min(n, alphabet size)). The common bug is failing to guard the left jump with the check that the stored index is still inside the current window, which lets left move backwards on inputs like abba and gives a wrong answer. Airbnb interviewers frequently extend this to at most K distinct characters, which swaps the map for a count map and shrinks the window while the distinct count exceeds K.
Q. How do you detect a cycle in a directed graph?
A. Use DFS with three colours. White means unvisited, grey means on the current recursion stack, and black means fully explored. Run DFS from every white vertex; when you reach a neighbour that is grey, you have found a back edge, which is exactly a cycle. A black neighbour is not a cycle, only a previously finished subtree, which is why a simple visited boolean is wrong for directed graphs even though it works for undirected ones. Complexity is O(V + E) time and O(V) space for colours plus recursion depth. The iterative alternative is Kahn’s algorithm: repeatedly remove zero in-degree vertices, and if fewer than V vertices come out, the remainder forms a cycle. For very deep graphs prefer the iterative version, since recursive DFS can overflow the stack.
Q. What is the most efficient way to find the top K frequent elements?
A. First count occurrences in a hash map, which is O(n). Then, for the general case, push counts into a min-heap of size K, popping whenever the heap exceeds K, so the heap always holds the K largest counts; that is O(n log K) time and O(n + K) space, and it is the right answer when K is much smaller than n. If you want strictly linear time, use bucket sort: create an array of n+1 buckets indexed by frequency, place each key in the bucket matching its count, and walk the buckets from the highest index downwards collecting keys until you have K. That is O(n) time and O(n) space, since no frequency can exceed n. A third option is Quickselect on the count array for O(n) average time but O(n squared) worst case. In a real ranking service you would instead approximate with Count-Min Sketch or Space-Saving when the key space will not fit in memory.
Q. How do you approach a dynamic-programming problem framed as a product feature?
A. Work in a fixed order rather than pattern-matching. First name the state precisely, in the vocabulary of the product: for a pricing or booking DP that is usually something like the best value achievable considering the first i nights with j promotions used. Second write the recurrence as a decision at the current index, typically take versus skip, and confirm the problem has optimal substructure and overlapping subproblems, or DP is the wrong tool. Third state the base cases and the answer cell explicitly. Fourth compute time and space from the state space times the transition cost, then look for a rolling-array reduction when each row depends only on the previous one, which turns O(n times W) space into O(W). Finally, if asked which specific items or nights were chosen, keep a parent or choice table and backtrack, because the value table alone does not reconstruct the decision. Saying this sequence out loud is what Airbnb interviewers are scoring, since their DP problems are usually a familiar recurrence wearing an unfamiliar story.
Assessment tips
Interview tips
HR tips
These links are research inputs we used to map round structure, the code-review format, DP emphasis, and outcome notes - not copied page mirrors. We reorganized reports into a process table, takeaways, and a prep checklist for Airbnb.
Cross-check the current recruiter mail or careers posting for timings and pattern changes. Community aggregators (including Blind, Glassdoor, and Taro write-ups linked above) vary by team and year.
For the company overview and FAQs, see the Airbnb hub. For Core Values and logistics prompts, use the Airbnb HR page. For OA drills, see Airbnb placement papers.