Contents
All blogs / The case for algorithmic / leetcode style questions when interviewing as a software engineer
August 13, 2021 • Matthew Duong • Industry • 2 minutes
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.
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 the interview or screening process needs to:
Determine if you have the experience to get the actual job done.
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.
Understand your thought process and how you approach problems.
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.
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.
Algorithmic 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.
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.
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.
There really isn't a strongest indicator in this category, the whole interview process is used to determine this.
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.