Shop ALLMAX
Buy New
To see product details, add this item to your cart.
Ships from: Pro Reads
Sold by: Pro Reads
To see product details, add this item to your cart. You can always remove it later.
Shipper / Seller
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt. You may receive a partial or no refund on used, damaged or materially different returns.
Read full return policy
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
To see product details, add this item to your cart. You can always remove it later.
FREE Returns
Books may contain some notes and highlighting. Supplements such as Access Codes, Cd's, etc. are not guaranteed with used book purchases Books may contain some notes and highlighting. Supplements such as Access Codes, Cd's, etc. are not guaranteed with used book purchases See less
Access codes and supplements are not guaranteed with used items.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

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.

QR code to download the Kindle App

  • Cracking the Coding Interview: 150 Programming Questions and Solutions

Follow the author

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Cracking the Coding Interview: 150 Programming Questions and Solutions

4.6 out of 5 stars (740)

Purchase options and add-ons

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 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
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.
    Books with Buzz
    Discover the latest buzz-worthy books, from mysteries and romance to humor and nonfiction. Explore more

    Frequently bought together

    This item: Cracking the Coding Interview: 150 Programming Questions and Solutions
    $15.28
    Get it Jun 13 - 15
    Only 1 left in stock - order soon.
    Ships from and sold by T&N Enterprises.
    +
    $39.99
    Get it as soon as Saturday, Jun 13
    In Stock
    Ships from and sold by Amazon.com.
    +
    $25.79
    Get it as soon as Saturday, Jun 13
    In Stock
    Ships from and sold by Amazon.com.
    Total price: $00
    To see our price, add these items to your cart.
    Details
    Added to Cart
    Some of these items ship sooner than the others.
    Choose items to buy together.

    Customers also bought or read

    Loading...

    Editorial Reviews

    From the Author

    I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot, and then write flawless code on a whiteboard. I know because I've been asked to do the same thing--in interviews at Google, Microsoft, Apple, and Amazon, among other companies.

    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

    Gayle Laakmann McDowell is the founder / CEO of CareerCup.com and the author of The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company.
    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
    • Publication date ‏ : ‎ August 22, 2011
    • Edition ‏ : ‎ 5th Revised & enlarged
    • Language ‏ : ‎ English
    • Print length ‏ : ‎ 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: #1,003,008 in Books (See Top 100 in Books)
    • Customer Reviews:
      4.6 out of 5 stars (740)

    About the author

    Follow authors to get new release updates, plus improved recommendations.
    Gayle Laakmann McDowell
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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

    4.6 out of 5 stars
    740 global ratings

    Customers say

    Customers find this coding interview preparation book excellent for technical interviews, with comprehensive content that covers data structures and algorithmic puzzles. Moreover, the book is easy to understand, well-organized, and provides good solutions for every listed problem. Additionally, customers appreciate its usefulness for brushing up programming skills and consider it a worthwhile investment for the long run.
    AI Generated from the text of customer reviews

    Select to learn more

    264 customers mention content, 239 positive, 25 negative
    Customers find the book to be an excellent resource for interview preparation, with one customer noting that the author provides great insight and suggestions.
    Great book and great content. I would recommend anyone who wants to find a job in the software industry to at least take a look at this book....Read more
    Good book highly recommend reading after taking a data structures class to really nail down what you learn in it and put it into use.Read more
    Excellent book!! Worth the money. It increased my confidence level to a great extent. The book covers almost all interview techniques....Read more
    awesome book! highly recommended! I use this book all the time! you should have one in your shell for sure.Read more
    127 customers mention usefulness, 121 positive, 6 negative
    Customers find the book very useful for brushing up programming skills and preparing for technical interviews, providing excellent practice problems.
    Very useful and effective way for finding out the interview questions which many developers have not focused on, the book is written by a very...Read more
    The book is very good and very helpful - recommend absolutely to everyone, who wants to apply for another technical-programming job, and the...Read more
    This book is very nice and useful. I strongly recommend that all the students in computer science should read it before getting a job.Read more
    Super helpful. I wish she'd write about how to deal with the issues of being a woman in Computer Science, though.Read more
    124 customers mention interview preparation, 122 positive, 2 negative
    Customers find the book excellent for interview preparation, describing it as a must-have for technical interviews and a crucial tool for interview preparation.
    Cracking the Coding Interview is an excellent book if you are looking to brush up on your CS knowledge....Read more
    Fantastic book that helped me prepare for interviews. After just reading this book, I was pretty much good to go.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
    Good preparation for interview. Pretty comprehensive. You don't expect to see the same problem popping up of course but still worth reading....Read more
    54 customers mention informative, 51 positive, 3 negative
    Customers find the book informative, with a comprehensive approach that covers data structures and includes helpful introductions. One customer notes that important details are easily referable, while another appreciates the detailed outline of what not to study.
    ...because its great topic coverage is coupled with great exercises and detailed, in-depth solutions.Read more
    Good reference.Read more
    printed on really thin paper and feels cheap, but the information is invaluable for those wanting to learn something useful.there is nothing special...Read more
    I haven't read it all, but what I have read is full of great information. Definitely a useful tool for anyone wanting z programming job!Read more
    41 customers mention readability, 36 positive, 5 negative
    Customers find the book readable and easy to understand, with one customer noting that the layout promotes effective learning.
    It is an interesting book who is looking for a guide to get tips in interview....Read more
    Easy to read and has all the material needed for the test!Read more
    ...A must read book!!!Read more
    Fantastic read!! As someone just starting out in the field, I feel like the knowledge is endless!! This is a must for every developer to carry around.Read more
    33 customers mention problem coverage, 30 positive, 3 negative
    Customers appreciate the book's comprehensive problem coverage, noting that it provides good solutions for every listed problem, with tricky and relevant questions that make sense.
    insigthful . Very good tips . Good problems and solutions .Read more
    Fun read. Interesting problems to solve. Worth a read for all computer science majors, not just for interviews.Read more
    Pretty good book. Well written and good choice of problems. If you are planning on attending a interview, this wont be a bad buy at all.Read more
    ...Good book, covers many problems which fall into typical Silicon Valley culture companies interviews.Read more
    23 customers mention value for money, 20 positive, 3 negative
    Customers find the book worth the money and consider it a great investment for the long run.
    ...I would definitely recommend this book. It is completely worth the money I paid for it. I just wish there was a Kindle version I could have bought.Read more
    ...Overall, it's reasonable price.Read more
    This will be your best investmentRead more
    ...I recommend it whole-heartedly; a keeper for sure. Easily worth the price of admission!Read more
    21 customers mention organization, 21 positive, 0 negative
    Customers appreciate the book's organization, with one customer noting how it neatly divides coding categories into chapters, while another highlights its well-structured approach to data structures and algorithmic puzzles.
    ...will let you practice applying basic algorithmic building blocks, data structures, and complexity analysis to the sorts of problems you're likely to...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
    ...It is organized very well. It is a must read to prepare for interviews! Bring it on the plane to study as well for a refresher.Read more
    ...It's very well-written, well-organized, and having authored many documents myself, I can tell you that I couldn't have done a better job!...Read more

    Top reviews from the United States

    • 5 out of 5 stars
      GETTING THE DREAM JOB... Comparing the Top 4 IT Interview Books
      Reviewed in the United States on July 3, 2013
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      12 people found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      I was originally doubtful, but this book changed my mind...
      Reviewed in the United States on January 24, 2014
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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 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.

      4 people found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      What to expect when you're expecting (a technical interview) :)
      Reviewed in the United States on March 20, 2016
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      Does 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! :)

      One person found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 4 out of 5 stars
      I am not very happy, but the book is not too bad. A lot of reading. No mention of C#.
      Reviewed in the United States on August 3, 2022
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      One person found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      Must have for interview prep, but this alone is not enough - read on...
      Reviewed in the United States on December 11, 2014
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      10 people found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      The Most Comprehensive Tech Interview Prep Book
      Reviewed in the United States on October 31, 2011
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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!

      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      Excellent Interview Prep
      Reviewed in the United States on March 16, 2013
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      One person found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      More than just technical question examples.
      Reviewed in the United States on May 14, 2015
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      41 people found this helpful
      Sending feedback...
      Thank you for your feedback.
      Sending feedback...
      Thanks, we'll investigate in the next few days.

    Top reviews from other countries

      Translated by Amazon
      See original
    • 5 out of 5 stars
      Useful to prepare interviews for google and twitter [Grad student]
      Reviewed in France on February 14, 2015
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      Awesome book, my recommendation
      Reviewed in India on January 11, 2015
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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!!

      Sending feedback...
      Thanks, we'll investigate in the next few days.
    • 5 out of 5 stars
      Buon libro sui processi di intervista nelle aziende ICT
      Reviewed in Italy on August 10, 2015
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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.

      Sending feedback...
      Thanks, we'll investigate in the next few days.
      Translated from Italian by Amazon
      See original
    • 5 out of 5 stars
      Problemas muy entretenidos
      Reviewed in Spain on March 20, 2016
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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!

      Sending feedback...
      Thanks, we'll investigate in the next few days.
      Translated from Spanish by Amazon
      See original
    • 5 out of 5 stars
      Helped me to get an offer :)
      Reviewed in Germany on June 13, 2015
      Brief content visible, double tap to read full content.
      Full content visible, double tap to read brief content.

      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 :)

      Sending feedback...
      Thanks, we'll investigate in the next few days.