Industrial-Sized Deals Shop all Back to School Shop Women's Handbags Learn more nav_sap_SWP_6M_fly_beacon $5 Albums $5 Off Fire TV Stick Subscribe & Save Shop Popular Services pivdl pivdl pivdl  Amazon Echo Starting at $99 Kindle Voyage Nintendo Digital Games Shop Now STEM Toys & Games



There was a problem filtering reviews right now. Please try again later.

86 of 87 people found the following review helpful
on May 12, 2011
"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
helpful.

- "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
an example.

- 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
creative ways.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
47 of 47 people found the following review helpful
on June 14, 2010
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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
91 of 96 people found the following review helpful
on January 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!).

Update, 2009-02-23:
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.
22 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
24 of 27 people found the following review helpful
on April 14, 2008
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!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
11 of 11 people found the following review helpful
on February 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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
12 of 13 people found the following review helpful
on April 21, 2008
This book played a significant part in landing me a job at major technology company. Although out of the entire all-day interview process there was only one question that was actually very similar to one I read about in the book, I did benefit greatly from the advice on how to approach the interviewer, how to be verbal with my problem solving process, how to dress, even how to write my sample code on the white board. These are intangibles that relate particularly to the software development world, and some of the specifics were a welcome departure from the 'generic' advice you get from most sources.

It was my first interview with a major tech company, and I was fresh out of grad school, so though some of those things may be obvious to the more experienced, for me it made a world of difference bringing that with me to the interview. Just made me very comfortable and familiar in what should have been a very unfamiliar environment. And the one question that was very similar to the one I read in the book came from an interviewer that I later found out was pivotal in the final decision to hire. So.. you never know.

Reading this book is not a substitute for being technically adept, and certainly will not guarantee a job, but it does leave you better equipped to handle the interview. Seasoned and beginner alike should find many useful tidbits.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
9 of 9 people found the following review helpful
on September 26, 2008
I bought this book primarily for the walk-thrus in puzzle solving and eventually came to the conclusion that it did an OK job but not great one. The solutions are often sub-optimal and overly complicated (sloppy), but the biggest problem I have with the book is that is doesn't really develop generalized and reliable approaches to solving problems. Probably the starkest example of this is in the treatment of recursive routines. It talks a lot about recursive solutions but it doesn't provide much guidance in identifying and implementing them.

Overall if you are preparing for a technical interview I would definitely not rely on this book alone. Studying computer algorithms and data structures may be more beneficial.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
5 of 5 people found the following review helpful
on February 12, 2012
I read the entire book, but was surprised how much is spent on the most basic data structure: link list (chap 4 worth 27 pages!) while other more advanced topics like balanced trees and graphs are barely mentioned and left to the reader to figure out. I mean if you need help with link list, then you have bigger problems...

Also there are tons of errors for a second edition! (some typo, some actual programing) which makes you wonder if they even bothered running the sample they give... Here are a few (I gave up after a while)

p 28
bool insertInFront( IntElement **head, int data ){
IntElement *newElem = new IntElement;
if( !newElem ) return false;
newElen->data = data;
newElem->next = *head; // MISSING p28
*head = newElem; // Correctly updates head
...

p 29
bool deleteElement( IntElement *&head, IntElement *deleteMe )
{
if (!deleteMe || !head) return false; // CLEANUP p29
...

p 51 will return right away as fast == slow to start with instead of slow->next.
bool determineTermination( Node *head ){
Node *fast, *slow;
fast = slow = head;
while( true ){
if( !fast || !fast->next )
return false;
else if( fast == slow || fast->next == slow )
return true;
...

p78 is incorrect
int len = s.Length;
should be
int len = r.length

p152 incorrectly says ¬(A> B) is equivalent to (B <= A) (should be (A <= B)

and many more... little disappointed in the book, specially for second revision.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
12 of 15 people found the following review helpful
on December 6, 2007
I read this book because I will soon be doing technical phone screens for my company, and I only wish I had read this book when I was looking for my last job!

While these types of problems may seem simplistic and largely irrelevant to many developer job applicants (myself included), the fact of the matter is many companies ask these types of questions at some point in the hiring process.

This book is great for giving job candidates an idea of what they might expect in the technical hiring process, as well as providing a great review of topics many of which some of us haven't dealt with since college (I don't think I"m alone in not having traversed a tree in the past 8 years).

Highly recommended.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on October 4, 2010
This book is a really good guide to use as a review of many different topics that you'll face during an interview as a software engineer.

This book will make you think about areas you might not have considered since college if you've been in the industry for a while. It will give you an overview of data structures, bitwise operations, multi-threading and

I would love to see more problems to solve in the book and more discussion on algorithms and higher-order data structures (DFS, BFS, Binary Trees, Graphs). But the book is well-written and easy to read with very comprehensive examples.

The great thing about this book is the way it gets you to focus on the fact that the easiest solution is probably not the best one...nor is the most complex solution the right one (you seldom have time to do such elegant and involved solutions as rolling your own mergeSort function as part of bigger solution during an interview...so it's probably the wrong idea!).

The way it breaks down the examples, details what sort of dead-end solutions might first pop into your head, then shows you at least one optimized solution is awesome!

If you can afford it, get this book and "Cracking the Coding Interview" if it were down to just one...I'd still get "Cracking the Coding Interview". Especially if you're going to interview with MSFT, Google, Yahoo, Apple or Amazon.

And either way, practice, writing on a white board and talking through your solutions (don't worry if the dog or your spouse looks at you like your crazy! They'll thank you later!).

Happy Coding!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this also viewed
Programming Interviews Exposed: Secrets to Landing Your Next Job
Programming Interviews Exposed: Secrets to Landing Your Next Job by Eric Giguere (Paperback - November 13, 2012)
$15.32

Cracking the Coding Interview: 150 Programming Questions and Solutions
Cracking the Coding Interview: 150 Programming Questions and Solutions by Gayle Laakmann McDowell (Paperback - August 22, 2011)

Elements of Programming Interviews: The Insiders' Guide
Elements of Programming Interviews: The Insiders' Guide by Amit Prakash (Paperback - October 11, 2012)
 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.