Tech Interview Guide
Image credit: Kika Fuenzalida | Mixkit
The average job opening receives hundreds of applicants, but only about 2% make it to the interview stage, according to a Glassdoor report (PDF, 281 KB). Making it to this point is an accomplishment in its own right, but how can you separate yourself from the final candidates?
Interviews can be stressful and long, and it’s tricky to guess how you did after the fact. The best thing you can do is prepare yourself and have realistic expectations to avoid surprises.
The following guide will help you understand what differentiates tech interviews from the rest.
What to Expect When You’re Interviewing
The purpose of an interview is to ask you questions. But often, the interviewee is also full of questions leading up to the meeting. For example, how long will the interview be? How many people will be interviewing you at once? What are their job titles and how would they relate to you in the team structure? Every company and hiring process is different but knowing the logistics of your interview ahead of time will help you prepare. Ask the hiring manager for more information about those details as soon as you schedule a time to meet.
Once you know the logistics of your interview, you can focus on preparing. Expect a few kinds of questions:
Behavioral questions:
Questions about how you responded in a previous situation. They’ll often start with “Tell me about a time when,” or “What did you do when …”
Hypothetical questions:
These cover how you would respond to a specific scenario. For example, “What would you do if a member of your team failed to provide materials to you on deadline?
Competency questions:
Questions to measure your skills and experience like, “What are some examples of times you’ve been a leader?” They are an opportunity to cite successes in your work history.
Technical questions:
These are straightforward—what is the answer to a problem or technical problem?
Outside-the-box questions:
You might get questions that seem to have nothing to do with the position, such as “If you could only eat one food for the rest of your life, what would it be?” They’re designed to get you off script and see how you respond.
What is a Whiteboard Interview?
During a whiteboard interview, a candidate is asked to answer a technical problem or design code on the spot using a whiteboard. It’s a good measure of your problem-solving and communication skills, because interviewers see how you work in real-time. Whiteboard interviews are a low-cost, low-tech way to grasp someone’s understanding of code and algorithms.
However, this interview style can be stressful for potential hires. Performing in a high stakes’ environment, in front of strangers, is daunting. They also aren’t conducive to every job because they don’t allow the space, time or detail to test advanced algorithms and design.
There’s an element of chance in whiteboard interviews, too. You won’t be able to study every possible algorithm that exists, but if you think critically about the position and the employer’s needs, you can narrow down the options.
Ways to Prepare for a Whiteboard Interview
Below are some strategies to prepare for, execute, and look back on a whiteboard interview.
Before the Interview
Find practice questions.
There are a lot of resources online to prepare for technical interviews, and many have sections on whiteboard questions.
- Cracking the Coding Interview: 150 Programming Questions and Solutions, by Gayle Laakmann McDowell – The questions in this book cover everything from linked lists to object-oriented design. It even includes a section on brain teasers.
- Project Euler – With more than 700 math problems and counting, Project Euler challenges users to use their programming skills to tackle a new question every week. You can check out the archive on their website, too.
- LeetCode – A collection of tools and courses centered around tech interview preparation. There are some free ones, but for full access you need a paid subscription.
- Geeks for Geeks – This portal compiled a list of interview prep tools specifically for software developers.
- Interview Cake – An interview prep tool created by a former Google engineer. Paid subscribers can get access to a full course, but you can receive a free weekly question and the site is full of information.
- Elements of Programming Interviews: The Insiders’ Guide, by Adnan Aziz, Tsung-Hsien Lee and Amit Prakash – This book has more than 250 practice problems with solutions based on interview questions from leading software companies. It includes tested programs and additional variants.
Watch examples.
Study how other people approach whiteboard interviews with video examples online. You will learn potential questions and ways of teaching and communicating to use during your interview. Some examples to get you started:
Practice with an audience.
Recruit a friend, colleague or mentor to play the role of interviewer. Preferably, ask someone who is familiar enough with coding to be able to answer your questions and provide constructive feedback. Even someone with no knowledge of what you’re doing can be a useful audience because they will help you get used to the public speaking aspect of the interview.
During the interview
Restate the question.
A fundamental tactic in answering test questions should be applied here: start by repeating the prompt. Confirm with the interviewer that you understand the question and are headed in the right direction. Use this as an opportunity to establish any other parameters, check for test conditions, and clarify as much as possible up front.
Start with pseudocode.
Writing out pseudocode gives you the opportunity to solve the logic of the problem before focusing on technical language details. Once you’ve explained your approach, ask “Does this make sense?” to gauge the interviewer’s thoughts and initiate a conversation. Starting with pseudocode also proves you understand what needs to be done, even if there is a syntax error in your final code.
Talk through your process.
This is an evaluation of your communication skills as much as it is your coding skills. Even if this means conceding you’ve made a mistake and need to pedal back, use that as an opportunity to showcase your problem-solving. Seeing your approach to failure is useful—do you panic and freeze? Or do you address what happened and figure out a way to move forward?
After the Interview
Send a thank you.
Immediately send a note thanking individual interviewers for their time. Share something you learned that excited you about the position or company and include any additional information you want to follow up on. This could be an additional reference they requested, material from your portfolio you think exemplifies your skills, or an article you discussed during the meeting.
Follow-up about the position.
If you don’t hear back, reach out to confirm you are still interested in the position and look forward to their response. Include your full name, the exact job title you are applying for and the date of the interview.
Reflect on the experience.
What question did they ask you for the whiteboard section? What parts, if any, were most challenging? In hindsight, how could you have better prepared for the interview? It’s likely that you’ll have more than one interview in your job hunt; use each one as practice for the next.
Tech Interview Examples
Keep reading for examples of interview questions, desired skills, and practice resources for different types of tech interviews.
Computer Science Interviews
Skills and qualifications to highlight:
- A master’s in computer science or software engineering.
- Experience adapting theoretical principles to real-world situations.
- Comfortable with advanced math skills like linear algebra and statistics.
Practice resources:
Computer Engineer Interviews
Skills and qualifications to highlight:
- A master’s in computer engineering or computer science.
- Expert knowledge of algorithms and design analytics.
- Attention to detail and able to spot errors in code.
Practice resources:
Cybersecurity Interviews
Skills and qualifications to highlight:
- A master’s in cybersecurity or information systems.
- Ethics and tech policy training.
- Advanced knowledge of database management.
Practice resources:
Data Analyst Interviews
Skills and qualifications to highlight:
- A master’s in data analysis or statistics.
- Advanced knowledge of data structures.
- Experience with machine learning.
Practice resources:
Data Scientist Interviews
Skills and qualifications to highlight:
- A master’s in data science or data analysis.
- Expertise in Python and object-oriented programming.
- Data visualization.
Practice resources: