Whiteboard Pairing

In order to get you guys more practice whiteboarding, we're going to have you pair up with a partner each day and have you both swap between being an interviewer and an interviewee. This ensures that each student gets in at least one live whiteboard practice session a day.

This is how it's going to work. At the end of the previous week, you'll be a assigned a problem. This will be the problem that you will pose to your interviewee when it's your turn to be interviewer. You're being assigned the problem at the end of the previous week because it's very important that you get familiar with your assigned problem. In order to be an effective interviewer, you need to know the problem you're asking inside and out.

A working reference solution will be given to you, but you should figure out other ways to solve the problem because everyone thinks about problems differently. What's important here for you as an interviewer is be familiar with multiple approaches to solving your given problem, as well as the tradeoffs between working solutions. Your interviewee may very well come up with a solution to the problem that is very different from the reference solution or your own preferred solution, but that doesn't mean they are wrong. At that point, it will be your job as their interviewer to discuss with them the tradeoffs between their solution and yours.

Additionally, the working reference solution you've been provided with will be in JavaScript, but we don't want to limit interviewees to having to whiteboard in JavaScript. Some of them may wish to go with Python (or even C if they're really brave). You should be able to effectively act as their interviewer regardless of the language they choose to implement their solution in. So part of your preparation time should be spent on implementing the solution to your assigned problem in multiple languages.

Lastly, as an interviewer, your most important job is to provide constructive feedback to your interviewee. This is very important, since the whole point of this exercise is to get you all more comfortable and better prepared for whiteboarding in a real-world interview setting. Tell your interviewee what and how they could have done better. If they weren't able to solve your problem to completion, give them pointers on how to improve, for example, "When seeing a problem like this, your first thought should be to use this data structure because of x, y, and z."

Don't ever put your interviewee down. Everyone is here to learn. Don't forget that, and always try to be patient with your interviewee.

A Note on Googling

Googling during a whiteboarding pairing session is not forbidden. That being said, Googling should be done within reason. Obviously don't allow your interviewee to just google a solution to the problem. However, checking MDN for a useful method is acceptable, as well as checking Wikipedia for a definition. Use your best judgment as an interviewer.