


Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Colombia.
Now in the 5th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers , as well as other advice. The full list of topics are as follows: The Interview Process This 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 Scenes Learn 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, desertcart, Yahoo, Microsoft, Apple and Facebook. Special Situations This 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 Interview In 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 Preparation Although 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 Answers This 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 For the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself. 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.
| Best Sellers Rank | #396 in Job Interviewing (Books) |
| Dimensions | 6 x 1.25 x 8.75 inches |
| Edition | 5th Revised & enlarged |
| Isbn 10 | 098478280X |
| Isbn 13 | 978-0984782802 |
| Item Weight | 1.55 pounds |
| Language | English |
| Print Length | 510 pages |
| Publication Date | August 22, 2011 |
| Publisher | Lightning Source Inc |
User
GETTING THE DREAM JOB... Comparing the Top 4 IT Interview Books
I 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.
User
I was originally doubtful, but this book changed my mind...
UPDATE: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 beginningShe 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.
User
What to expect when you're expecting (a technical interview) :)
Does it have everything I need to know before my interview?NoShould 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! :)
User
I am not very happy, but the book is not too bad. A lot of reading. No mention of C#.
I have many years of experience in software development and need to get back into development. I am finding that many companies now require you take a technical coding test, which I know well but cannot whip up solution in 15 minutes. So, I decided to buy this book.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.
User
Must have for interview prep, but this alone is not enough - read on...
If you are thinking about starting prep for interviews and dont know where to start, buy this book. I was working for some years at a company and out of touch with algorithms. Then when I wanted to give interviews I bought this book first thing. This books certainly covers the questions you need to know but assumes you know the concepts. This is where I was stuck so I stopped halfway and started on Skiena's youtube lectures his "The Algorithm Design Manual" book. Once I was done with the book I came back and completed this. The problems and solutions made more sense that way. I did not have time to complete the medium and hard problems in the end and some problems/chapters might not be relevant for all interviews so you could skip them. Also some solutions are not the best/easy to follow. So compare the solution with that given in other great resources mentioned below.Here is my suggestion for prep:1. Start with Skiena's lectures on youtube or "The Algorithm Design Manual" book. Even if you dont have time for war stories or the questions in the second half of the book, that's fine. You should know the contents in the first half of the book.2. Continue with this book. Feel free to skip some questions and come back later.3. Further you may read "Elements of Programming Interviews". It is not the easiest to start with but once you are familiar with the concepts from 1 and 2 this is great reference. Some problems might be repetitive but they have a concise way of implementing the solutions.Work out problems from geeksforgeeks.com and leetcode.com There are a whole variety of problems not even discussed in the above resources which are solved there. Dont refer to careercup website for solutions, they are just some random thoughts and people showing off their coding skills.Apart from that you should be strong in your language of choice and know its concepts. All this takes time so dont rush. Give yourself 2-3 months to familiarize and read the concepts and algorithms. Then read the above books again and again. All successful people did lot of hard work behind the scenes. They got into top companies since they put the hard work not because they got some free pass because they studied in top tier school. And that is the reason Gayle wrote this book, so with hard work and luck anyone can aim high. I thank her for that.Side note. I was never asked a question directly from this book in most interviews. What they usually ask is some flavor of questions in this book. That's why you need to know the concepts rather than memorizing the solution. This book gave me the confidence to tackle similar questions and covered a wide breadth of questions so I didn't have to wonder what to study. All the best.
User
The Most Comprehensive Tech Interview Prep Book
I have been studying with this book and other books, preparing for tech interviews in all the big tech companies and I found this book to be the best resource for me for several reasons: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 book. So it was actually nice to impress my interviewers and tell them: "Oh, I know this question..". In some cases, I was able to use the questions from the book to come up with solutions to similar, yet different, questions I was asked. For example, there is a question in the book about finding whether an array contains two numbers which add to a given sum. I was asked in an interview: Find whether there are 3 numbers in a given array which sum to zero.2. The book has a section about behavioral questions. It provides strategies on how to answer this type of questions. It seemed to me that all the behavioral questions I was asked during my interviews were taken from this book.3. The book outlines a scheme (a block diagram) on how to prepare for tech interviews which was extremely helpful preparing for phone screens, interviews and onsite interview days.4. If you interview with the big tech companies: Microsoft, Google, Facebook, Amazon, Apple and Yahoo, you will find a section that discusses the interview process in those companies, what's unique to those companies and what you need to focus on when preparing - awesome!
User
Excellent Interview Prep
I'm a current CS student, and I recently needed to prepare for a tech interview for an internship at a major tech company. I ended up getting the internship and I think this book is a big reason why.If you're not familiar with the concepts discussed in this book (linked lists, hash tables, queues, etc) then it probably won't be much help. However, if you just need to hone in your problem solving skills and review the main concepts and data structures discussed in the book, this is for you. It's very well written and extremely easy to read. She packs a lot of really great information and tips in a short, easy to read form. The sample problems are all very cool and fun to solve, and the solutions do a good job of describing the thought process therein.If you think you're just going to be able to skim through this book and then ace an interview, you're wrong. But if you pick this up and approach it in the ways she suggests, you'll feel much more comfortable going into your next interview, without a doubt.
User
More than just technical question examples.
First things first: this book helped me get multiple offers, and I recently accepted a job at a top-name developer.My education is in computer science, and I have been writing software for about 10 years, but that's not enough for interviews these days. They will grill you repeatedly with varied problems, and see how you handle the pressure. I picked up this book mid-way through my interview process for a handful of software jobs. While I am confident in my ability to interview well from a personality perspective, the technical parts of the interview have always stressed me out, and frankly, I'd gotten a little cynical about the whole process.The problems in the book are cool, but you can find plenty of problems for free online. It's really everything *around* the problems in this book that make it great. The book starts by explaining the "why" of technical interviews, the peripheral stuff, such as how to dress, how to practice for non-technical questions, how to break down problems, how to write good code, and how to respond to rejection and acceptance. Then it breaks down technical problems into a series of categories, such various data structures (arrays, trees/graphs, linked lists, etc), object oriented design, and mathematics and probability.What helped me more than anything, though, was the breakdown of the "why" of technical problems. In one of my successful interviews, I was presented two purely mathematical physics problems. In both cases, I knew generally how the solution would work, but in one case, I couldn't remember the formula, and in the other I knew the principle of the algorithm, but not the execution. In both cases, the first thing I did was confidently look at my interviewers and say "I'm going to need some help with this one." Then I proceeded to work through the problem with their help and hints, exhibiting collaboration and courtesy. This book helped me get to that point of not freaking out when I know I don't know the solution--it's not just about answering correctly, it's about how you work through road blocks, confusion, walls, and frustration.
User
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.
User
Awesome book, my recommendation
Was it ever your dream to be in one of the top-notch companies India (the likes of Microsoft, Amazon, Adobe etc) & you thought the interview rounds were too hard. Well, the rounds are hard (believe me) only because facing those questions on the spot makes your brain go drifting somewhere else (happened to me..).But if you already had a taste of whats going to come, you are prepared, you are confident & you will give it your best shot.With a systematic approach even tough goals can be achieved, this book will help you in that systematic approach(from A to Z). Before this book I used to collect all the questions & categorize them in different sections from easy to hard - phew!! it was a painful job - If that work has already been done by someone(very decently), why not use it & build it on top of that!My highest recommendations!!
User
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 libroNiente 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.
User
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!
User
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 :)
Trustpilot
2 months ago
5 days ago