REVIEW - Cracking the Coding Interview - 150 Programming Interview Questions and Solutions


Cracking the Coding Interview

150 Programming Interview Questions and Solutions


Gayle Laakmann McDowell


Careercup (2011)




Nomen Nescio


April 2014



No recommenddation given. 498 pages (of which >300 are answers to questions)

Reviewed: March 2014

I bought this book the last time that I was looking to change jobs. In the event, I changed jobs before I had time to read it. Now I’m on the other side of the interviewing table and I thought that it might be a source of ideas.

Overall, I found the general advice to be sound. Prepare yourself, know your target company and some background on large US-based multinationals like Google, Apple, Microsoft and Yahoo.

The technical questions and answers were, I felt, rather unexceptional. Mostly the code is Java, with the aim of being easy to understand. In particular in the Bit Manipulation chapter I kept on saying to myself “that won’t work reliably in C or C++”. In the chapter dedicated to C and C++ (which is almost entirely C++), several things shocked me

  1. use of #define for constants
  2. use of raw pointers and even malloc/free (though somewhat predictably, the pointers segue into virtual functions); I would expect candidates to show a better understanding of the use of the heap and the stack and for me systematic overuse of new is java++ – C++ written in a Java dialect rather than idiomatic C++.
  3. no mention of exceptions
  4. no mention of C++11
  5. question as to why derived class destructors need to be virtual.

One last sin, it’s all a bit computer science-y (as Press et al. might say). There’s a lot on algorithms, recursion and even databases, but when it comes to a tiny bit of numerical analysis, I have the impression that the author is lost at sea. The example in question is oriented towards data structures used to evaluate a “mathematical expression ...Ax^a + Bx^b ...”. I suspect that a polynomial is intended, but the text does state that the exponents are of type double. No mention of the requirements for rapid and accurate evaluation of the expression. Who cares if the answer is NaN when the inputs are wrapped in a nice class!

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.