As engineering hiring managers, you know the importance of finding the right candidate. You may use the “Leetcode” style interview, a common process adopted from other tech companies like, Google or Amazon. It’s easy to create, grade and train interviewers on. Although it's the most widespread way of conducting technical interviews, it is worth considering its effectiveness.

What is a “Leetcode interview”?

Leetcode style interviews, often referred to as "brainteaser" interviews, focus on solving data structures and algorithms in 30-90 minutes. They can be conducted either asynchronously (via an online IDE) or synchronously (live, on a call with another developer). These interviews measure the speed at which the developer can solve a problem, as well as their ability to talk through problem-solving out loud to the interviewer.

What is the problem with Leetcode Interviews?

The problem with Leetcode style interviews is twofold: they don't accurately reflect a developer's on-the-job skills and they create an unnecessarily hostile environment.

These interviews focus on a narrow range of theoretical technical knowledge, such as data structures and algorithms, but ignore other important skills such as knowledge of programming languages and frameworks, ability to solve real-world problems, ability to read code, or code quality. Furthermore, the interview process can be incredibly stressful, which can cause anxiety and negatively affect the performance of the interviewee. As Sockpuppet puts it, “Engineering teams are not infantry squads. They aren’t selected for their ability to perform under unnatural stress. But that’s what most interview processes demand.”

Alternatives to Leetcode interviews

Fortunately, there are alternatives to Leetcode-style interviews that provide a more comprehensive assessment of a developer's skillset and potential. Here are three alternatives to Leetcode style interviews that are worth considering:

  1. Take-home Practical Assessments: Take-home practical assessments allow developers to demonstrate their skills in a more natural and lower-stress environment. By providing a task to complete, employers gain insight into the applicant's problem-solving capability and coding proficiency. You can evaluate their mastery of the tech stack, code design, and code organization. To come up with an appropriate challenge, a company can consider recent tasks that have been completed by the team. This challenge should be scaled down to a 1-2 hour task and distributed to the applicant asynchronously.
  2. Pair Programming Live Interviews: Pair programming live interviews are a great way to assess a developer’s technical ability and team collaboration skills. During these interviews, two developers will pair up on a given project and work together to complete it. This type of interview allows you to observe the developer’s coding style and communication skills, as well as their ability to work with others.
  3. Talk Through an Existing Project: Talking through an existing project is another great way to assess a developer’s skillset. This type of interview allows you to get a better understanding of the developer’s experience and capabilities. It also allows you to get an overview of the developer’s problem-solving process, code structure, and experience with certain technologies.

Overall, Leetcode style interviews are not the only way to assess a developer’s skillset. In fact, Webflow's technical recruiter mentions how Leetcode style interviews are terrible if your focus is on diversity and inclusion. Take-home practical assessments, pair programming live interviews, and talking through an existing project are all great alternatives that allow you to get a better understanding of a developer’s abilities and potential. Adding one of these interviews to your hiring process will help you create a more comprehensive evaluation system, giving you an insightful, more holistic view of a developer's capabilities.