Airbnb Software Engineer Interview Experience — Phone Screen, Then a Five-Part Onsite With a Brutal Experience Deep Dive

Airbnb·Software Engineer·Sep 2025
OnsiteTechnical Screenmedium

Phone screen: LC 1235

Onsite

  1. Coding: I prepared so much, and then they gave me a problem that wasn't from any of the interview-experience posts:
// 1: Any refund should be issued in full for a payment before considering next payment.
// 2: Refund will be prioritized among different payment methods based on such order: CREDIT, CREDIT_CARD, PAYPAL.
// 3: Refund should be issued to more recent payment.

// Example 1

// Transactions:
//     Payment1: Credit, 2023-01-10, $40
//     Payment2: Paypal, 2023-01-15, $60
// Input:
//     Refund amount: $50

// Output:
//     Refund a: linked to Payment1, Credit, $30

// Transactions:
//     Payment1: Credit, 2023-01-15, $40
//     Payment2: Paypal, 2023-01-10, $60
//     Payment3: Paypal, 2023-01-20, $40
//     Refund1: linked to Payment1, $20
// List<String>

// Refund 50
// refund a: linked to Payment1, credit, $40
// refund b: linked to Payment2, Paypal, $10

Honestly the problem itself wasn't hard, but you had to handle the input/output strings yourself. I used Java, and with 45 minutes that also had to include small talk, I was pretty nervous, and it was just annoying.

  1. Code review: the interviewer was genuinely helpful, you could tell he actually wanted to help. The content was about the same as the Python version already posted on the forum.

  2. SD: design a notification system.

  3. Experience deep dive: don't take this round lightly. The interviewer digs into the details — specifically the timeline and scope of every project you worked on, and exactly what everyone did — very, very closely. I originally thought this would be a traditional behavioral question, but I didn't answer it very well; there were some project details I just couldn't remember.

  4. There's also a culture round — basically storytelling, why you like Airbnb.

Addendum (2025-01-25 15:52 +08:00):

I noticed there's an issue with the output for this coding problem — it's probably been too long and I made a typo when copying it over. From what I remember, for example 1 the output should be:

Refund a: linked to Payment1, Credit, $40
Refund a: linked to Payment2, Paypal, $10

Example 2 is correct, because the payments before the Refund1 in the input already cover the $50 that needs to be refunded.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Airbnb
Role
Software Engineer
Rounds
Technical Screen → Onsite
Difficulty
medium
Interview date
Sep 2025
Questions from this interview
6 questions

Real Airbnb interview experiences

First-hand reports from Airbnb candidates — the rounds, the questions they were asked, and how it went.

All 27 Airbnb interview experiences