
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
- Streaming of thousands of movies and TV shows with limited ads on 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:
-35% $25.97$25.97
Ships from: Amazon Sold by: BE_UNIQ
Save with Used - Good
$9.97$9.97
Ships from: Amazon Sold by: GreatBookDealz

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
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
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
- PublisherLightning Source Inc
- Publication dateAugust 22, 2011
- LanguageEnglish
- Dimensions6 x 1.25 x 8.75 inches
- Print length510 pages
There is a newer edition of this item:
Discover the latest buzz-worthy books, from mysteries and romance to humor and nonfiction. Explore more
Frequently bought together

Customers who viewed this item also viewed
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 : Lightning Source Inc; 5th Revised & enlarged edition (August 22, 2011)
- Language : English
- Paperback : 510 pages
- ISBN-10 : 098478280X
- ISBN-13 : 978-0984782802
- Item Weight : 1.55 pounds
- Dimensions : 6 x 1.25 x 8.75 inches
- Best Sellers Rank: #946,040 in Books (See Top 100 in Books)
- #373 in Job Interviewing (Books)
- #885 in Job Hunting (Books)
- #1,170 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 AmazonCustomers say
Customers find the book provides valuable information and tips on coding habits. They appreciate the clear explanations of problems and solutions, with plenty of examples and guidance. The design is described as nice and easy-going. However, opinions differ on the writing quality - some find it well-written and clear, while others feel it's not concise enough.
AI-generated from the text of customer reviews
Select to learn more
Customers find the book provides useful information on coding habits and basic algorithmic building blocks. They find it helpful for preparing for an interview, with good preparation advice in the beginning. The book provides a great overview of all the basic structures and algorithms you'll need to know.
"...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..." Read more
"...and probable won't for years to come; this book provides a solid plan and a comprehensive coverage of topics to prepare the reader. --..." Read more
"...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...." Read more
"...1. The book is the most up to date book in terms of technical questions - Each company I interviewed with, asked me at least 1 question from that..." Read more
Customers find the book helpful for brushing up on skills and thinking process. They say it gives them direction to study. The practice questions are key, but they find the soft skills portion most useful.
"...Yes! Most definitely yes! This book has excellent tips and tricks to solve a specific set of problems that are pretty common during an..." Read more
"...I have read the first few chapters and I think they are pretty good and useful advice...." Read more
"...in all the big tech companies and I found this book to be the best resource for me for several reasons: 1...." Read more
"...The practice questions are key, but I found the soft skills portion the most important...." Read more
Customers appreciate the book's solution quality. They find the problems and solutions well-explained, with plenty of examples and step-by-step explanations. The book provides in-depth solutions and examples, with review and practice problems to keep skills fresh. It includes theory and tricks before each set of questions, and covers how different algorithms and data structures are applied to solve problems.
"...All also cover the usual tricks, brain teasers, presentation problems, prep, process, etc...." Read more
"...Yes! Most definitely yes! This book has excellent tips and tricks to solve a specific set of problems that are pretty common during an..." Read more
"...The problems and solutions made more sense that way...." Read more
"...The problems in the book are cool, but you can find plenty of problems for free online...." Read more
Customers find the book's design easy-going and useful. It provides examples and tips in a concise way. The book helps prepare readers for technical interviews and gives them insights into major IT companies.
"...Guiness is Wiley and bulletproof. We've tested the code extensively in all four (my payroy sister programmers, not me!)..." Read more
"...excellent and it explains basic technical things you want know in a very sweet and short way, so you dont need to make short notes for yourself...." Read more
"...this book really digs into databases, data structures and design patterns, amongst other things." Read more
"...visualize trees, linked lists and all that and be in a great shape for technical interviews & interview with all major tech firms, landing a job at..." Read more
Customers have mixed opinions about the writing quality. Some find the questions and exercises well-written and challenging, with clear words. The book is readable, but some feel it could be concise and more concise, with cursory introductions to topics and few code comments.
"...McDowell has an unusually well written probability section...." Read more
"...It's not a very difficult read and doesn't have a very textbooky feel to it which makes it easy to skim through before an interview...." Read more
"...by, e.g. incorrectly listed Big O, minor unhandled bugs, redundant lines of code, strange naming conventions, etc...." Read more
"...for non-technical questions, how to break down problems, how to write good code, and how to respond to rejection and acceptance...." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on July 3, 2013I worked with the data science association on their new standards for "Data Scientist" interviews (entry salary of $125,000), and both real questions and after interview polls were included for the biggest names in data today, from the web to corporate and government IT. "Data Scientist" is one of the hottest new jobs out there today, and some companies are even forming CDSO jobs--Chief Data Science Officer!
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.
- Reviewed in the United States on March 20, 2016Does it have everything I need to know before my interview?
No
Should I still buy it?
Yes! Most definitely yes!
This book has excellent tips and tricks to solve a specific set of problems that are pretty common during an interview especially when you are looking for a technical job right out of school. If this book teaches you absolutely nothing, it still gives you a sense of confidence in knowing and identifying patterns in questions and teaches you ways to think about them under a time constraint.
Every software engineer knows that it's one thing to excel at school and at work and a whole other challenge to think of a solution and code it under a 30 minute time constraint. Even if you are the best programmer in the world, interviews can be difficult due to their (sometimes irrational) methods of judging a candidate in a short amount of time.
What is it good at?
This book is excellent at giving you a little bit of everything without overwhelming you with too much information. It contains ~10 questions for every major topic (Binary trees, Graphs, Recursion, Dynamic Programming, OOP) and walks you through the solutions briefly. It's not a very difficult read and doesn't have a very textbooky feel to it which makes it easy to skim through before an interview.
What is it not?
Like I said earlier, it is NOT an all encompassing book which is by any means ENOUGH before say a Google interview. Yes some companies have slightly easier(to be read as different) interviewing processes which may deem this book as sufficient material, but a lot of the major companies require more preparation than just this one book. This book does NOT teach you the fundamentals. It is not a textbook and does not go through different types of algorithms and data structures from a theoretical point of view. It is more of a tips and tricks kind of book rather than a formal way to learn the basics of programming.
What language does it use?
Java. It is all Java. Although due to the nature of Java, it is pretty readable by anyone proficient in any programming language. Although I must say that C users might have to make considerable changes to the solution(add loads more code) to make it work since the solution relies on some functionality that C lacks.
In conclusion, this book is not comprehensive but definitely essential for students. If you are a student looking for your first job, buy this book to get yourself started on the job search. Good luck! :)
Top reviews from other countries
-
RamónReviewed in Spain on March 20, 2016
5.0 out of 5 stars Problemas muy entretenidos
Soy un desarrollador al que le encanta resolver problemas, y está siendo muy ameno y entretenido.
Es mejor que cualquier juego casual que puedas tener en el móvil.
Fantástico!
- justin coughlinReviewed in Canada on June 13, 2014
5.0 out of 5 stars Read this book did the exercises two weeks later I had 6 job offers
The problems in this book are fantastic training for interviews at the big tech companies. Google, Twitter and Facebook and the likes will grill you on algorithms and data structures and the run times of your code at least once for phone screen and 4-5 times in a single day at an onsite. You need to be fast and thorough. This book provides you with the practice and solutions that do a really good job of explaining the answers to questions similar to though encountered in a real interview process. I suggest having another book to teach you the fundamentals and theories and then hone your skills by doing the problems in this book.
-
Andrea MReviewed in Italy on August 10, 2015
5.0 out of 5 stars Buon libro sui processi di intervista nelle aziende ICT
Ottimo libro sui processi di assunzione nelle aziende ICT:
- processo di assunzione, come vestirsi, cosa sapere e come prepararsi
- differenze tra le maggiori aziende IT, cosa cercano e quali passi seguono
- principali algoritmi e strutture dati di base da riguardare prima del colloquio
- domande specifiche su programmazione concorrente, linguaggi di programmazione
- soluzioni a tutti i quesiti proposti in coda al libro
Niente di nuovo per un informatico, ma decisamente utile a rivedere concetti basilari di algoritmi e strutture dati in poco tempo, nonché informarsi sui processi di assunzione nelle maggiori firme del software.
- ArtReviewed in Germany on June 13, 2015
5.0 out of 5 stars Helped me to get an offer :)
My experience with this book is following:
- Used that book to prepare for a tech interview at a very big company known for their tough interview process.
- Prepared using the internet and of course this book for about two months.
- Received an offer from that company afterwards :)
Hence, can only recommend it :)
- PAGReviewed in France on February 14, 2015
5.0 out of 5 stars Useful to prepare interviews for google and twitter [Grad student]
I used this book to prepare my interviews for twitter and google, I helped a lot to guide me through the interview process in those companies. Also I recommend [...] as a reference to any IT interview.
No matter if you fail or win, the interview process will give you hints to be a better thinker. Basically recruiters want to know how you think, deduce, interact with others, and for sure if you have knowledge about computer science.