Technical Interview Preparation Plan [4 WEEKS Ultimate Guide]
4 weeks plan to land software engineering jobs

What does technical interview mean?
A technical interview AKA coding interview is a type of interview to test your coding skill through many types of questions. Some of the questions will include a mixture of data structures, algorithms, system design, and any specific software engineering skillsets.
In this article, I am going to share the most detailed technical interview preparation plan that you can master in just one month to land at your dream tech company.
How to prepare for a technical interview in one month?
Master one or two languages well
Learn data structures
Deep dive into algorithms
Understand oop concepts
Read system design
Practice on Leetcode, Hackerrank, etc
Get someone in the industry to run a mock coding interview
Master one or two languages really well for your coding interview
Arguably, you should pick up the languages that are popular among software engineers. The advantage of using a popular programming language is that developers can easily understand what you are trying to achieve during the interview. Some of them might be able to point out if there is a syntax error during the interview. However, if you only know nonpopular programming language but very comfortable with it, then you should stick with such language. Some of the popular coding languages I would recommend are Java, Python, and Javascript.
Learn Data Structures and Algorithm
Learn Data Structures and Algorithm to help ace technical interview
The fundamental of technical interviews is data structures and algorithm. In fact, by mastering both of the topics, you probably ace 70% of the interviews. Depending on your role, typically backend engineers will get more advanced questions of the data structures and algorithm. I am going to rank for you which data structures you need to master.
Why data structures and algorithms are important?
Many of you may ask, what is the importance of knowing data structures and algorithms, and how will that help your coding skill?
The answer to this depends on your role. If you work to develop the high-performance database, then the right data structures and algorithms might play a vital role. However, if you work mostly on the design as a front end developer or have to deal with minimal data, then it won’t be as important as much for you. However, knowing and understanding the basics of these topics might help you understand better on how to optimize the performance of the site.
This is the list from the most basic data structures to advanced data structures that you need to master to ace the interview
Array
Linked List
Stack
Queue
Hash Table
Tree
Graph
Trie
And this is the algorithm version of it
Searching and Sorting
Divide and Conquer
Greedy Algorithm
Graph Algorithm
Dynamic Programming
Backtracking
By any means, these are some of the topics that have been asked a lot in the technical interviews. There will be other topics that sometimes asked for the interview but not the common one.
More topics on Data Structures
Understant Object Oriented Programming [OOP]
OOP or known as Object-oriented programming will help developers to be more efficient by reusing and model the problems in an object-oriented fashion.
This section here only applied if you are applying for a job as a backend engineer or full-stack engineer. I have to say though, if you are a C++, Java, Python, or any object-oriented programming language developer, then this section will be supercritical for you.
I am sharing some of a good place to start preparing for you OOP interview questions
Read System Design
System Design interview typically only applied for those who had experiences working as a software engineer before. Nevertheless, as a newbie software engineer, you are still expected to understand the basic concepts of system design.
Some of the most common topics for system design:
Horizontal and Vertical Scaling
Caching
Relational Database vs Non-Relational Database
Designing Database
Distributed System (CAP theorem)
If any of those topics do not make sense, I am also sharing some of these resources that can help you understand those topics better
Practice on coding platform
The two coding platforms that I would recommend is
Hackerrank
There are specific reasons, why do you need to use these two platforms.
For leetcode, it can be referred as a database of interview questions. Although, you should not expect that the question will be exactly the same, it is a good idea to understand the problem on the leetcode as it used the similar concepts with the problems you face during your interview.
As for hackerrank, this is one the most popular software that is being used by many tech companies to conduct the interview. Knowing how to use the application, and get familiar with the buttons and environments, will increase your speed and confidence during the actual interview.
Have real software engineer to conduct technical interview [mock Interview]
The two coding platforms that I would recommend is
Hackerrank
There are specific reasons, why do you need to use these two platforms.
For leetcode, it can be referred to as a database of interview questions.
Although you should not expect that the question will be the same, it is a good idea to understand the problem on the leetcode as it used similar concepts with the problems you face during your interview.
As for hackerrank, this is one of the most popular software that is being used by many tech companies to conduct the interview. Knowing how to use the application, and get familiar with the buttons and environments, will increase your speed and confidence during the actual interview.
Practice Mock Interview
After all, the mock interview will help you a lot to put you in a situation that simulates the real interview.
Some benefits of having a mock interview
Help you to reduce the anxiety during the real interview
Boost your confidence
Get feedback, so you will not make the same mistake during a real interview
Although there are tons of benefits for doing a mock interview, it is not so easy to have some experience software engineer to do a mock interview with you.
Congratulations, if you have read this far, then you have known the full preparation plan. Let me know what you think, feel free to chat with me theliamwang@gmail.com
If you are interested in crafting a good resume for your software engineering jobs, then check out this page

