Leetcode Questions, Being Approachable, and Critical Feedback on PRs: One Airbnb Senior Software Engineer’s Perspective About Running Technical Interviews

David Jiang, Senior Software Engineer at Airbnb, dropped in (virtually speaking, of course) to talk through his perspective as a hiring manager designing a smart and fair technical interview process. TL:DR don’t use leetcode questions. Kidding. Read on for some great insights into how this smart, experienced engineer thinks about the technical hiring process.

WHAT IS YOUR NAME, TITLE AND CURRENT COMPANY?

David Jiang, Senior Software Engineer @ Airbnb

WALK US THROUGH YOUR TECHNICAL INTERVIEW PROCESS STEPS.

I haven’t gone through the technical interview process in my role at Airbnb yet. At Hotel Tonight, however, we had a call with the recruiter, followed by a possible call with the hiring manager, then a technical phone screen (on CoderPad!). If all went well, we’d bring them onsite for three technical rounds plus two rounds of soft skills and a chat with the CTO to finish it. With the pandemic, there are obviously adjustments but that’s the general focus.

WHAT’S ONE PIECE OF ADVICE FOR BUILDING A KILLER TECHNICAL INTERVIEW?

Personally, I’m not a fan of leetcode questions. I feel they don’t test how well you can do the job. Usually the people that performed well in that portion were the ones that studied the hardest; that’s not the same thing as having and applying your skills. The questions that were a good gauge of what we were looking for were more higher-level, architecture-style questions. How would you build X? How would you optimize for Y?

BEST WAYS TO SET A CANDIDATE AT EASE?

Offer them a drink! (Kidding). No, but the usual, water, snacks, restroom break are good. Building in short breaks to take care of those things is probably more relevant now.

I always try to share a quick intro about myself and a breakdown of what the next hour will consist of. I try to be friendly and approachable throughout the interview. The point is not to scare anyone away. After all, I could be working closely with this person in the near future.

HOW DID YOU ESTABLISH THE CRITERIA FOR HIRING JUNIOR/MID-LEVEL/SENIOR ENGINEERS? WHAT DO YOU LOOK FOR FROM EACH?

Sometime we have questions specific to the level, but we also have a set of questions (mainly architecture-style) that we ask across all levels. These questions will have a different rubric for each level. We expect more senior engineers to be able to dive deeper into the subject matter and point out some of the more nuanced issues.

WHAT LANGUAGES DO YOU USE - AND DO YOU RECOMMEND GIVING CANDIDATES A CHOICE IN THE TECHNICAL INTERVIEW?

I usually let the candidates choose whatever language they feel most comfortable coding in. We don’t want the language/syntax to get in the way of the problem being solved. We want to see what you can really do.

WHAT’S THE BEST QUESTION YOU ASK TO GAUGE TEAM AND PERSONALITY FIT?

I like to see how a person might address critical feedback on PRs. Of course, candidates will say they’ll try to resolve comments in a civil manner, discuss them in person, respond back with reasons for doing it this way versus that way, etc., but I’ve heard a few responses that did raise some red flags.

There was a period when we did a take-home exercise that allowed us to give candidates feedback. This also allowed us to catch some of those issues before the onsite.

Quicksort is CoderPad’s blog for job seekers who want to stand out to hiring managers who, by necessity, are moving quickly to sort the best from the rest. Want to share some insights about your company’s hiring process? Email us at support@coderpad.io.