Whenever you start preparing for technical interviews at large tech companies, you’ll hear about (or be recommended) either the book Cracking the Coding Interview and/or the website LeetCode.
I remember the first time I was starting with interview preparation in college. I was trying to get an internship, at the time. I was introduced to Cracking the Coding Interview after a Google search about ways to prepare for a technical interview. Later along, my research about software engineering technical interviews led me to LeetCode, for additional practice problems.
As a newbie, I had so many questions. Should I just do Cracking the Coding Interview? Is that enough for internship coding interviews? Are LeetCode problems better than Cracking the Coding Interview‘s problems?
In this article, I will discuss the pros and cons of using Cracking the Coding Interview and LeetCode as software engineer technical interview preparation materials. My opinion has been formed over 5 years and my interview preparation allowed me to land an internship role at Capital One and full-time software engineering roles at companies like Indeed and Google.
Differences Between Cracking The Coding Interview and LeetCode
It’s important to understand that LeetCode and Cracking the Coding Interview are fundamentally different resources for interview preparation.
Cracking the Coding Interview presents itself as a resource to be studied from as an instructional over the entire big tech interview process. LeetCode is a platform for solving their 2,400+ interview and competitive programming problems, which are similar in style to what’s asked during technical interviews.
Cracking The Coding Interview discusses everything you need to do to prepare for software engineering technical interviews, from start to finish. This includes things like understanding how to pass the behavior interview, what to expect from various FAANG and startup companies (which might be a bit outdated now), approaches to solving coding problems, and handling offers and negotiations (at a simple level).
LeetCode, on the other hand, primarily focuses on the education and practice side of the coding interview. This includes things like having official guides about learning common patterns for various data structures and algorithm interview-style questions. Additionally, LeetCode has a large community that provides crowd-sourced solutions and explanations.
When you’re learning about the coding portion of the technical interview from a book like Cracking The Coding Interview, you’ll be able to maintain a consistent expectation of quality for the provided questions, solutions, and explanations. This is because Cracking The Coding Interview is a formally published and edited book created and envisioned by one single author.
The opposite is true on LeetCode where just about everything is crowdsourced except for the question bank of problems and test cases.
LeetCode also has a subscription service that grants their users additional perks like access to editorial solutions and the ability to sort problems on the site by companies that ask the questions and the frequency of which the problems are asked. Cracking The Coding Interview, on the other hand, is a one-time payment for the book.
Is Cracking The Coding Interview Better Than LeetCode?
Now that you probably understand the basics of what Cracking The Coding Interview is and how it compares to a platform like LeetCode, which is better?
Cracking The Coding Interview is likely a better resource than LeetCode in preparing a software engineering candidate for their interview, overall. However, LeetCode is likely a better resource in preparing a candidate for coding interviews because of how similar LeetCode problems are to interview problems compared to Cracking The Coding Interview problems.
The true decision of whether Cracking The Coding Interview is better than LeetCode will likely rely on your own personal circumstances. If you lack the understanding of what the interview loop looks like for software engineers, then you might want to invest in Cracking The Coding Interview. If your weakest area as a software engineering candidate is your problem-solving ability, LeetCode might be a better resource for you because of the abundance of their answers.
If you like something you can read through that’s generally high quality, you might like Cracking The Coding Interview instead of reading through LeetCode’s discussion section for each of their problems. Cracking The Coding Interview organizes all of the solutions and provides high-quality and consistent explanations for each of the solutions.
LeetCode attempts to provide high-quality descriptions (and now new videos) with their editorial solutions, but from my experience, it doesn’t come close to what’s presented in Cracking the Coding Interview.
Should You Read Cracking the Coding Interview Before LeetCode?
LeetCode has a reputation for being the most beginner unfriendly as possible. If you’re new to interview-style questions and approach an easy problem on LeetCode, it might take you more than 30 minutes to try to do it before giving up.
Don’t worry if that’s you though, that was my experience too until I got better with a lot more practice.
An easier introduction to LeetCode-style problems is probably Cracking The Coding Interview‘s explanations and approaches to solving interview problems. As a result, some people do find reading Cracking The Coding Interview before solving problems on LeetCode to be an easier onramp to the world of solving interview-style coding problems.
You should consider reading Cracking The Coding Interview before doing LeetCode problems if you think that LeetCode problems are too hard and too intimidating. Cracking The Coding Interview contains a great introduction to common data structures and algorithms used in technical interviews.
Is Cracking The Coding Interview Good Enough Alone?
In my opinion, if you do end up reading Cracking The Coding Interview, you’ll definitely want to still move on to practicing LeetCode problems because I find LeetCode mediums and hards to be more similar to the difficulties of problems that are asked during real coding interviews.
Reading Cracking The Coding Interview, alone, is not good enough to prepare for software engineer technical interviews in this modern age. The difficulty of questions that are asked during the interviews is significantly harder than the questions asked in Cracking The Coding Interview, based on my own personal experience.
There are some people that say you don’t need to practice LeetCode problems to prepare for coding interviews, but I promise you that these people are rare. I’m quite literally the average Joe, and I don’t see how it’s possible to pass FAANG-like interviews if you don’t practice with LeetCode.
Is Cracking The Coding Interview Worth It In 2023?
With as much as the interviewing landscape has changed over the past decade since Cracking The Coding Interview was first released in 2008, is Cracking The Coding Interview still worth reading in 2022 or 2023?
Here’s my opinion.
Cracking The Coding Interview is a timeless classic in preparing a software engineer for software engineering interviews. It doesn’t matter if you’re going for an intern role or a senior role. Cracking The Coding Interview will serve as a phenomenal primer for your preparation.
Cracking The Coding Interview isn’t complete because it tends to lack the types of problems that are asked during real interviews, in terms of difficulty. However, that can easily be made up for by practicing additional problems on websites like LeetCode.
Cracking The Coding Interview also doesn’t cover the new standardized type of interview that’s asked during software engineering interview loops for mid-level and above engineers. This is called the system design interview.