Intro to Coding interviews

In coding interviews, you will typically get 1-2 algorithmic problems, and 45-60 minutes to solve them. You will need to explain your solution to the interviewer, and to write a solution code in the programming language of your choice.

Coding interviews usually take at least 80% of the whole interview process, and by far are the most important rounds of the interviews. Good performance here is a requirement for getting hired. Conversely, bad performance on the coding rounds can tank the whole process.

How to prepare

The best way to prepare for coding interviews is to solve a lot of practice problems in advance. For this, there is nothing better than Leetcode. Problems there are virtually the same as the ones asked at the real interviews in the companies. In my experience, about 25-30% of the problems I was asked to solve during the real interviews I solved on Leetcode before, and about 70% of the problems have similar problems on Leetcode.

I feel that anybody who solves 300–400 problems on the Leetcode has a good chance of passing almost any coding interview round.

Cracking the Coding Interview book also has a nice collection of problems, though nowadays it's not as useful as Leetcode, where you can compile and test your solution. I mostly just checked the chapters I found interesting to me (for example, I recommend chapters about linked lists and trees).

Learning algorithms

To solve interview problems you will also need to know a number of standard algorithms and techniques. You can learn more about it in the following section of this website:

Knowing you language

In the coding interviews, you will be expected to code a working code in the language of you choice. So, you need to pick a language you will use, and learn how to best use it. Learn about it here:

Coding interview tips

There are many tips and strategies for a successful coding round. Read more about them here: