Don't buy Cracking the Coding Interview for Big Tech Interviews
If you are targeting a FANG level company, you need a better resource
tldr; Buy the Algorithm Design Manual instead
I’ve conducted over 80 1-1 calls over the last 2 months with people preparing for FANG interviews, and the vast majority of them have the same flawed training regime. The typical approach is to work through CTCI (Cracking the Coding Interview) and grind leetcode problems until the interview. While this works well for mid-sized companies, it’s a risky approach to take for anything on the FANG level.
Why Cracking the Coding Interview sucks
CTCI gives you a great birds-eye view of the relevant data structures and algorithms, but it doesn’t get deep enough into the fundamentals. FANG interviews are notorious for being very difficult because the problems are designed to test your fundamentals and your ability to apply them.
CTCI’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. Any developer looking to land a non-fang level company should consider using this book.
The problem with FANG 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 CTCI problems and landed the job. This is the exception to the rule. With Fang interviews, you need to prepare for problems you’ve never seen before. To do that you need a resource that gets into the thick of it.
Enter the Algorithm Design Manual
I recommend this book as a starting point to every aspiring FANG 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. 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.
Where did this opinion form?
From experience. When I was preparing for my Google interview, I did CTCI front to back. During medium/hard leetcode problems, I would frequently ask myself “How the hell was I supposed to know that trick?”. I showed up to my onsite interview and got my butt kicked.
A year later, after switching to studying the Algorithm Design Manual and adding some more structure to my studying, I got offers from Google & FB. I felt like I was in complete control of my interviews. I would not have gotten to that point if I didn’t nail the fundamentals. To see the stark difference for yourself, compare the chapters on “Big O” in both books.
I’m actively tweeting about building LeetDesign, a massive list of interactive system design problems to help you learn system design faster.
If you are interested in the all of the lessons and wacky bugs I encounter building the product, give me a follow: https://twitter.com/DannyHabibs