Enjoy fast, FREE delivery, exclusive deals and award-winning movies & TV shows with Prime
Try Prime
and start saving today with Fast, FREE Delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Instant streaming of thousands of movies and TV episodes with Prime Video
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$57.58$57.58
FREE delivery:
Thursday, June 22
Ships from: Amazon Sold by: DR's Books & More
Buy used: $15.84
Other Sellers on Amazon
& FREE Shipping
96% positive over last 12 months
97% positive over last 12 months
+ $2.91 shipping
97% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the Author
OK
Cracking the Coding Interview: 150 Programming Questions and Solutions 5th Revised & enlarged Edition
| Price | New from | Used from |
There is a newer edition of this item:
Purchase options and add-ons
The full list of topics are as follows:
The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.
Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.
Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.
Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.
Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.
Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.
150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include
- Arrays and Strings
- Linked Lists
- Stacks and Queues
- Trees and Graphs
- Bit Manipulation
- Brain Teasers
- Mathematics and Probability
- Object-Oriented Design
- Recursion and Dynamic Programming
- Sorting and Searching
- Scalability and Memory Limits
- Testing
- C and C++
- Java
- Databases
- Threads and Locks
Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.
Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.
- ISBN-10098478280X
- ISBN-13978-0984782802
- Edition5th Revised & enlarged
- PublisherCareerCup
- Publication dateAugust 22, 2011
- LanguageEnglish
- Dimensions5.98 x 1.03 x 9.02 inches
- Print length510 pages
Books with Buzz
Discover the latest buzz-worthy books, from mysteries and romance to humor and nonfiction. Explore more
Frequently bought together

What do customers buy after viewing this item?
- Most purchasedin this set of products
Cracking the Coding Interview: 189 Programming Questions and SolutionsPaperback - Lowest Pricein this set of products
Elements of Programming Interviews in Python: The Insiders' GuidePaperback
Editorial Reviews
From the Author
I also know because I've been on the other side of the table, asking candidates to do this. I've combed through stacks of resumes to find the engineers who I thought might be able to actually pass these interviews. And I've debated in Google's Hiring Committee whether or not a candidate did well enough to merit an offer. I understand and have experienced the full hiring circle.
And you, reader, are probably preparing for an interview, perhaps tomorrow, next week, or next year. You likely have or are working towards a Computer Science or related degree. I am not here to re-teach you the basics of what a binary search tree is, or how to traverse a linked list. You already know such things, and if not, there are plenty of other resources to learn them.
This book is here to help you take your understanding of Computer Science fundamentals to the next level, to help you apply those fundamentals to crack the coding interview. Because while the fundamentals are necessary to land one of the top jobs, they aren't always enough. For countless readers, this book has been just what they needed.
About the Author
Work ExperienceHer interviewing expertise comes from vast experience on both sides of the desk. She has completed Software Engineering interviews with - and received offers from - Microsoft, Google, Amazon, Apple, IBM, Goldman Sachs, Capital IQ, and a number of other firms.
Of these top companies, she has worked for Microsoft, Apple and Google, where she gained deep insight into each company's hiring practices.
Most recently, Gayle spent three years at Google as a Software Engineer and was one of the company's lead interviewers. She interviewed over 120 candidates in the U.S. and abroad, and, as a software engineer, led much of the recruiting for her alma mater, the University of Pennsylvania.
Additionally, she served on Google's Hiring Committee, where she reviewed each candidate's feedback and made hire / no-hire decisions. She assessed over 700 candidates in that role, and evaluated hundreds more resumes.
Education
Gayle holds a bachelor's and master's degree in Computer Science from the University of Pennsylvania and MBA from The Wharton School.
Product details
- Publisher : CareerCup; 5th Revised & enlarged edition (August 22, 2011)
- Language : English
- Paperback : 510 pages
- ISBN-10 : 098478280X
- ISBN-13 : 978-0984782802
- Item Weight : 1.49 pounds
- Dimensions : 5.98 x 1.03 x 9.02 inches
- Best Sellers Rank: #360,395 in Books (See Top 100 in Books)
- #139 in Job Interviewing (Books)
- #391 in Job Hunting (Books)
- #458 in Software Development (Books)
- Customer Reviews:
About the author

