Whiteboard Interview As Productive Conversation
A whiteboard interview should be a conversation. It shouldnt be a scenario where a developer tries to solve a problem under the interviewers cold,Simon Cowell-esque gaze.
Instead, it would be best to use the whiteboard interview to learn a bit about how the candidate does these things:
- Deal with feedback and criticism
- Explain complex concepts clearly
- Plan before they start writing code
People solve real software development problems iteratively over weeks and months. Of course, you cant do that during an interview process. But you can use these questions as a small-scale proxy.
Some developers detest being asked questions based on data structure and algorithms. Still, it isnt easy to find a better solution for judging so many qualities of a candidate in a fixed amount of time.
Lets explore some of the criticisms leveled against whiteboard interviews.
How To Conduct An Online Pair Programming Interview
Pair programming interviews can be administered on a dynamic coding interview platform. A purpose-built, all-in-one coding interviewing platform allows recruiters to build a variety of pair coding interview questions and scenarios without having to toggle back and forth between different platforms.
What Is A Whiteboard Interview
Whiteboard interviews are a style of interview question that assesses both the technical and non-technical skills of a potential hire. They can either be a specific algorithm and data structure problem, or they can be a more abstract systems design and architecture-based question.
An algorithm-based question would be something like:
Given a string, identify the longest sequence of identical characters.
A systems-based question is something broader:
Youre building a real-time chat app for a mobile phone application. Sketch out the structure of the system.
You May Like: Best System Design Interview Prep
Whiteboard Interview Guide: The Good The Bad And The Ugly
March 25, 2021Interviewing
Hiring is a risky, expensive process. How can you know if the candidates youre considering are competent and will be a good fit for your team? The kinds of problems developers solve are long and complex. How can you get a glimpse into their thought process in less than an hour? You need to evaluate their problem-solving ability and communication skills as well as their coding prowess.
Whiteboard interviews are a long-used tactic to measure developers. But are they still effective?
In this blog, well explore the history of the whiteboard interview. Well discuss how to run one effectively, and well look at other alternatives worth considering.
Only Use The Language Youre Most Comfortable With
Its already hard to think of a solution on the spot. Dont spend unnecessary brain cells fighting against a language youre not familiar with.
Stick to only the language youre most comfortable with. You have to be very familiar with how to use the language in different data structures.
Be ready to answer the time and space complexity question for the handy functions built into the language. For example, Array.prototype.sort and String.prototype.replace. According to this blog post:
For arrays containing 10 or fewer elements, time complexity of .sort is O, and space complexity is O. For longer arrays time complexity is ) , and space complexity is O).
Regular Express complexity is harder to explain. According to this Stack Overflow answer:
This is one of the most popular outlines: Regular Expression Matching Can Be Simple And Fast . Running a DFA-compiled regular expression against a string is indeed O, but can require up to O construction time/space .
Recommended Reading: System Design Interview Prep
Practical Tips For Coding Questions
This section dives deep into practical tips for specific topics of algorithms and data structures, which appear frequently in coding questions. Many algorithm questions involve techniques that can be applied to questions of a similar nature.
The more techniques you have in your arsenal, the greater your chances of passing the interview. For each topic, there is also a list of recommended questions, which is valuable for mastering the core concepts. Some of the questions are only available with a paid subscription to LeetCode, which in my opinion is absolutely worth the money if it lands you a job.
Hiring Strategy And Coding Interview Structure
If we relate the structure of the coding interviews with the hiring strategy I mentioned in the previous section, we should now be able to see how things start to make more sense :
The organization, which we are basing our assumptions on in this post, wants to hire generalist software engineers into the organization to solve tomorrow’s problems, not just today’s problems. So, the assessment is not restricted according to the work the organization is taking on today. The software engineering candidates are evaluated according to their core problem solving and computer science knowledge, based on several different coding challenges in varying degree of difficulty to maximize the chance of accurate, and high quality signals to be retrieved to reduce the chance of a false-positive, or false-negative. Coding interviewers are only one part of the entire interview process. However, they on its own give pretty accurate signals for the minimum bar around he candidate’s:
- skills to use a programming language to solve a particular problem through coding, while being able to form an algorithm
- ability to be able to critically think about the problem, while being able to ask the right questions to widen their understanding on the problem, proactively finding out the edge cases, and potential optimizations
- analytical reasoning for a given problem, according to requirements which may or may not be ambiguous to start with.
Also Check: Preparing For System Design Interview
Explain Concepts Out Loud
Coding concepts are challenging to explain, especially when speaking to someone unfamiliar with the field. When a hiring manager wants to learn about your thought process, they might ask you to explain concepts.
Before your interview, explain complex coding topics out loud to a friend. When explaining concepts out loud, it is easier to recognize how well you grasp a topic and what you should review. Explaining concepts ahead of time helps you grow confident in verbalizing your techniques.
Tips To Help You Ace A Whiteboard Interview
Whiteboard interviews can be intimidating. You’re put on the spot and asked to solve a technical problem without knowing anything about it beforehand. And if that wasn’t enough, you also have to explain your solution to your interviewer.
Still, whiteboard interviews are a crucial part of the hiring process. In the video below, Farish, a developer based in California, explains how whiteboard interviews allow you to showcase your ability to reason, explain, and solve a problem all of which are skills you’ll need while working on a team with other developers. In the paragraphs below, we’ll provide 9 tips thatll help you ace your whiteboard interviews. But first, we’ll explain what a whiteboard interview is.
Recommended Reading: How To Prepare System Design Interview
Prepare Yourself To Do Some Whiteboard Coding
Its natural for companies to want to see a demonstration of your abilities. When youre in the interview, dont be surprised if you get some questions designed to test the depth and scope of your programming skills. Use your free time to do some quick and accurate coding practice to prepare for the interview. So grab a pencil and a piece of paper and get practicing!
Understanding the whiteboard interview is only a small part of the interview process, but its vital nonetheless. Your technical resume, cover letter, and portfolio are important toobut they only get you to this point. In short, the whiteboard interview is your chance to make up for any shortcomings in your resume or portfolio. Youll have a chance to demonstrate your abilities and how your skills will add value to the company.
Coders in todays business world have to be ready to answer whiteboard interview questions so hiring managers can see their skills. Our guide gives you sample whiteboard interview questions to prepare you for success in your next interview.
Do you have any favorite sample whiteboard interview questions? Let us know your thoughts in our comments section below.
About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.
Back To The Traditional For Loop And While Loop
The traditional for loop and while loop are frequently used in algorithm questions because you may need nested loops or pointers.
Because you hardly use for loops and while loops in your daily work, you may make mistakes in the syntax. Those mistakes will cause runtime errors, an array index out of bounds, infinite loops, etc. For example:
- You could forget the incremental at the end of a while loop.
- You use the < = sign to terminate the for loop against the arrays length.
Recommended Reading: Questions To Ask A Cfo During An Interview
What Do You Mean Communicate
Lets say you are in the interview and your interviewers throw you a whiteboard question. Do you step up to the whiteboard and feverishly start solving the problem?
That tends to be everyones instinct, but its definitely not the right way to go. Even if you think you understand the problem, you should take some very important steps before moving forward.
Whiteboard Coding Interviews: A 6 Step Process To Solve Any Problem
In this video, CEO and co-founder David Yang, spells out a tried and true method for solving whiteboard coding problems that are often used in technical interviews. Check out the full transcript below.
So one thing I want to talk about today is how to ace that technical interview. And this is really one of the hazing processes of getting a job in tech is you got to get into a room with another developer, someone you’ve just met, they’re going introduce you, introduce themselves to you and they’re going to give you a problem and you’re going have to solve it on a whiteboard which is totally unnatural, I get it.
Usually you don’t code on a whiteboard. Usually you’re working with people you know. So it’s a pretty intimidating process for entry-level developers, actually to be honest it’s intimidating for everyone.
It’s one of those things where even to this day when I’m interviewing for technical jobs I still get nervous about it, even though I’ve done hundreds of them, I’ve been on both sides of the table and I’ve also, I’ve practiced a lot of coding problems throughout my lifetime, it still makes me nervous. So that’s very natural. I wouldn’t be upset that you’re nervous about it, it’s just something to practice for.
So what does REACTO stand for? Repeat, give examples, describe your approach, implement the code, test the code, and then talk about optimization.
Read Also: Mailscoop Io
Review Common Technical Terms
Coding encompasses a wide variety of languages, and each has its own set of terms. Hiring managers expect you to be very comfortable with the coding languages their company uses, so it’s ideal to familiarize yourself with various concepts that they may ask about.
Consider rereading past course materials and researching online information to remind yourself of standard technical terms. Review college and training textbooks to test yourself on technical language. You can also create notecards to easily memorize terms and their definitions. For additional practice, explain these terms to a friend in your own words. Remember, it is also important to know how to apply these terms, so make sure you are comfortable with putting them into context.
How Coderpad Facilitates Whiteboard Interviews
With the Drawing Mode inside of CoderPad, interviewers have a way to create collaborative remote interviews in which participants can sketch out systems, describe technical architectures, and let their creativity run free. Drawing Mode allows both interviewers and candidates to add their input to a collaborative whiteboard spacecreating shapes, lines, text boxes, as well as erasing them at will. In short, CoderPad helps bring the functionality and accessibility of whiteboard code into context of a remote interview.
Read Also: Prepare For System Design Interview
Practice With Mock Interviews
The steps mentioned above can be rehearsed over and over again until you have fully internalized them and they become second nature to you. A good way to practice is by partnering with a friend and taking turns to interview each other.
A great resource for preparing for coding interviews is interviewing.io. This platform provides free and anonymous practice interviews with Google and Facebook engineers, which can lead to real jobs and internships. By virtue of being anonymous during the interview, the inclusive interview process is unbiased and low risk. At the end of the interview, both the interviewer and interviewee can provide feedback to each other for the purpose of helping one another improve.
Doing well in mock interviews will unlock the jobs page for candidates, and allow them to book interviews with top companies like Uber, Lyft, Quora, Asana, and more. For those who are new to coding interviews, a demo interview can be viewed on this site. Note that this site requires users to sign in.
Another platform that allows you to practice coding interviews is Pramp. Where interviewing.io matches potential job seekers with seasoned coding interviewers, Pramp takes a different approach. Pramp pairs you up with another peer who is also a job seeker. The two of you take turns assuming the roles of interviewer and interviewee. Pramp also prepares questions, and provides solutions and prompts to guide the interviewee.
Hiring Into A Team Vs Company
Depending on where you want to land a prospective employee after the successful outcome from the interview process, your hiring strategy can also differ, and can even be multiplied. If you are an organization where your teams have longevity, and work on specific domains, it’s valid to hire into a specific team. This gives autonomy to each team to be creative about their own hiring strategy while also allowing the team to be much more specific about the assessment criteria, which will potentially lead to multiple hiring strategies to exist within an organization for the same role.
The other option is to hire software engineers into the organization based on a generic criteria, and defer the team selection to a later point. This often works better based on my experience, as it makes it much easier for engineers to move between teams within an organization which further helps for an organization to retain the talent under circumstances where the employee wants to change their team for one reason or another.
You May Like: Top 10 Behavioral Questions
The Best Whiteboard Interview Advice I Ever Received
Whiteboard-style interviews are ubiquitous in the tech industry. For those who not had the pleasure, whiteboard interviewing is the practice of asking candidates to solve technical questions on a whiteboard, piece of paper, or computer during the interview. This kind of environment can feel like a pressure cooker and cause even the most competent engineer to fall apart.
In this article, I intend to pass along the best advice I ever received for going through a whiteboard interview. Note that I do not intend to address the fairness or efficacy of whiteboard interviews because, well, as interviewees we currently have to deal with them regardless.
Tips For Conducting A Whiteboard Interview
Interviewers must prepare carefully to make sure that they hire a candidate whos good at their job theyre interviewing foras opposed to someone whos good at whiteboard programming. Here are some best practices.
First, if you make your questions too difficult, you will filter out everyone except individuals who have memorized certain rote techniques for creating algorithms and data structures. Make your questions more grounded and representative of issues youre likely to encounter in the real world rather than obtuse and arcane algorithm questions
Second, dont get too worried about whether a candidate solves your problem perfectly. Its more important that a candidate shows their work, demonstrates creative problem-solving skills, and works collaboratively.
Third, remember to ask open-ended questions about whether the candidate is happy with their solution, how theyd improve on it, or what theyd add if they had more time. This gives you a sense of what the candidate would do if they had the resources of the company at their disposal.
Finally, make sure to add options for accessibility. Some talented programmers might not be able to hold a marker, see the whiteboard, or stand for long periods of time. Take this into consideration.
Read Also: Interview Questions To Ask A Cfo
Hacks To Make Your Whiteboard Coding Process Easier
The interview process for software engineering positions usually involves one 45-minute round of whiteboard coding. Before the COVID-19 pandemic, whiteboard coding literally happened in front of a whiteboard if you were applying to local companies. Nowadays, coding interviews take place over an interactive coding web application such as CoderPad.
Even if youre a mid-to-senior-level developer, a coding interview is always a big challenge. It doesnt really test your day-to-day job in dealing with frameworks and architectures, but its the test of your fundamental knowledge in data structures and algorithms.
If you cant solve a question during a coding interview, there could be three reasons:
- Youre not lucky. You didnt get a question youve seen before.
- You didnt practice. In this case, you can mess up even an easy question.
- The question is really hard. Even though youre given a couple of more hours, you wont be able to solve it.
To tackle the last point, you must be an exceptional coder or have been training consistently for a long time. Tackling the first two points is a lot easier.
In this article, Im going to share nine hacks to increase your odds of solving a question during a coding interview. These tips are not for interviews at top-tier tech companies like Google, Facebook, or Amazon. They are for lower-tier companies that give you a better chance of success.