Whiteboard interviews can be intimidating. You're put on the spot and asked to solve a technical problem without knowing anything about it beforehand. And if that wasn't enough, you also have to explain your solution to your interviewer.
Still, whiteboard interviews are a crucial part of the hiring process. In the video below, Farish, a developer based in California, explains how whiteboard interviews allow you to showcase your ability to reason, explain, and solve a problem — all of which are skills you'll need while working on a team with other developers. In the paragraphs below, we'll provide 9 tips that’ll help you ace your whiteboard interviews. But first, we'll explain what a whiteboard interview is.
What is a whiteboard interview?
During your whiteboard interview, also commonly referred to as a technical interview, your interviewer will present you with a coding problem and ask you to outline your solution on a whiteboard. In the video above, Farish explains how recruiters use these interviews to gauge your technical ability, communication skills, and approach to problem-solving.
The problem you'll need to solve will likely be an algorithm, but it could also relate to system design or even one of the company's real-world problems. You may even be asked to solve a problem that goes beyond the position's requirements, but don't panic. As Farish explains, your interviewer is more interested in the logic behind your solution than its accuracy.
While discussing technical and behavioral interviews in the tech industry, Christina Kopecky, a writer at CareerKarma, echoes a similar sentiment:
"Remember that whiteboarding is not about coming up with the best answer, but about talking through your approach to get to a workable solution. It probably will be a brute-force or naive solution, and that's okay."
9 tips on how to ace your whiteboard interview
To help you prepare for your upcoming whiteboard interviews, we've compiled a list of tips that'll help you showcase your technical, communicative, and problem-solving skills. Not only will they make for a smoother interview, but they'll also help put your mind at ease. When you're relaxed, nervousness is less likely to get in the way of clear thinking and communication.
1. Practice whiteboarding
Interviews can be difficult. It's hard enough to be in the spotlight, even without the added pressure of trying to impress your interviewer. To help you prepare, Farish recommends practicing whiteboarding in the days leading up to your interview.
This doesn't mean that you need to go out and find complex problems and practice solving them. Instead, take the time to walk yourself through some of your daily activities as you complete them.
Practicing whiteboarding can help you become a better communicator. It'll also help you get into the practice of explaining your thought processes and identifying any missing steps.
2. Prepare for the interview setting
You may interview in person, but the chance is just as high that you'll do it over a videoconferencing platform like Zoom. Here are some tips for how to prepare for a remote whiteboard interview:
- Ask the interviewer which conferencing app you’ll be using and make sure you have downloaded it and are comfortable with its features.
- Choose a quiet, relaxed setting without distractions like your bedroom, an office, or even a side room reserved at a local library. A little background noise is unavoidable, but you want your interviewer to be able to hear you clearly.
- Get a notepad ready to take notes during the interview. You may want to write down things such as:
- The interviewer's name
- Questions that come up during the interview that you may want to ask after the interview
3. Clarify the problem
Before starting your solution, Farish recommends taking the time to discuss the problem with your interviewer. Repeat the question aloud in your own words, and ask questions that clarify any assumptions you have about the solution.
Some candidates avoid asking questions because they fear it'll negatively impact their chances of landing the job, but this isn't the case. Your interviewer will be glad to see that you prefer to fully understand the problem before tackling a solution. Plus, you'll also give yourself more time to think of an answer.
4. Define your inputs, outputs, and edge cases
After you've clarified the problem, it's time to start finding a solution. Write the inputs or functions that'll lead you to a solution, and explain what outputs you expect them to produce. You'll also want to address any edge cases (uncommon or unexpected inputs that could break your functions) as you find them.
In the video above, Farish shares an example. Imagine that your task involved merging two sorted arrays to a new sorted output array. In this case, your edge cases would be duplicate numbers in the two input arrays.
5. Outline your solution
Outlining your solution with bits of pseudocode gives you the opportunity to communicate your thought process to your interviewer. Plus, your interviewer will be more likely to provide tips or hints if you're already engaged in conversation. Again, ask questions if you find yourself stuck or confused.
6. Know what your acronyms mean
Programming languages, terms, and their abbreviations may feel like a complex alphabet soup sometimes, but you need to know what they mean.
For example, REST stands for Representational State Transfer. You're most likely used to simply saying "REST" in conversations with other developers. You don't want to be caught off-guard when your interviewer asks you to expound on the implications of "state transfer," so understanding the acronyms and their definitions is a big help.
7. Write down and talk through your approach to the solution
Once you have an idea of how to solve the problem, write it out in a way that's easily understood, even to someone who doesn't know the problem itself. This is beneficial because your interviewer may take a screenshot or picture of your approach to share it with someone else.
It also helps to explain your approach aloud — even if that means saying exactly what you're writing down. This helps you:
- Show your presentation skills
- Get your thoughts together as you begin your answer
- Catch any errors that you may not recognize until you hear them said out loud
Remember the power of communication in a whiteboard interview. Writing down and talking through your thoughts allows the interviewer to check off a very important box: You can communicate. This may be more important than how well you've memorized the syntaxes of the languages in which you code.
Once you've finished explaining your approach, Farish recommends discussing your solution's time complexity or Big O Notation. In another post, we take a closer look at why you should explain your approach during whiteboard interviews.
8. Don't get flustered if you forget an element of syntax
If you can't remember exactly how to write a command, it's better to acknowledge that and include a symbol or other annotation in its place. This shows that you know what the code can do and how it works in the context of your solution. In this way, your knowledge of logic and problem-solving can still shine through.
9. Don't say "I don't know"
Taking extra time to think of a practical approach to a question is infinitely better than saying "I don't know." Also, if you're asked a factual question you don't know the answer to, it would be better to say "I can't recall that off the top of my head," because "I don't know" sounds like you're giving up. "I can't recall," tells them that if you had your notes from class or could Google it, you'd know the answer in a few seconds.
Preparing for your whiteboard interview
With the tips listed above, you'll be better able to accurately showcase your technical, communicative, and problem-solving ability during your next whiteboard interview. Still, some whiteboard interviews are designed to test your proficiency with specific programming languages. To help you prepare for those, check out any of the courses below: