BetterEditor.net - Resources for Editors and Writers

Search Advanced Search
 Location:  Home / Reference / Software Design & Engineering / Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer)  
Related Categories
• Software Design & Engineering
Computer Science
New & Used Textbooks
Custom Stores
• General AAS
Computer Science
New & Used Textbooks
Custom Stores
• General AAS
New & Used Textbooks
Custom Stores
Specialty Stores

Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer)

Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer)
Authors: John Mongan, Noah Suojanen, Eric Gigučre
Publisher: Wrox
Category: Book

List Price: $29.99
Buy New: $19.79
You Save: $10.20 (34%)



Rating: 4.0 out of 5 stars 65 reviews
Sales Rank: 5601

Media: Paperback
Edition: 2
Number Of Items: 1
Pages: 264
Shipping Weight (lbs): 0.9
Dimensions (in): 9.1 x 7.4 x 0.5

ISBN: 047012167X
Dewey Decimal Number: 650.144
EAN: 9780470121672

Publication Date: April 30, 2007
Availability: Usually ships in 24 hours

Similar Items:

  • Programming Pearls (2nd Edition) (ACM Press)
  • How Would You Move Mount Fuji?: Microsoft's Cult of the Puzzle -- How the World's Smartest Companies Select the Most Creative Thinkers
  • Puzzles for Programmers and Pros
  • How Would You Move Mount Fuji? Microsoft's Cult of the Puzzle - How the World's Smartest Company Selects the Most Creative Thinkers
  • Ace the IT Interview (Ace the It Job Interview)

Editorial Reviews:

Product Description
Programming Interviews Exposed
2nd Edition

The pressure is on during the interview process but with the right preparation, you can walk away with your dream job. This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews.

50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you'll be able to easily apply what you've learned during crunch time. You'll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want.

What you will learn from this book

* Tips for effectively completing the job application
*

Ways to prepare for the entire programming interview process
*

How to find the kind of programming job that fits you best
*

Strategies for choosing a solution and what your approach says about you
*

How to improve your interviewing skills so that you can respond to any question or situation
*

Techniques for solving knowledge-based problems, logic puzzles, and programming problems

Who this book is for

This book is for programmers and developers applying for jobs in the software industry or in IT departments of major corporations.

Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.



Customer Reviews:   Read 60 more reviews...

4 out of 5 stars Useful if studied correctly - one of the few helpful books you'll find on programming interviews   April 22, 2006
 103 out of 108 found this review helpful

I just finished rereading this book, and read the earlier Amazon interviews. Though I agree with many of the observations in the other reviews, their judgments are mostly too extreme. This book is definitely of value, but reading it won't unlock the keys to any secret kingdom of guaranteed job-landing success.

I've been interviewing and hiring software developers for almost 15 years, and I know one thing you can be sure about software interview processes: their inconsistency. Interviewing and hiring practices for software development are all over the map. As a matter of fact, all software development practices are all over the map, and how you are judged a success or failure once you land a job are at least as subjective and error-prone as how you are evaluated in interviews.

Landing a particular software development job and being successful at it once you get it require a lot of learning about the particular mix of priorities and practices on each particular team, and fitting into that mix. You could be interviewing with a sixty-year-old toy manufacturing veteran doing tiny embedded systems, and any mention of object-oriented technology could be immediate grounds for a religious no-hire. On the other hand, you could be interviewing with a young hotshot at a new Silicon Valley startup. In this case you'd not only better be fluent with every aspect of object-oriented technology, best practices, and the latest open-source frameworks, but you'd better not make too much of space optimizations or "the overhead of a subroutine call" or you'll be branded as hopelessly old fashioned.

Consequently, the advice in this book is quite valuable about communicating throughout the interview, telling the interviewer the thoughts behind what you are doing and asking clarifying questions as you go. No book by itself can help you with any interview you might encounter. However, with all its flaws, this book does a better job than any other available book in discussing programming questions, how to approach them, and possible answers. The idea that only "recent grads" are ever asked general programming questions like this is hogwash. I hire veteran developers for high-end product development jobs almost exclusively, and I ask programming questions like the ones in this book all the time, and so do most of the good interviewers I know. I've found over the years that programming questions give me among the most direct and accurate assessments of a developer's skills. Asking programming questions is enough of a best practice that you should be suspicious of a technology company that doesn't include them in its interview process. (Hey, I said that development practices were all over the map, but I didn't say that most of them were any good. How else could the software industry achieve its miserable 40% success rate?)

As far as the books weaknesses, probably the biggest is that almost all the questions, answers, and discussion are in straight procedural C. It's hard to reason why this book shows such a lack of emphasis on object-oriented technology considering it had been the state of the art for 10 years when this book was published in 2000. So, though there are a few small examples of OO class designs thrown in, discussion is missing of important topics like inheritance, composition, encapsulation, and structured exception handling. Even when you are programming in an OO language, however, the logic inside the methods you write for these kinds of general exercises is mostly the same as you would write in a procedural language. So most of this book is relevant, but you must translate to OO on your own.

A more subtle and perhaps more important weakness of this book is that topics such as performance, scalability, error handling, and public vs. internal interface design are haphazardly covered and sometimes skipped. Because of the inconsistency of development practices, there is usually no ultimate "right" answer to any of these questions. Some of the recommended "best" answers in this book have some glaring failure cases that are not covered, and covering these cases will obliterate the simplicity and performance characteristics of the "best" answer. So you always need to probe your interviewers for your constraints, such as invalid inputs, what if memory allocation fails, who are your users, etc...

Ultimately, this is a useful book. You will probably do better on a software development job interview if you read this book. Stay away from the superficial treatment most people give books such as this of just trying to memorize the questions and answers. If you read this book thoughtfully, coding and testing your own answers to the exercises as you go, and evaluating the strengths and weaknesses of what's in the book, you'll definitely do better on any interview where you are asked direct coding questions. It is like learning one more person's point of view on relevant development practices, and the more you do that, the more rounded you will be and better you will do overall at both interviews and once on the job. Best of luck and I hope you find a programming job that fits you well.



4 out of 5 stars excellent advice..   December 23, 2001
 32 out of 36 found this review helpful

There are many types and levels of programming jobs. This book is useful advice for people aiming for system level or hardcore type jobs e.g. embedded systems, networks and operating systems etc. For example, this book would be highly useful for you if you go for a developer's job interview in Cisco systems, IBM, Microsoft, Sun or Lucent etc. This is not too useful for application programming stuff, as one of the reviewers mentioned about Sybase etc. I have been giving programming interviews for many years and believe me, I have come across a surprising number of questions right from this book. The other good books for these type of interviews are "Expert C Programming" by Van der Linden, "Programming Pearls" and " C interfaces and Implementations" by Hansen. The interviews in companies I have mentioned do indeed last full working days, or at least five to six hours, involving lunch. The interviewers include three to four people from the engineering team, one from Human Resources and one senior level person e.g. director or head of the group type person to finish it off. The engineering team asks you to write significant code involving commonly used data structures, linked lists and trees etc. and also code that would require certain tricks of the trade that only veteran or seasoned programmers would know. So in my opinion, this is a timely arrival and gives lots of useful information to build the required confidence and thinking pattern to ace such interviews. The techniques described are all familiar and used frequently by most engineers and computer scientists in the field, but being able to answer promptly in an interview is a different ball game and I have suffered because of the lack of confidence in interviews. So, in my opinion, it deserves at least four stars.


3 out of 5 stars of questionable value   May 11, 2004
 23 out of 48 found this review helpful

This may be valuable for new grads getting their first job, or people who want to do sanity a check before looking for a new position.

In the bulk of this book, the author covers what he feels are common programming related interview questions. Almost all of the examples are in C, except for a few oddballs (one is done in Perl, which doesn't exactly lend itself to clarity). I don't understand why the author chose C. He states it is the "language of choice" for interviewers. Most universities are making their grads think OO these days. While they may have a few projects in C, the majority of their experience is going to be in C++ or Java, or C# in the near future. If a new grad is going to interview, and they state that they aren't that great with C but they know C++ or Java really well (which is probably true for most new-grads), I would be very, very surprised if this was an issue. What if it was an issue? As a new grad, would you want to work somewhere where your interviewers could only think in C?

Regardless, the common feature here is OO. The book misses the boat on this point. I have been working in the Java space for quite some time and the non-OO examples were hard for me to follow, and I found myself not wanting to follow them because they seemed inelegant. I would have preferred to see them in (OO) pseudo code.

The rest of this book covers interviewing tactics, a few logic puzzles, and a small section on resume writing. The sections on interviewing tactics and resume writing assumed a very low experience level and seemed more like they were written for high-school grads than for college grads let alone experienced software developers. The puzzle section was fun.


2 out of 5 stars A watered-down high school CS review book   December 22, 2000
 19 out of 37 found this review helpful

I've heard that programming interviews sometimes involve wacky, off-the-wall questions ("why is a manhole cover round?"). I bought this book with the belief that it would shed some light on how to approach these kinds of questions. I was dead wrong.

There are only around 10 pages on actual interview/resume advice. The bulk of the book is taken up by mini-reviews of topics ranging from the utterly basic (arrays, strings, recursion) to the utterly unlikely to be asked in a programming interview (implementing linked lists, trees, graphs).

A few pages are spent on mini-reviews of topics that might be worthwhile. However, the reviews are so short and basic as to be useless. For example, 1 page on graphics programming and 2 pages on SQL. The author spends a half-page in the SQL review expounding on the following: "Lesson:If you don't indicate that you know SQL, you probably won't be asked anything about it."

The only redeeming factor (and the reason for 2 stars) are the 2 chapters on mathematical puzzles and brain-teasers. Readers would be better off buying a book on brain-teasers, but the chapters do give a general idea of how to approach these problems.

Overall, this book reads like a watered-down high school CS review book. The mini-reviews are useless, actual resume or inteview advice is scarse, and the brain-teasers are better covered in other books.

Programmers wanting interview or resume advice would be better served by a more traditional book on interviews/resumes.


3 out of 5 stars There are interviews and there are interviews   August 21, 2001
 15 out of 32 found this review helpful

Whew! What a surprise this book was! I've been going to programming interviews for a dozen years and I've NEVER been put under a hot-seat and asked to do impromptu coding of linked lists, binary trees and the like. My programming interviews seem to always revolve around the languages and products I've used, with the "buyer" trying to find an exact match for everything they have. Like... "Do you know Sybase?" followed by 7 or 8 Sybase questions... "Do you know servlets" followed by 7 or 8 Java servlets questions... "Do you know Rational Rose?" followed by 7 or 8 Rational Rose questions... etc. And I've NEVER had an interview with technical staff go beyond 2 hours: in the book they mention a FULL DAY'S interview... with lunch! I operate in the New York City-area application development arena. Is it me or is it these authors... it's like these folks operate on a different planet than I do. I think in fact they probably do: and I think this book is mistitled. I think any second edition should be retitled "SOFTWARE ENGINEERING Interviews Exposed", because I think that's the arena they've really been operating in. Plus, they mention showing up to an interview sans necktie: that would be instant "flunk" where I come from... even if the staff IS dressed casually themselves. Maybe an even better title would be: "WEST COAST SOFTWARE ENGINEERING Interviews Exposed" (not that there's anything wrong with the west coast).




Copyright 2008 BetterEditor.net