Whiteboarding is one of the most critical skills you need to have in order to become a successful software engineer. Above all, it is super important for getting a job and you will be doing a lot of it during team projects or anytime you are trying to solve technical problems. But often times, people struggle with whiteboarding and I do as well. The first time I practiced whiteboarding, I let about 5 minutes pass in awkward silence and struggled to make sense of the problem that was given. Since then, I have been practicing whiteboarding through few different approaches and finally came up with steps that I feel comfortable with.
- Ask any clarifying questions in the beginning. We don’t want to make any assumptions about the problem we are given because we want to return an answer that satisfies all the requirements required by the interviewer.
- Take time in the beginning defining inputs, outputs, edge cases and constraints and make note of them on the whiteboard so you don’t forget!
- Use the whiteboard. A LOT! Especially if there is a piece of the problem that doesn’t make sense to you, you want to spend time visualizing examples by drawing them out on the whiteboard. When you can visualize different edge cases, it will be much easier for you to come up with a solution.