How to prepare for a coding interview in 8 weeks
As of this writing, the market is tough. We’ve been hit hard with a deadly pandemic that left thousands of people unemployed. It’s layoffs everywhere and the companies are being conservative when it comes to hiring.
Companies are not willing to hire people with no experience or people who they’ve to train.
Your first job in tech is the toughest, you’re competing with virtually every new college grad and anyone who completed a boot camp. I know it can be hard to even land an interview, for someone to give you a chance to talk and demonstrate you could be valuable employee.
Now, the chance of you getting an interview totally depends on how your resume compares to the job description. The more relevant it is to the skills required, the better your chances of getting an interview.
To build your resume, I’d recommend https://thetechresume.com. It’s a nice read to follow the principles when it comes to building a tech resume.
Over the past few months, I’ve been collecting resources like videos, websites, and taking notes to prepare for coding interviews.
In that process, I made a 8 weeks study guide curated of important data structure resources to prepare for tech interviews and honestly this study guide was helpful to me to know what to study every day and in following a routine for my job search.
Why 8 weeks ?
If you’re serious about preparing for a tech interview then 8 weeks is the minimum to be given to prepare thoroughly for a tech interview. I know there are few who would cram up pools of content in a week or two. But, I believe that is not a realistic or sensible approach.
Tech interviews can be intense and most companies expect you to solve problems or go through a data structure topic in detail.
Now, My study guide with resources will eat up the entire blog space. So, Instead of straight up dumping down the content all together, I racked my brains on how to deliver the content in the most effective way possible to ensure the habit of consistency and dedication stays intact during the interview preparation process.
In this blog post, I would give you what to cover each week. If you’re interested to know what resources to refer when covering each topic then I’d recommend subscribing to the newsletter https://thedailycoding.com in which you’ll receive daily one email about the concept and the resources to practice.
If you believe you can find resources to relevant topic on your own then here’s how you should plan to cover each topic every week.
WEEK 1 — Data Structures & Big O notation
Get a hang of what are data structures and how do we measure time complexity. What are the drawbacks and when is it better to trade time with space.
WEEK 2 — Arrays & String Manipulation
What are arrays? How do we access them? Practice implementing them and analyze time and space complexity. Practice problems on string manipulation. Usually big companies who mass hire and pay relatively low ask a lot of questions on string manipulation.
WEEK 3— Hash Tables & Linked Lists
How can we link our data together and what could be the most efficient way to access the data. Hash tables are important data structures when it comes to cutting down access time. Learn about how we can chain the data set to access and map them with each other.
WEEK 4— Stacks and Queues
Understand the principles of Stacks and Queues. How can they be implemented? What are the differences? Where should each of these be applied to? Practice problems on stacks and queues.
WEEK 5 — Recursion & Sorting
Start from the anatomy of recursion to how can it be implemented to sort elements. Recursion is an important topic and it usually applies when implementing a sorting algorithm. Go over the popular sorting algorithm and learn how are they traversed and sorted.
WEEK 6— Trees
If you’re interviewing for Amazon then Trees are the must-know concept. Amazon interviewers are usually very interested to know your knowledge and problem solving skills in relation to Trees. Make sure to cover it broadly and implement it on your own. By the end of the week, you should be able to reverse a binary tree.
WEEK 7 — Graph
Graphs are another hot topic that is usually asked by high rewarding companies and FAANG. If you’re a new grad then you most likely will not receive a question on graphs but it’s nice if you know it and can practice to make yourself confident and ready to take up the challenge. Get familiar with some of the famous graph algorithms.
WEEK 8 — Patterns
The last week should be all about detecting patterns. As you solve questions on various topics, you’ll see that some of these question have patterns. There are few famous patterns like sliding window, two-pointers, cyclic sort and many more. Try to see what coding question resembles what pattern.
Now, of course there are many study guides out there. But, this one helped me in landing my first tech job and I hope it also helps you. If you’re interested about where to pick up resources to learn all these then as stated above, you can subscribe to the newsletter.
I hope you fight these hard times and don’t let the market condition dictate your self-worth. The job market right now is a hot mess and I mean it.
Let’s put our energy on things we can control and make sure we are ready when the opportunity comes our way.