This guide contains an interview script that can be used for both: in-person and online interviews. The questions may vary, but these are a few that I'm already comfortable with since I've been using them for a while.
This is a personal script which means it may not fill your needs. But it has helped me in the past, and that's why I decided to put it online. Use with wisdom.
Before the interview, there are a few steps that I like to do for preparation:
Read the candidate's resume and take note of interesting points to talk about. (This can be done in the online HR tool, if available).
Read the previous feedbacks to check what points should be explored in the interview.
If we're doing it online, add the person in Skype/Hangouts or create a chat using the default tool. Also, create a shared doc with the interviewee's name with write access via link.
If it's an in-person interview, check if the booked room has a whiteboard, or grab a pen/pencil and a few paper sheets.
The goal of the interview is to answer these 3 questions:
Do I want to hire this person?
At which level should I hire this person?
Did the interviewee had a great time interviewing?
The first two items are pretty straightforward, so no further explanation is needed. So, let's discuss the third point: The interviewee must always feel good during the interview, and it's my job to put the person in a situation where they feel comfortable. The reasoning is that even if the interviewee is not hired, they can refer the company to a friend because they had a good time during the process.
Never ask any questions about age, gender, relationship status, political opinions, religion, etc. The first reason is that it doesn't matter. We should evaluate the person for their technical skills and have a cultural fit with the company. Secondly is that it could become a legal issue if the person decides to sue us.
As soon as I welcome the interviewee, I like to use an ice-breaking question related to the city/country they're from, some hobbies they mentioned, or ask a random silly question. This is good to relieve the interviewee from the interview process's initial stress and make them feel more relaxed about the next steps.
Phase 1: Introduction
I always start the interview by introducing myself, what I'm doing in the company, and giving a bit of context on the work and why we're talking right now. This is quick stuff; 2 to 3 minutes are enough.
The second part is to ask the interviewee to introduce himself. I like to ask questions where the interviewee talks specifically about what they are doing in the current work; how they work in a team, their normal workday, what they are studying right now, etc. I like to spend around 10 minutes in this section.
After this phase, I should have an (almost) clear answer to the first question: Do I want to hire this person?.
Phase 2: Technical Questions
After the introduction phase comes the technical interview. This is where I'll give the interviewee a problem and ask them to solve it.
For this phase, I like to have 2 or 3 questions in hand to use them depending on the interviewee's level. I like to start with a simple algorithm to calibrate the interviewee for the second question, which can be intermediate or more complicated. Topics may vary here: algorithms, data structures, web architecture, or frontend specific. Usually, this will take 25 to 30 minutes, so it's time to move to the final phase.
After this phase, I should have a clear answer for the first 2 questions: Do I want to hire this person? And In which level should I hire this person?.
Phase 3: Q&A
This is the final part of the interview and where I guarantee the interviewee had a great time interviewing at the company. This is where I encourage them to ask any questions regarding the position, how we work here, what the expectations are, or anything else related to the process. This phase can take 10 to 15 minutes, depending on how the previous phases were.
In the end, I give the interviewee an overview of the process, explain what will be the next steps and when they can expect to hear back from us.