Sharing my full Airbnb loop. A friend's classmate referred me in, and I got a response the very next day.
Here's the weird thing: the first round was a phone screen with the hiring manager — an HM based somewhere else — 30 minutes, and it went really well. He was a genuinely nice guy, and you could tell right away he was a good manager. What he worked on matched well with my background too, and I answered everything well. He seemed satisfied and told me to head back and wait for next steps.
After that it went quiet for almost two weeks. HR said they were at an offsite, which delayed things by a week. Then they told me the position had been filled by an internal transfer, and asked if I'd interview for a different team under the same org instead. Then HR said I'd go straight to VO!
Something felt off: 2 coding rounds, 1 BQ, and 1 system design — not the usual pattern everyone else gets. Really strange.
It was split across two days.
Day 1: system design + coding.
For system design I got a different interviewer — a guy with 20 years of experience, a tech lead who runs a YouTube channel teaching tech. He was great too. I crushed this round. It felt like a staff-level design problem: designing a job scheduler at roughly 10M scale, used internally. He was completely in his element, nodding along the whole time, and I answered every question smoothly since I have a lot of experience in this area. We wrapped up with some Q&A and talked shop — I learned a lot from that too.
Coding 1: the interviewer gave me two linked lists (each one may or may not contain a cycle — you have to ask about this yourself, and if you don't, that's the trap set up to fail you; definitely not a straight LeetCode problem) and asked me to determine whether they share at least one node. This is where it started getting tricky. The problem genuinely isn't simple — there are four cases: both acyclic but intersecting; both cyclic but with separate cycles; sharing the same cycle (with one list merging in from outside the cycle); one cyclic and one acyclic. Still, I nailed it instantly — my linked-list skills are strong. Then I had to write test cases. I asked her how she wanted me to test it; she first said there were examples, then said there weren't (I think her question bank's examples just weren't written in Python). The annoying part was she didn't give me any examples either, so I had to build and link every node myself, one by one. I built a bunch of test cases and they all passed, and the time/space analysis was fine too. Then she added a follow-up: return the actual node. That made things much more complicated — five cases: acyclic/acyclic; one acyclic and one cyclic; cyclic/cyclic with different cycles; cyclic/cyclic sharing the entire same cycle but with different entry points; or sharing a common tail segment. I explained it for a long time and she still didn't get it. I genuinely think she didn't know how to solve this problem herself. I never got to write the code — Airbnb only gives you 45 minutes for coding, and there's no way you can write, test, and handle a follow-up in that time.
Day 2: BQ + coding.
BQ was a bad experience — a manager who'd been promoted up from IC. He kept questioning whether my project was any good, nitpicking useless details, saying it lacked scope, lacked leadership. When I turned around and asked him questions, he answered poorly too. Genuinely bad. Arrogant and full of himself. Does he even deserve to sit at the table with everyone else?
Coding 2 was the trap of all traps. From the name I thought I'd finally get a Chinese interviewer, but it turned out to be someone else entirely — the name was just similar. She gave me a Multi Stream Iterator problem: given multiple byte/char streams (iterators), implement a merged iterator — essentially round-robin, reading one element from each stream in turn, in order, skipping any stream once it's exhausted, supporting has_next() and next(). Everyone knows this one. The trap was that it involved three classes that inherited from each other. The first was the base class, with three methods. Halfway through writing it, she said we needed to write another class that inherits from it, and I wrote that out too. At the end she pulled out her test class, which was all bytes, and told me not to worry about it — except hilariously, that class was written in JavaScript and didn't even run correctly. She then made a last-minute fix. What made it worse was that this class actually inherited from the first class, meaning I couldn't just write my own method signatures — everything had to match hers exactly, and she never told me that up front. After that it was all debugging, rewriting my code to match her class. When I asked her about it, she clearly didn't understand the problem either. I don't think she'd prepared at all — honestly, I don't think she understood this problem in the first place.
I followed up with HR twice, got ghosted both times, and they wouldn't grant an extra round either. More than a week later they sent a template rejection email — no call, no feedback. I guess this is what they call being "set up to failure."
I'd grinded through Airbnb's full set of frequent questions more than twice. I read every interview report from the last five years and worked through them one by one — article format, menu, pour water, skiing, split stay, smallest number, connect4, bank, refund, even the deep autumn one — I had them all memorized cold. Next time I run into an interviewer like that, I really might just reschedule.
Discussion
Loading comments…