Making your on-site interview experience more stable and promising, here are few ways to excel during your whiteboard interviews. But before that, let us understand what they really are.
What is a whiteboard interview?
A whiteboard interview is a portion of a tech job interview meant to test your communication and problem-solving skills. You’ll be given a code problem or task and a whiteboard, of course, to work out your code and go over your solution.
A whiteboard interview allows you to demonstrate your technical knowledge against a coding problem. During these interviews, the candidate is asked to provide a portable solution to a problem or solve a bug by writing code to examine your knowledge about the concept and your approach towards solving a problem.
These interviews do not come with pre-fixed time duration and can generally vary from an hour to a day, the basis on the question and the solution. These tests are important to undertake in order to understand your problem-solving abilities and your aptitude. Questions provided during these interviews are familiar, solvable and approachable.
The author of “The Lean Startup,” Eric Ries, asks candidates to come up with an algorithm for drawing a circle on a pixel grid. Another example is designing an algorithm to find the longest palindrome in a string, courtesy of software engineer and author Gayle Laakmann McDowell.
The art of solving whiteboard interviews:
- Pick a practice problem
- Attempt to code up the solution on a whiteboard
- Test your code by hand
- Once you’re satisfied that your code is correct, copy it exactly into the IDE of your choice. Don’t make corrections as you go. Then attempt to compile/run your code
- If it works, great! If not, create a list of the errors you made and be sure to explicitly check for those in the future
Whiteboard interviews are generally not very complex but require a rigorous practice to crack them. don’t have to be difficult. However, if you don’t give them the attention they deserve, they will come back to bite you.
Before the Whiteboard Interview:
- Buy a whiteboard
- Prepare a list of practice questions
- Emulate the actual experience
- Have someone as your audience
- Think big while solving the problems
During the Whiteboard Interview:
- Ask questions to understand the depth of your problem
- Explain your thought process
- Be confident
How do you stand a chance during whiteboard interviews?
- Problem Definition: Once you have your problem to explain/solve on a whiteboard, you need to analyse in which you explore the problem space and identify big problems.
- Idea Generation: Once you have your problem to solve, you are expected to not only think of a solution but propose and ideate multiple creative options to find a long-lasting solution.
- Design Knowledge: This part will allow the interviewer to make trade-offs between platforms, global and local interaction patterns.
- Collaboration: This part allows the interviewer to examine how well you respond to their prompts and get them interested in the approach to the problem.
Mistakes to avoid during whiteboard interviews:
- Overkilling it with context: It is important that you establish a strong foundation that’s predicated on the context of the problem. However, if you overboard and run out of time, you will not be able to come up with a viable solution and will waste your time.
- Jumping into solutions: Having pre-conceived notions of your solutions without considering the broader context leads and analysing the output can create possible problems. This will further convince you to choose a wrongful path in which you will spend a lot of time on finding the solution but instead creating a new problem.
- Overfitting an existing pattern: Some designers have tried to use patterns from one app (e.g. Facebook) as an answer to the whiteboard prompt. While this approach is generally sound and you should use analogous apps for inspiration beware of trying to fit a pattern that doesn’t make sense in the context you’re solving for. Think through the problem from first principles — what must hold true for this pattern to work? If the context isn’t right, consider a different pattern.
- Not vocalising your thoughts: Communication is the key to conquer everything. Having clarity in your own thoughts and verbally communicating them to the interviewer will help you understand the problem, his expectation and the execution to your style of code.
- Declining the interviewer feedback: On the flip side, you don’t want to speak so much that it leaves little breathing room for your interviewers with no opportunity for them to interject. Interviewers are your best source for answers and they’re right there! Don’t miss out. Lead them through your process but also be sure to pause, clarify, and engage them with questions. Your job is to strike the optimal balance of talking, sketching, and facilitation.
- Blaming the whiteboard interview: Any interview in the world cannot give a perfect assessment of your skills. However, making an excuse for problems received during a whiteboard interview is not a solution, nor the right approach. We suggest you ask questions and build rapport to comprehend the problem and the potential answers to it.
- Bad code on the whiteboard: Despite having your first or third whiteboard interview, you need to be well prepared for this experience as there’s no copy and paste, no shortcut and it’s very inconvenient to edit or insert. Some common mistakes that are a part of this process include Pseudocode, Incomplete code (no function/variable definition), No input validation, Bad code style/naming and Unclear handwriting, Redundant code.
Concluding the right way
While you are thoroughly aware of the problem and are almost half-way in finding the solution, you should ensure that you have tracked the time, the approach and the solution that may arise with further problems in separate buckets. Therefore, summarising your code with a structured approach can help you balance the whole problem with a tinge of self-reflection.
Stating the benefits and drawbacks of the code while signing-off will help the interviewer understand your awareness about the concepts and ownership.
To make your programming interview experience better and understand how to get equipped for the technical interviews, click here.