Quick way to structure a technical interview


A candidate whose work your team finds impressive joins you for an in-person interview in one hour — you forgot to prepare. No worries, with a little forethought you can ensure a pleasant conversation which tests what is important. Here is a formula I used at multiple startups over the years which requires no more than half an hour of research:

First, take a piece of paper, go through the CV and online information on the candidate, and write down high level topics in which they claim strength plus the technologies used in personal projects.
Second, for each topic you both know well, write down the two questions you struggled with most while mastering it. For topics you know nothing about, write down a question about a point you didn't understand after reading up on it on the internet (e.g. I never understood cosine similarity, you mentioned you used it in one of your projects, could you try to explain it to me in the simplest words possible?).
Finally, keep a couple easy questions handy. (.e.g default port for HTTP, difference between a process and a thread, how to print all users in /etc/passwd, what data structures are used in a database etc.)

Preparations done, with your questions on paper, you greet the candidate.
Ask to do the interview while walking: in my experience, this makes for a much more natural conversation flow.
Before asking anything, throw in the line "don't worry if you get half the questions wrong, the goal is to find out where your strengths are, not focus on your weaknesses".
After this prelude, begin with the easy questions and follow up with the hard ones.
Whenever they get stuck, jump to another topic. All in all, be as helpful as possible.
Before ending, ask something to lower the tension again, like "what's the biggest fuckup you ever caused in production?".

And that's it, a quick way to make for an enjoyable technical exchange.