Gayle Laakmann McDowell is an author, consultant, and founder focusing on improving tech hiring for both the interviewer and the candidate.
Gayle has worked as an engineer for Google, Microsoft, and Apple. Most recently, at Google, she served on the hiring committee where she interviewed hundreds of candidates and evaluated thousands more. It was here that she discovered the disconnect between candidates, their skill set, and their interview performance.
Though her company, CareerCup, Gayle has worked with many of the top tech companies to reform their hiring practices and implement interviewer training programs.
She is the author and creator the best-selling Cracking the Interview & Career series: Cracking the Coding Interview, Cracking the PM Interview (co-authored with Jackie Bavaro), Cracking the PM Career (co-authored with Jackie Bavaro), and Cracking the Tech Career
Gayle holds a bachelor's and master's in Computer Science from the University of Pennsylvania and an MBA from the Wharton School of Business.
She currently consults, writes, and codes from her home in Palo Alto, California. She can be found online at gayle.com, twitter (@gayle), and facebook (@gayle).
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
To begin, ALL FOUR of the books in this review are 5 star "superstars" for IT interviews. The two problems are, my library customers want to know the top two, and our Amazon shoppers want to know if they can get away with one, two, three, or if they have to buy all four! Of course the answer depends both on the focus of your resume, and the overlap/focus in the four books.
First, the summary, by author, title/Amazon link, year published/edition, number of pages, trim and cost, problems included, main language(s) foci. These four are the most frequently purchased by the over 100,000 libraries (including corporate technical libraries and schools as well as private and public) in our database. (Note: page counts are via visual inspection at the time of this writing, not Amazon stats. Pages can vary with on-demand books.).
Aziz, Elements of Programming Interviews: 300 Questions and Solutions by Aziz, Adnan, Prakash, Amit, Lee, Tsung-Hsien 1st (first) Edition (10/11/2012) , 2012, 481 pages, 6 x 9, $25, 300 problems (mostly C++, concurrency in Java, discrete math in formulas and English)
McDowell, Cracking the Coding Interview: 150 Programming Questions and Solutions , 2011 (5th edition), 500 pages, 6 x 9, $23, 150 problems, (mostly all Java except of course the C, C++ question sections!)
Guiness, Ace the Programming Interview: 160 Questions and Answers for Success , 2013, 419 pages, 6 x 9, $20, 160 problems, (mostly Java and C# but some unusual JavaScript, SQL, Ruby and Perl examples too)
Mongan, Programming Interviews Exposed: Secrets to Landing Your Next Job , 2013 (ed. 3), 301 pages, 7.4 x 9, $18, 150+ problems (C, C++, C#, Java)
All four of these fine prep texts cover the usual suspects in Algorithms and Data structures, including a focus on "scalable" problems of most concern to the Amazons, Googles, Facebooks, etc. of the world. These include recursion, arrays, lists, hash tables, binary searches and trees, and other foundation coding subjects.
All also cover the usual tricks, brain teasers, presentation problems, prep, process, etc. issues, and in the case of Cracking, specifics on many different company processes.
The divergence is in the "extras." Aziz jumps into parallel computing and covers discrete math (in grad school joke terms, all the computer oriented math that has been taken out of high school courses). McDowell has an unusually well written probability section. Guiness is very up to date with cross platform apps and concurrent programming nightmares, and goes into both more depth and detail on individual topics like big O notation. Mongan is published by wrox, and has not only technical editors, but outstanding web resources. His database section is the most robust of the group.
Aziz and McDowell are print on demand, which usually means there are many more errors in early going, but much faster correction of them via almost weekly files to the printer. Guiness is Wiley and bulletproof. We've tested the code extensively in all four (my payroy sister programmers, not me!) and ALL of them are outstanding, with very few errors at this writing, which can only get better fast in the two PODs, and wasn't a problem to begin with via the technically edited wrox and wiley teams.
Surprisingly, there is NOT a lot of overlap in solutions in these four texts, just as there IS a lot of overlap in the questions (strings, arrays, binaries, hashes... structures are structures and algos are algos). The difference in ALL these books (as opposed to a Cormen) is that the algorithm examples are not academic--they give you many options to "cheat" - and most of the cheats are more real world than techniques given in the 1,300 page algo function texts.
McDowell is the industry standard, but she teaches very much to Google, as does Aziz, meaning web focus, and even a little forgiveness on php, but NO forgiveness on memory or scalability. If you're a library client and have to pick two, we advise one from the McDowell/ Aziz dyad and one from the Guiness/ Mongan dyad. If you're applying for a job with a specific language requirement, these self sort, although of course all are object oriented today.
For shoppers preparing for a real interview: buy all four. I mean, come on. This is your future! You can get all four for the price you'd pay for a larger (way less useful) algo + data structure or individual language text, and maybe less. Some points about interview technique are common, but all four offer different and important examples in approaches to solutions, even though they share common algorithmic and data structure challenges.
IRONY: The only programming area growing faster than data scientist today is at the other end of the big scale spectrum: embedded systems. I kid you not, specialize in embedded, and you're GUARANTEED a dream job, both due to the explosion of these systems, and the rarity of programmers here (but yes, you have to get into circuits!). Our sister Payroy group shows job stats, demand and salaries that are to die for if you go there-- way better than Google. NONE of these books cover it (because other than mobile and server embeds, embedded was traditionally automotive and industrial, but even "Google and Microsoft TV" type ventures are now hungering for it).
There is NO good interview book out on embedded yet, but these two are the best of breed in the field itself: 1. Samek ( Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems ) and 2. White ( Making Embedded Systems: Design Patterns for Great Software ). Why C and C++? Because that's where the majority of electronics still reside, and "object" programmers in the field often just use the C subset of ++ and don't really get into sexy classes/methods/parents/kids, etc.! 6 months brushing up on this, specializing, and going for an embedded job will be worth years of competing with the interviews in these texts!!!
Now, a simple tip. I was part of a team that interviewed for a high level, very high paying digital art programming position at shader joes dot com. One candidate stood out as really technically challenged--she even confused a call with a register in one of her answers! She called herself an "autodidact" - meaning, unlike Yahoo, we can't be recruiting only from the 18 top schools.
At the end of her interview, she asked us to check out a disc she'd brought. She had programmed her own video game with movie-real characters, explosions, storyline, etc. using Unity, Maya, blastcode, Python, Lua and C#, with web distributions in Java, HTML 5 and php. She proceeded to explain her entire process, from idea to distribution. She was hired before she could reach the elevator. In olden-days, old timer parlance, don't forget your "portfolio" if you have one! It can trump a LOT of the bureaucratic hurdles!
EMAILERS ANSWER: IF you are a manager, rusty at coding, a data scientist, etc. and are in an interview where you have to "understand" coding basics, but not necessarily code, see our review of Karumanchi ( Coding Interview Questions ).
Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
After learning more about the internal frameworks of these top companies (most of their code is actually in Java/C++, not scripting languages) and what they're looking for, I've changed my original view point and see the value of this book. Google, FB, etc haven't changed their interview processes, and probable won't for years to come; this book provides a solid plan and a comprehensive coverage of topics to prepare the reader.
--
Being a software engineer, I know how frustrating it can be preparing for interviews: it seems like every company wants something different, and you almost never know what to expect going in, especially at top companies where the questions have nothing to do with the actual job you'll be doing. It's good to read the perspective of an engineer and interviewer at these top firms.
In general, this book gives a good overview of the interview process at these companies (it seems specific to Google, Microsoft, Apple, and Facebook (LinkedIn?), but at times, I found it lacking. The main issues I have with this book:
1. All the interview questions are written in Java (some parts are in C++).
I've mainly programmed in C++ for most of my career, so I tend to like it; however, most of the languages used at these top firms are scripting languages, like Python and JavaScript. And while a point can be made that once you know one language, you can easily pick up others, or if you're a good engineer, you're able to think through a lot of the logic challenges, I tend to disagree. I've seen many great engineers passed up for positions because they don't have specific experience in one of these languages or a framework. I would have liked her to be a little bit more language agnostic, since about half the book consists data structures, like linked lists and queues, which are non-existant in languages like Ruby.
This creates an internal struggle - learn all the nuances of C++ and Java to pass the interview, and then be completely clueless on my actual job because I have no idea what a JavaScript function does...
2. Discouraging from the beginning
She starts out the book saying how all of the interviewers, like at Google, receive absolutely no guidance on what questions to ask. She mentions how they go through a week long class that mainly consists of being politically correct and not talking about sex, gender, etc. If the interviewers are completely clueless as to how to gauge a candidate's proficiency in an interview, how are we supposed to prepare, since it seems so individual, aka, if you rub an interviewer the wrong way but answer everything flawlessly, you're doomed.
One story she mentioned talks about one of her students who was "brilliant" had top internships, top grades, contributed to open source, and was obviously a great engineer, but didn't answer all the interview questions flawlessly, and therefore was eliminated from the process.
Conclusion:
I think there are critical flaws inherent in the software interview process, and this book seems kind of outdated in it's approach, and I think steers the reader from the actual, modern, and current way to make one's career and interview well in the present software landscape. Reading makes me more aware, and confirms the opinion that there needs to be a standardized process, or a process more geared towards finding actual good engineers, not ones that somehow manage to get past the misty and confusing gates of these companies.
I have read the first few chapters and I think they are pretty good and useful advice.
What I am not happy about is that it that they send me a used book. I am pretty sure that I purchased a new book. I can return it, but I think it would be waste of time.
Secondly, the book does not even mention C#. It mentions C and C++. I have programmed in C, C++, VB, Java, C# and Kotlin. There is no doubt in my mind that C# is most powerful and easy to use language, but this book does not even mention it as if it does not exist.
And I just found out that a new (6th) edition is out. I was sent the old (5th) edition.
Top reviews from other countries
I'm still reading this book, but I've found it helpful!
A lot of this can be found online, and lots of places let you practice with real example questions - but still nice to have (either to read on the train, or just to flick through) - I generally found it helpful for my prep for Google interviews, and generally found the content and style re-assuring given the number of horror stories about these big tech interviews.










