The case for algorithmic / leetcode style questions when interviewing as a software engineer
Introduction
This content is based on the my own biased opinions on the industry having worked mainly in the US for corporate tech and having hired for a few positions when running my own startup. Take everything with a grain of salt when forming your own opinions. The purpose of this article is to provide some thoughts on how best to prepare when job searching.
Understanding the purpose technical screening
If we are to understand the hiring process it makes sense to take a step back to understand the requirements of a good interview. In summary interview or screening process needs to:
1. Determine if you have the experience to get the actual job done.
1. Determine culture fit. This covers things from communication style to how agreeable of a personality they have. The red flags in this stage are usually people who don’t communicate when there is a problem, misunderstanding or something being unclear.
1. Understand your thought process and how you approach problems.
Experience to do the job
Algorithms and leetcode
In my experience algorithmic questions are great for demonstrating an understanding of how to analyse performance impacts of algorithms and small design decisions at the micro level. They do a poor job at understanding how a candidate will do when it comes to designing an actual feature.
Strongest indicator
Side projects and past experience that encapsulates high level system design are great at being able to understand whether a candidate has the experience to solve higher level and larger scale problems.
Culture fit
Algorithms and leetcode
Algorimthic problems don’t really do much in the way of demonstrating culture fit. Most of it comes down to how a candidate would communicate thoughts and bounce ideas off the interviewer.
Strongest indicator
The best way to excel at this is to do well in the initial five minutes of ice breaker when it comes to introduction. The screening process also looks to gauge a candidates interest in the actual company and their passion for the company’s products / services and general industry.
Communication ability
Algorithms and leetcode
Algorithmic questions do however show how a candidate communicates his or her thoughts in a spoken manner. Often times information can and is missing from the problem statement and sometimes the screening process is there simply to see how a candidate probes or scopes down a problem and how clearly he or she can explain his or her ideas.
Strongest indicator
There really isn’t a strongest indicator in this category, the whole interview process is used to determine this.
Should you be grinding leetcode or not?
In my opinion, you should expect leetcode to be the minimum bar or standard in the industry especially towards entry level to mid level career stages since most candidates don’t have much in the way of experience or projects to show. However what I have noticed is that the more senior of a position, the more the screening process leans towards learning about your past projects and work as well as doing high level system design / architectural problems.