← Back to Directory

Airbnb interview notes, page 19 of 19

Large Enterprises

Most of these Airbnb write-ups come from Software Engineers (141), then Machine Learning Engineers (19) and Data Scientists (12). The most reported rounds are the technical phone screen (85), the system design round (47), the behavioral / leadership round (20) and the product sense round (13).

187 interview notes · updated Oct 2026

Airbnb·Software Engineer·Technical Phone Screen

Jul 2026
Airbnb software engineer interview with an object-oriented design question centered on a wallet system. Pretty meaty for a single question, they wanted runnable code on top of the design which I wasn't fully expecting.
  • Design an Airbnb-style wallet system. Define the classes and methods needed to handle balances for guests and hosts, payments, refunds, and payouts. Explain how transactions are recorded and errors are handled, then write runnable code with a main function demonstrating basic operations.

“The part that tripped me up was the transaction recording.”

View Post

Airbnb·Software Engineer·Technical Phone Screen

Jul 2026
Airbnb software engineering interview that was basically a full game engine design problem. More depth than I expected for a single session, covering API design, win detection optimizations, and extensibility all in one go.
  • Design and implement a Connect Four game engine that supports an arbitrary m×n board and a configurable k-in-a-row win condition. The API should include a constructor, a move method returning win/draw/invalid status, and a separate isDraw method.
  • How would you implement win detection across all four directions (horizontal, vertical, and both diagonals) efficiently, ideally in O(1) or near-O(1) time per move? What data structures support this?
  • What is the time and space complexity of your solution?
  • How would you extend the design to support a reset() method and an optional undo() operation efficiently?
  • How would you test this game engine, specifically around edge cases like full columns, out-of-range column inputs, and wins that happen earlier than expected?

“The generalized board part tripped me up at first.”

View Post

Airbnb·Software Engineer·Technical Phone Screen

Jul 2026
Airbnb SWE interview with a graph algorithm problem that looked clean on the surface but had a few wrinkles worth thinking through carefully. One question, no behavioral fluff, just straight into the technical.
  • You're given a directed acyclic graph where each node has a score and each edge has a nonnegative time cost. There's a fixed start node with score zero, and terminal nodes are identified by a naming convention. A path's total value is the sum of node scores minus the sum of edge costs along the way. Find the path from start to any terminal node that maximizes this value, and return both the max value and the actual path. If no terminal is reachable, say so. Walk through your algorithm and give a complexity analysis.

“My first instinct was Dijkstra but that's for minimizing cost, not maximizing a mixed score-minus-cost objective.”

View Post

Airbnb·Software Engineer·Technical Phone Screen

Jul 2026
Airbnb software engineer interview with a meaty coding problem around refund allocation logic. The question had enough edge cases to keep you busy for a while, and the complexity analysis at the end felt like a separate mini-interview on its own.
  • Implement a refund allocation function that takes a list of payments (each with a unique ID, payment method from a fixed set, an ISO-8601 date, and an amount paid), a list of existing refunds linked to those payments, and a new refund request amount. Return a list of allocations specifying how much to refund from each payment, following strict rules: exhaust one payment fully before moving to the next, prioritize methods in a fixed order (store credit first, then credit card, then PayPal), within the same method refund the most recent payments first, cap each payment's refundable amount at what's left after prior refunds, and if the request exceeds what's available return both the partial allocations and the shortfall. Also explain your data structures, grouping and sorting strategy, and analyze time complexity.

“This one took me a minute to even parse correctly.”

View Post

Airbnb·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Airbnb system design round focused entirely on building a dynamic pricing engine for hosts. One very long question that kept branching into new sub-problems every time I thought I'd wrapped up a section.
  • Design an ML-powered system that recommends nightly rental prices to hosts. Walk through the full stack: problem formulation, data sources, feature engineering, modeling approach, training pipeline, inference architecture, and rollout strategy.

“This question kept expanding.”

View Post

Airbnb·Software Engineer·Technical Phone Screen

Jul 2026
Airbnb SWE interview that hit me with two pretty tough LeetCode problems back to back. Not much context given about the round itself but the problems speak for themselves.
  • Given a list of words, find all pairs of indices where concatenating the two words forms a palindrome.
  • Given a grid with walls, open cells, and keys/locks, find the shortest path that collects all keys.

“This one is rough.”

View Post

Airbnb·Software Engineer·Online Assessment (OA)

Sep 2026
Took Airbnb's CodeSignal industry coding assessment and came out with a 100/100, finishing with about 7 minutes to spare. The whole thing was a progressive 'Work Hours Register' system that kept layering new requirements on top of previous ones across four levels. Pretty interesting format compared to the usual isolated algorithm problems.
  • Design a progressive Work Hours Register system that starts with basic worker registration and clock-in/clock-out tracking, then expands level by level to include ranking, promotions with deferred application, salary calculation across rate changes, and grant-period bonus logic.
  • How long did it take to hear back from Airbnb after submitting the CodeSignal assessment?

“Level 1 and 2 were manageable once I committed to treating each register call as toggling between entry and exit state.”

View Post