Cracking the FAANG: A 57-Day plan to Master Coding Interviews
Simplify interview preparation with a classroom type approach to algorithms and data structures
Last week, I wrote about my friend Christina, who was under pressure from an upcoming FAANG interview. After she got ready to challenge herself by trying to give an interview, the question was how to prepare. I gave the below advice for preparing for online assessments and interview rounds.
Interview Preparation: The 3 Core Skills
FAANG candidate assessment based on
Coding skills
System Design skills
Behavior skills
The above 3 skills are standard across all big tech companies: Meta, Apple, Amazon, Netflix, Microsoft, and Google. These skills are not rocket science, and if you’re serious about getting into FAANG, you can totally crack these interviews. I’m not saying it’s easy because I work at one of these companies, but it’s definitely doable. The reason is simple: there are tons of resources available online to help you improve these three skills. And let’s face it, all CS students dream of working at FAANG, so there are plenty of people created plenty of options to help you get there.
Here I will focus on the first skill, which is standard across FAANG, whereas behavior skills depend on a company's culture fit and system design based on job seniority. I will talk about those in future posts, but let me tell you how to prepare for coding interviews.
Coding Skills Are Like Math: Start with the Basics
In interviews, coding skill assessment is done through coding challenges. LeetCode is one you might have heard of. LeetCode problems are coding challenges that test a candidate's knowledge of computer science and software engineering topics. Currently, LeetCode has around 3400 problems listed on their website. If you're doing 10 problems per day (which would be hard), it will take a whole 1 year of just preparation for these.
The secret is you don't have to practice all 3400 problems. Instead, you can focus on learning basic algorithms. It's like math. You cannot solve a 5-digit multiplication math problem if you don't know 1-digit multiplication rules. Think about how you (or a child) learn math. Initially, they start with the foundation rules of multiplication. They don't care about how much time it takes to solve the problem. They don't care about how to go on to advance in it. They just focus on learning the basic foundation of math multiplication. Then, over time, once they learn about 1-digit multiplication, they start practicing 2-digit multiplication and more and more complex multiplications. Once they do enough practice. They automatically learn the underlying better with more practice.
The Classroom Approach: Simplify Your FAANG Prep
For learning basic algorithms, there are hundreds of materials online. Many FAANG engineers created their websites, books, study guides, etc. Each of those materials is good in its own way, but I'm not going to list down all of those materials. Otherwise, it's going to be a selection problem. So I'm going to talk about NeetCode.
Note: Not a sponsored post or affiliated with any link mentioned in this post.
What makes NeetCode great is how it converts coding interview preparation similar to how we learned in school and university. There are courses/subjects you take, and each of those courses has chapters and assignments.
The 57-Day Challenge: One Chapter at a Time
In NeetCode, I'm referring to the below courses that will give you a good understanding of basic algorithms.
Algorithms & Data Structure for Beginners - 35 Chapters
Advanced Algorithms - 22 Chapters
So there are a total of 57 chapters, combining both courses. I will suggest watching videos and practicing all those linked problems on the same day. Basically, completing 1 chapter per day takes 57 days. If I were you, I would not try to become oversmart and complete 57 chapters in 30 days. Consistency is key. So, create a habit of doing 1 chapter per day, no less, no more.
I can confidently say if you complete all those chapters in *exactly 57 days*, you don't need to refer to any other materials. After 57 days, you will be more confident in taking interviews and solving coding problems. If you're serious about FAANG, commit to the 57-day plan today. Bookmark this page and get started with Chapter 1 of NeetCode!
Final Thoughts
The foundation is the key: NeetCode is a good resource for learning basic algorithms, similar to a school or university curriculum.
Study Plan: A consistent study plan of completing one chapter per day from both courses is recommended, resulting in a total of 57 days of study.
Focus on learning rather than time: Solving math problems faster takes years of practicing similar algorithms and requires practice to get faster.