There are job interviews, and then there are job interviews for programmers. Starting as a Junior Developer, the hiring process can be intimidating. And the main reason is usually the same: Interview Coding Problems.
Most of the positions that you are going to apply for are going to have at least one coding question for you to solve during the interview process. From what I know this is the standard way the programming interviews are conducted for many years.
Why Interview Coding Problems?
Although many disagree with the process and have valid arguments against it, I believe that there are some good reasons why it has stuck for such a long time.
From the interviewer’s perspective, a coding problem is a quick way to check various of the candidate’s abilities. Familiarity with data structures and algorithms, logical thinking, knowledge of language specifics, and last but not least he can see the candidate writing code.
“And what about the candidate? What’s the benefit of making him go through this stressful process?”
I agree that solving a coding problem with an interviewer watching your every move and the clock ticking is not an easy task. There is, however, another point of view here. A coding problem during an interview is a chance for a good and well-prepared developer to shine. Remember that the same or a similar problem is presented to every candidate. What better way to stand out than proving to the interviewer that you have abilities that, other not so well-prepared candidates, lack?
How to Prepare
Either you support this approach to programming interviews, or not, the reality is that, most likely, you are going to stumble upon coding problems during the hiring process.
There are better and worse ways to prepare. The wrong way is to read through the problem and the solution, trying to memorize it. The better way is to exercise solving various coding problems, by taking the same steps that you would take on a real interview.
The Best Coding Interview Questions
In the upcoming posts, I will be choosing the best coding problems from various sources. I will also follow a guide when solving the problems which you can use to practice and get ideas.
- Strings and Arrays
- Linked Lists
- Stacks and Queues
- Hash Tables
- Bit Manipulation
There are many sources where you can read about programming interview questions. Currently, I’m reading Cracking the Coding Interview: 150 Programming Questions and Solutions by Gayle Laakmann McDowell, which is a very nice start and covers many topics of the interview process. Another good read is Elements of Programming Interviews: The Insiders’ Guide by Adnan Aziz, Amit Prakash, and Tsung-Hsien Lee, with some more advanced problems.