Practice for the Whiteboarding Interview
Preparing for the whiteboarding interview will be challenging. You will likely need to spend a significant amount of time practicing interview questions on a whiteboard before you're ready for the real deal. Fear not, though, for there is a structured way for you to get the practice you need.
1. Get the Questions
First, compile a list of interview questions for the position you are applying to. You can find interview questions by doing the following:
Option 1: Search for interview questions in your local area using Glassdoor's Interview Questions feature. Simply type in the name of the position and your location, and you'll get back a whole set of interview questions that interviewees have submitted from different companies. Most developers coming out of this program look for Junior Web Developer or Junior Software Engineer positions.
Option 2: Search for Interview questions related to the position you are looking for with predefined resources. There are plenty of resources for this, but here are a few recommendations:
- 10 Essential Web Interview Questions
- Front-End Developer Handbook (front-end focused)
- Front-End Developer Interview Questions (front-end focused)
- 50 Web Developer Interview Questions to Get a Quick Breakthrough (front-end focused)
- What Interview Questions Should I Ask a Junior Web Developer? (good discussion on Quora that provides a bunch of resources)
Many of the questions linked above might be interview questions that are not necessarily whiteboarding questions. In general, whiteboarding questions will be conceptual or algorithmic.
2. Get a Whiteboard
Once you have compiled your resources, you will need to both answer the questions and practice answering them on a whiteboard. We highly recommend purchasing a simple whiteboard for the home. You should be able to find some affordable ones on Craigslist or Offerup.
3. Find a Friend
Practicing whiteboarding interviews can yield much better results if you practice with a friend or colleague. Your friend can pretend to be the interviewer so that you can practice working in front of someone who will critique your process, while also providing support and making the process more fun.
4. Keep It Real
Try to keep your practice environment as realistic as possible. If you're practicing with a friend, be sure to treat them professionally, as if you were in a real workplace. Recreating a workplace interview session can help tremendously with real interviews.
5. Pick a Problem and Define
When your whiteboard and environment is set up, choose a whiteboarding problem from your list of questions. Study the question and really try to understand what is being asked—that is, define the problem. You don't want to spend your whiteboarding interview solving for the wrong thing. For example, if you're asked to reverse a string, the below might be overkill:
To help you define the problem, you can ask the interviewer for clarification.
For example, let's say you are asked to create a function that reverses a string of words. You can ask if the words in the string need to be reversed, or if the order of the words just needs to be reversed.
Here is an interview video from Google that does a pretty good job on the clarification aspect of the whiteboard interview. Note that you wouldn't normally need to ask as many questions as the interviewee in the video does. The questions from Google will likely be more difficult and complex than your local startup!
Once you've defined the problem, take some time to think through the problem and how to best approach it. (The interviewer will expect you to take this time.)
While thinking about a possible solution, don't be afraid to keep asking questions if you feel you haven't defined the problem well enough. You should also feel free to write on the board to help come up with a solution.
If the problem is complex, write out the pseudocode for the problem before writing the actual code.
As you write the pseudocode, explain your logic. One of the main purposes of the whiteboard is for the employer to see how you think through a problem.
Don't just stand in front of the whiteboard with your back turned to the interviewer the whole time. As you write out your pseudocode, explain how you are solving the problem.
Explaining your process doesn't have to be technical, as you're essentially just thinking out loud while you write. For example, if you're beginning to pseudocode a function that takes a single parameter, you can say something like, "This is where I'll be writing out the function that will take a single parameter."
7. Write Code and Syntax
Time to finally write some code! If you don't remember the exact syntax, don't worry. Most employers don't care as much about the exact syntax as they do about your ability to grasp concepts. Missing a bit of syntax issues here and there is fine, as long as you have the gist of it. Again, be sure to explain your logic as your write out your code.
While you are writing the code or the pseudocode, the interviewer may ask questions about efficiency or scalability. This is where your practice and research is really going to come in. Make sure you understand what you are writing and why. Practice does make perfect!
8. Rinse and Repeat.
If you feel you perform poorly in your practice interviews, don't be discouraged! The more you do it, the better you'll get. If you keep at it, you'll be a whiteboarding master in no time.