I was initially interviewed on the phone for 45 minutes. There was an issue with Codepen, but together with the interview, we were able to switch over to Collabedit. The interview went smoothly, and I was moved to the onsite.
The onsite interview was at the San Francisco location. I was really excited to see the office and showed up an hour early. Unfortunately, I didn't read the interview orientation email closely enough and spent most of the time in the lobby.
The day started pretty well. I hadn't eaten breakfast, and I was able to snag a banana and a large glass of water. I was led to a small room next to the design department. The room itself was covered in carpet. The overhead light was out, which seemed to bother everyone throughout the day except for me (pro-tip: don't make a "mood lighting" joke at an interview).
The first session was cross-functional. I was paired up with someone from the marketing department. I have to admit I didn't research this and was caught a bit off guard by some of the questions. I was asked, "What is the best gift I have ever given and received?" and that froze me. Eventually, I realized it was an opportunity to monologue, and I ended up talking quite a while.
The second session was also cross-functional, but the interviewer was an engineer. I never really connected with the question, but we ended up having a very nice, earnest discussion about career expectations. Throughout the day, one of the best parts was flipping the questions and getting the perspective of the interviewer.
Session three was a general coding question (sample included below) about finding a free slot given a list of schedules. We spent a short amount of time talking through it, and I felt it would be best to code it to be better understood, so I jumped right in. While my solution worked a bit differently from what the interviewer was expecting, I had the impression that he was more or less happy with it.
Lunch was impressive, and I might have overeaten a bit.
After lunch was the tour. That was my favorite part of the day. I had 15 minutes, and I got to see all the themed meeting rooms (they have modeled them after beautiful Airbnb listings) and big spaces full of cushions. There seemed to be books everywhere, and I wanted desperately to just browse and see what people might read. The recruiter kept me moving; I wished I could have gotten lost and just wandered a bit.
The next session was a project deep dive. I tried to explain a localization management project that I was really excited about. This one touched on overall architecture and general technical setup. There was no feedback at the end of this one.
The second post-lunch interview was the first web dev specific one (question included below), creating an autocomplete widget. I had implemented something similar during my last job and was able to complete the question. I asked for feedback, and I felt like I had succeeded. They asked me if I had any questions about the engineering culture at Airbnb, and I sheepishly admitted I did not.
The last interview was also a web dev coding question (question included below), creating a star widget. This one I started working with JavaScript and CSS, but decided that I would try to come up with something a bit more impressive and go for a CSS-only solution. I was able to get mostly there, and with a few hints from the interviewer, I put something together. I felt really good at the end of this interview, and we were able to have time to chat. The interviewer shared a personal anecdote that was quite touching. This capped off what was an interesting day.
Coming home, I felt fairly confident in my chances. The turnaround was quick, and I got a polite rejection explaining I didn’t reach the technical bar. As the process was smooth and some of the conversations were really enjoyable (I wish I could have spent more time talking to several of the interviewers), it didn’t sting too bad. The biggest frustration was that the delta between the phone screen and the actual in-house interviews was not so large, but it seems like the expectations were much higher. Based on the amount of time and money it takes for both parties to have an onsite, I wish that the phone screen had been a bit harder. If I could have, I wish I could have spent a little more time touring the office; this was my favorite part of the day.
Given a list of schedules, provide a list of times that are available for a meeting.
Example input: [ [[4,5],[6,10],[12,14]], [[4,5],[5,9],[13,16]], [[11,14]] ]
Example Output: [[0,4],[11,12],[16,23]]
Given an input and an endpoint which returns a JSON list, extend it to autocomplete on change and handle key navigation through the results.
Write the code to select stars and submit the correct value through a normal form action for a star widget embedded in a form. Make it reusable for multiple star widgets.
What is the best gift you have ever given or received?
Tell me about a time you were uncomfortable and how you dealt with it.
The following metrics were computed from 9 interview experiences for the Airbnb Front End Engineer role in San Francisco, California.
Airbnb's interview process for their Front End Engineer roles in San Francisco, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Airbnb's Front End Engineer interview process in San Francisco, California.