DEV Community

Cover image for 3-month plan for Cracking the Coding Interview
Braincuber Technologies
Braincuber Technologies

Posted on

3-month plan for Cracking the Coding Interview

How to crack the coding interview? I think every software engineer must have thought of this question at some point in their life. And many are still trying to find answers to this question. I was also wondering about the same a few months back. And then I made a 3-month plan to study for & crack the coding interview. I got 2 good offers after following this plan. I will be sharing the study plan with you so you can also take a few notes from my experience.

The first thing we need to think about is what we need to include in our study plan. I remember when I started to note down what I needed to study. It was overwhelming, to say the least. But I made the list. And a lot of topics were later added to that initial list as time went by. I will share the list with you so that you don’t have to make the painstaking effort yourself. Let’s first look at what we need to include in our preparation.

Data Structures:

One of the fundamentals of programming is data structures. They are used to storing and organize data in a meaningful way. Some important data structures which are a must for coding interviews are:

  1. Array
  2. Stack
  3. Queue
  4. Linked List
  5. Binary Tree
  6. Binary Search Tree
  7. Heap
  8. Graph
  9. Tree

Other Important Topics:

There are some important topics that don’t fall under the traditional data structures umbrella, but are very important from a coding interview point of view. Some of these are:

  1. String
  2. Hashing
  3. Searching
  4. Sorting

Important Algorithms:

Algorithms are very important for coding interviews. They help you in getting to the solution and are as important if not more important than data structures. Some algorithms that you must prepare for the coding interview are:
Backtracking
Divide & Conquer
Branch & Bound
Binary Search
Dynamic Programming
Greedy
Recursion
Sliding Window

Resources for Studying

Programming Interviews Exposed: Coding Your Way Through the Interview

The Study Plan

Now that we know what we need to study in order to prepare for the coding interview, we now need to have a plan for studying. But you should study and prepare according to the plan. Otherwise, a plan is of no use. Because a plan is only as good as the implementation. Let’s look at the plan.

Month 1

The first month should be dedicated to learning the data structures, concepts, and algorithms mentioned above. If you don't know the data structures, the concepts, and the algorithms required to solve problems, you won’t be able to solve anything.

If you have been studying from time to time, this process will be a lot easier for you. But if you are starting from scratch, you need to be dedicated. Make sure you go through the concepts thoroughly and understand the nitty-gritty of each topic. Knowing where a List should be used and where a Set should be used might seem trivial now, but during implementation in an interview, it might be the deciding factor in your selection. So be thorough.

Month 2

After you have studied and prepared for one good month, you should be able to try your hand at problem-solving. But don’t be too ambitious and start off with Medium level or Hard level questions. Start off small. Take baby steps. Don’t try to run before you can even walk.

You should start off with simple problems, the Easy level first. It’s possible that you might find solving Easy level problems difficult initially, but try to solve them on your own.

You should get fairly comfortable solving Easy questions in 10–15 days. If you are, it’s time to move to Medium level questions. Just take whatever experience and knowledge you have gained solving Easy level questions and apply it while solving Medium level questions. Remember, you will be spending most of your preparation time solving Medium level questions. And you should. Why? Because most companies ask Easy or Medium level questions only.

For the second month, if you are able to solve 3 questions daily during the Easy period and 2 questions daily during the Medium period, you will have solved 75+questions by the end of the second month.

Month 3

If you are busy solving Medium level questions by the start of the third month, you are on the right track. You should spend the last 15 days of the second month & the initial 20 days of the third month solving Medium level questions only. In the end, you will have spent a total of 35 days solving Medium level questions.

By the start of the third month, you should be fairly comfortable solving Medium level questions. You can step up your effort and should aim to solve a minimum of 3 Medium questions per day.

If you have the time and the willpower to start solving Hard level questions, you can try solving these during the last 10 days of the third month. If you don’t want to solve Hard questions, you can continue with the Medium questions or try to do a revision of whatever you did during the past 3 months.

For the third month, if you solved 3 questions per day during the Medium period and 1 question per day during the Hard period, you will have solved 70+ questions in the third month.

Important Note

While solving the problems, make sure you cover each topic mentioned above. It shouldn’t happen that you solve 15 problems based on dynamic programming, but none based on backtracking. Make sure you touch upon all the topics so that you are ready for each and every type of question that can be asked in the interviews.

Summing It Up

If you follow the plan, you will be able to complete studying all the data structures and algorithms needed for interviews. Plus you would complete solving ~150 questions. And I have considered the daily numbers on the lower side. If you really step up your efforts, you should be able to complete ~200 questions in three months' time. And that should make you ready for the interviews.

That’s it, folks!!! Hope I have helped you in preparing for the coding interview. Please click the ❤ button below if you found the article helpful :)

Further Reading:

JavaScript concepts you need to know in order to get started with React

10 Quick SQL Tips After Writing Daily in SQL for 3 Years

image credit

Computer cartoon vector created by catalyststuff www.freepik.com

Top comments (1)

Collapse
 
dyn0987 profile image
dyn0987

Good explanation and very detailed!