Average Customer Review:
( 83 customer reviews )
Write an online review and share your thoughts with other customers.
Most Helpful Customer Reviews
79 of 80 found the following review helpful:
"Programming interviews exposed" vs "Cracking the coding interview"May 12, 2011
By Margaret Gilligan
"Programming Interviews Exposed: Secrets to Landing Your Next Job"
(2nd edn), John Mongan, Noah Suojanen and Eric Giguère (2nd edn, 2007)
is a good book, but so is the very similar "Cracking the coding
interview" (4th ed, 2008) by Gayle Laakman. Which should you choose?
Here are the main differences:
- "Exposed" is much more readable: it explains the solutions in
English before giving code, whereas "Cracking" often just presents
code with minimal explanation. Another nice thing is that "Exposed"
presents the solution in stages, so you can read the first part of the
solution to get a hint, and then try again. By contrast, "Cracking"
just gives the key idea right away, so even a "peek" at the solutions
means it's game over (modulo coding issues, which are usually easy).
- "Cracking" has more questions, and they generally seem to be a bit
harder. They are sorted in order of increasing difficulty, which is
- "Cracking" gives solutions in Java, although the code seems to have
some errors (see other reviews on amazon). "Exposed" gives solutions
in a mix of languages (C++, Java, C#), although they only use one
language per question.
- "Cracking" contains some grammatical errors (for example, Gayle
often mixes up "eg" and "ie"). In addition, many explanations would be much clearer with
- Both books are similar in length (about 300 pages), and their "non
technical" advice is very similar.
- Overall, "Exposed" is easier to read, but "Cracking" has more
content. Tough call.
There is also the good book "Algorithms For Interviews" by Adnan Aziz
and Amit Prakash (2010), which contains much harder questions,
focusing on clever algorithms and not on implementation details. Do
not attempt this book before mastering "Cracking" and/or "Exposed",
you will find it demoralizing! But it's probably worth trying some of
these harder problems, to see how "fancier" algorithms (like Dijkstra,
or max-flow min-cut, or dynamic programming) can be applied in
89 of 94 found the following review helpful:
Not a silver bulletJan 21, 2009
The bulk (90%) of this book focuses on basic C.S. algorithms. A few pages at the end are dedicated to the "soft questions", or non-technical stuff.
Really, this book is a direct result of the "Interview 2.0" concept that came out in the late 90s and still persists. I feel that a lot of tech companies (except perhaps a select few, such as Google and MS) have realized that interviews based exclusively on basic C.S. algorithm knowledge isn't the way to pick the best candidate.
There is a *ton* of material in this book. If you focus on it, you may end up shooting yourself in the foot. So make sure your target company is going to be focused on algorithm questions before you put the time into doing the problems here. Or avoid those companies. Honestly, you're wasting your life relearning this stuff, as interesting as it is, unless you're going to be designing algorithmic libraries.
Also, don't forget the soft questions (your past experience is really important!).
Looking back at this review, I may have been a bit too harsh. This is an excellent book in a lot of ways. It is a great review of some of the more famous algorithm problems in computer science (although I'd recommend picking up Bentley's Programming Pearls if you want a real glance into famous algorithmic problems). It also has some general good advice on soft questions, although I wish it had spent more time on this area - as I learned the hard way in one of my first interviews looking for a new job. And hence why I rated this 3 stars at the time.
Regardless, I still flip through it every time before an interview... So if I could, I would revise my rating up to 4 stars.
45 of 45 found the following review helpful:
Great book for experienced professionals back in the job marketJun 15, 2010
By B. Jacobs
I have over 20 years of software development experience and have been at my current company for over 10 years. And that job was through a friend. So I hadn't interviewed or written a resume in quite some time. I found out pretty quickly that things had changed since my last job search.
Given today's competitive market, I find that more employers are looking not only at experience (as they did in my prior job searches), but also are testing applicants on college level computer science. It's true that professionals have taken these courses, but it's been a very long time since I had to write a binary tree algorithm. Once you have experience, you still need to understand data structures and algorithms, but I'd seriously worry about a programmer that wrote their own btree functions. Part of software engineering is understanding what you need, where to find the libraries and tools to support your selection, and understanding how to apply them. So I was taken by surprise when asked about btree algorithms and red/black tree traversal. I remembered these concepts, but wasn't prepared to sit down and code one.
This is where this book came in handy. It sets the stage for interviewing in today's marketplace, covers all those CS101 concepts that some of us are rusty at, and provided good examples to practice working through those low level concepts.
I found it very helpful for my second round of interviews at a very technical company.
For those people that say there is no silver bullet, or that you can't learn to be a computer scientist from one book, I totally agree. But that is not the intended audience. This book is great for those of us that have all that knowledge, but are a bit rusty on some of the data structure internals. It's also great for experienced professionals who have been out of the market for a while.
24 of 27 found the following review helpful:
All Microsoft Interview QuestionsApr 15, 2008
By Fauzia Lala
Buy this book if you are interviewing with MSFT anytime soon. I have two brothers and both work for MSFT. They both think this book is a very good prep. Moreover, my eldest bro is an interviewer at MSFT and he uses this book! So does the other 4 interviewers he knows at MSFT.
1) This book has sample interview questions for you to solve and several approaches for each question.
2) The book then tells you which approach is the best and why. VERY VERY NICE!
3) This book also tells you how to approach problems, how to make sure you are not stuck, how to brainstorm and get the best answer.
4) There are puzzle/riddle type questions too.
5) How to write resumes and cover letters as well.
6)Finally, the book also has very nice simple tutorials of all the important/basic concepts of OOP.
Very comprehensive book. A MUST buy!
11 of 11 found the following review helpful:
Nice. Clearly explained, comprehensive. Could use more up-to-date knowledge questions.Feb 20, 2011
I'm a software engineer at a billion-dollar company, with about 10 years of experience after college. I decided to interview at a promising early-stage startup and thus bought two interview books (this one and Cracking the Coding Interview) to brush up on things and get back that interviewing magic. (I had been at my last job for over 5 years, so it has been a while.)
This is a nice book. It's definitely a nice refresher for more experienced people but probably far more useful for someone new to the industry. If you know this book up and down AND can answer similar questions without much issue, you should not have much trouble landing your first job, at least.
All the basics are covered: string/array questions, tree questions, linked list questions, data structure questions, etc. There are also knowledge-based questions (on threads, databases, etc.). Finally, there is a common-sense chapter on salary negotiations, etc. -- nothing mind-blowing but still a nice collection that is help to less experienced people.
The best thing about this book is that it's not afraid to explain solutions. It doesn't just give the solution -- it meticulously shows the reasoning that a reasonable person could use to arrive at that solution. This is more useful than simply writing out the code (something that Cracking the Coding Interview by Gayle Laakmann is more than happy to do). Reading and understanding these parts can give prepare you well for doing so yourself on other (especially related) problems.
So, what the book covers it generally covers well. There are some exceptions to this. For example, the knowledge-based chapters seem a little thin. The producer/consumer concurrency problem is discussed (as well it should be!), but the solution is not discussed in nearly enough depth for real understanding. (A prudent person would go elsewhere and learn more, though, so the fact that it's present in the book at all is nearly sufficient.) Also, based on my interview experience, there is not enough focus on design problems: e.g., design a web crawler -- how do you distribute the nodes, how do you handle fail-over, etc. etc.
No matter. This is definitely a great book for the less experienced job seekers out there, and also nice brush-up material for the veterans. I would also recommend Gayle Laakmann's Cracking the Coding Interview, though less enthusiastically; it features a fuller set of problems, but it's also full of errors and lacks detailed explanations of solutions.
See all 83 customer reviews on Amazon.com