Background
When I got my first interview at Google, I had 0 engineering experience. I went through the phone screen and completely failed, realizing that I was way less prepared than I had imagined. I was determined to study and reapply.
I then started the “typical” study path based on my google research, which was grinding Cracking the Coding Interview & Leetcode every day. As I approached my interview, I had over 200 Leetcode problems under my belt and had practiced Cracking the Coding Interview from front to back. According to the internet, I was ready for this coding interview.
I got to my Google interview and left thinking “maybe I passed”. I spent most of the interview feeling uncomfortable. The interviewer asked random questions that were nothing like what I had been studying. They were very math-heavy and way more abstract, lacking a lot of detail.
When I got the email that I didn’t get the job, I was super upset. I was doing everything that everyone told me to do to get the job. After some reflection, I ended up changing my study habits to align with what I had learned from my failures. I took a more holistic approach to my preparation and after another year of studying, got offers from both Google & Meta.
This is all to say that just studying Cracking the Coding Interview & Leetcode works for mid-sized companies but if you are applying to a FAANG level company, you need an alternative.
Downfalls of Cracking the Coding Interview
Cracking the Coding Interview gives you a great birds-eye view of the relevant data structures and algorithms, but it doesn’t get deep enough into the fundamentals. FAANG interviews are notorious for being very difficult because the problems are designed to test your fundamentals and your ability to apply them.
Cracking the Coding Interview’s approachability is its downfall here. It’s designed to be a great resource for engineers looking to get a job at a mid-size or non-fang company. It’s meant to be a book you can study, take 30 interviews, and eventually, you’ll see something you saw in the book and get a job.
The problem with FAANG interviews is you don’t have 30 chances and the odds of getting 5 interview questions directly out of the book are slim to none. There will always be a success story about how someone just did Cracking the Coding Interview problems and landed the job. This is the exception to the rule. With FAANG interviews, you need to prepare for problems you’ve never seen before. Big Tech coding interviews are not memorization exams. They are meant to test the fundamentals. This is an interview that is going to push you to be creative and that means you need to know all of the math behind the concepts you are working through.
Alternative
I recommend the Algorithm Design Manual as a starting point to every aspiring FAANG engineer in my study group. It’s a relatively dry book in my opinion, but I haven’t ingested any other resource that has prepared me as well as this book has. This book doesn’t cut any corners and teaches you the math behind all of the data structures and algorithms you can expect to see during an interview.
If you read carefully and do the problems in each section, you’ll be ready to start learning the techniques needed to solve the more difficult programming interview problems. You’ll stop feeling stumped during hard problems and you’ll start getting creative.
Conclusion
Although grinding Cracking the Coding Interview & Leetcode is ok advice for someone applying to a mid-sized company, in order to pass your FAANG programming interview you need to go deeper with your understanding.
The Algorithm Design Manual is a better alternative because it gives you strong fundamentals that will help you during your interviews.
In addition to the Algorithm Design Manual, you should also be conducting mock interviews, solving LC/Hackerrank problems and discussing topics with others to find any gaps in your knowledge.
Join the community
Looking for a study partner? Hackpack is the most active community. of engineers studying for programming interviews. We hold each other accountable, provide support, and fight burnout to study more efficiently and get the job faster.
You can apply on the site.
Top comments (0)