Monday, May 25, 2020

Technical Interview 7 Tips For Crushing The Whiteboard Interview - Algrim.co

Technical Interview 7 Tips For Crushing The Whiteboard Interview - Algrim.co Whiteboard interviews are a core part of any technical interview process. The process is simple, yourself and another engineer are standing in front of a whiteboard. The engineer will ask you programming challenges. They'll ask you to take over and write down how you would solve the problem. This can be daunting because you are probably the most comfortable writing code behind a computer. The reason the interviewer is doing it this way is to determine what your process is like for solving engineering problems vs. seeing you write actual code. Our guide covers seven easy to follow tips that will help you ace your technical interview and whiteboard interview. 1. Practice problem solving the weeks leading up to your interview. Whiteboard interviews can be daunting because you’ll usually have no insight into the types of problems you’ll be asked to solve. However, with the right sort of preparation, you can significantly increase your chances of passing your whiteboard interviews. General problem-solving practice is one of the best ways to prepare for a whiteboard interview. This can seem counterintuitive; how could solving general sets of problems (which are most likely not the same ones you’ll solve in your interview) help you solve problems which are totally unrelated? While answering programming problems to practice your skills, the problems you find will very likely contain concepts within their solutions which also exist in the solutions for those in your interview. For instance, to solve an arbitrary problem from a site like projecteuler.net or a book like Cracking The Coding Interview, you will likely need to rely on concepts of data structures like Hashmaps or Lists, and rely on the consideration of computational complexity in your solution. Practicing these universal programming concepts will better prepare you for any sort of whiteboarding problem you encounter. 2. Communicate with your interviewer. Ask questions. Collaborate. A whiteboard interview usually isn’t meant to assess your programming skills “in a bubble”. Most organizations understand that programming is a collaborative effort, and a whiteboarding interview is used to assess your programming skills as well as your ability to work with others. Do not shy away from explaining your line of thought; even if you fear it is naive. Do not fear to ask questions if you are stuck on small syntax issues or a full memory of a Language’s native features. Often, this is exactly what the interviewer is looking for; a candidate who is honest and humble in his approach to problem-solving. Use whiteboarding problems to showcase your ability to work well with others! An interviewer who leaves the room having had fun solving a problem collaboratively is likely to give you a thumbs up at decision time. 3. Examine the naive solution first. Most problems you’ll see at a whiteboard interview have a solution or approach that is “optimal”. Perhaps it leverages the advantages of a certain data structure to make the problem solution output more efficiently, for example. However, interviewers know that very rarely do even the best programmers land on the optimal solution during their first pass. Starting with the naive, brute-force type of solution that solves the problem correctly (but perhaps in an unreasonable amount of time), shows your interviewer that you understand the difference between an optimum solution and a naive solution. The first step to implementing an optimum solution is understanding that optimum solutions exist. It is worthwhile to communicate to your interviewer that you understand this concept. After briefly discussing a naive approach, dive deeper into the problem and find the optimizations that really show off your preparation and deep understanding of programming concepts. 4. Make dedicated efforts towards your mental health and relaxation leading up to the interview. Most of us are familiar with the way anxiety and nerves can impact our performance, especially when we’re required to showcase our skills in front of strangers. There are many practices that are well established to have a positive benefit on anxiety levels and improving performance in general. Healthy, consistent meals leading up to and on the day of your interview can provide an enormous benefit. Low blood sugar or general malnourishment during a coding exercise is sure to harm your performance. Even if you don’t typically exercise much, get moving during interview season! Even mild exercise like daily walks are shown to boost confidence and mental acuity. Relaxing activities like massage or yoga pre and post-interview are well deserved and also well-studied paths towards increased performance and mental relaxation. Get outside! Interacting with nature can be a pleasant change from the stuffy interviewing room you’re preparing to enter. Nature walks, even in a city park, are also well established to increase mental clarity and decrease anxiety. In all, taking care of your mind and body will provide significant performance advantages when its time to showcase your skills. 5. Practice what you “know”! Take time to review the types of material you already feel very confident in your understanding. The devil is often in the details, and a quick refresher can be the difference between absolutely nailing a problem you’ve seen before, and forgetting a small nuance which may bring doubt to your understanding. An added benefit is that practicing and finding ease in solving problems you are accustomed to solving provides psychological confidence that will serve you well during a whiteboarding session. 6. Edge cases. Edge cases. Edge cases. When it’s time to actually hit the whiteboard, remember that programming is almost never about solving for the happy-path alone. Constantly audit your own work, and proactively think about edge cases. What happens if this function is passed an undefined value? What if the function is passed a value like 0? What happens in the first iteration of the loop, is there special behavior that does not exist in the last iteration of the loop? By focusing on edge cases in your solutions, you are showing your interviewer impressive attention to detail that will have huge practical benefits to the organization. 7. Take your time, write neatly. Make your answer look beautiful. Write legibly. Write small. And do not fall into one of the biggest traps seen in whiteboarding interviews: scribbling or abbreviating the names of variables in order to get your thoughts on the board faster. Whiteboarding is a common practice in interviews but perhaps more so in actual engineering work. Being neat, careful, and legible with your solutions shows your interviewer that you are comfortable creating detailed work, and concerned with not only your solution but its ability to be understood by those reading it.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.