The most important thing we have to tell you is the same as in the first edition: You will
get as much out of this book as you put into it. If you read this book cover to cover, you will learn
something, but not nearly as much as you would if you take some time trying to work through the
problems before you read the answers.
That said, many of the other things we have to tell you have changed over the period of more than a
decade since the first edition was published, so it was thrilling to have another opportunity to revise
Programming Interviews Exposed.
This edition represents the largest update yet. In addition to revising, expanding, and updating the
material from the previous edition, chapters on the important topics of sorting and design patterns
are added. The non-programming parts of the book were revised to reflect the realities of today’s job
market. Throughout all this, we maintain the approachable style and step-by-step thought process
developed for the original edition.
Code samples are largely in C, C++, or Java, but in most cases the focus is on the data structures
and algorithms, and the language choice is entirely secondary. All the examples should be easily
understandable for an experienced programmer.
One of us (Eric) recently interviewed for and landed his dream job at Google, which has given him
additional perspective on programming interviews, reflected in this revision. We’re pleased that
Google seems to be leading a shift away from the use of trivial puzzles in interviews, something
we’ve complained about since the first edition (see the following original preface).
We hope you enjoy the third edition of Programming Interviews Exposed and that it helps you get
the job you’ve always wanted. We’d love to hear your thoughts on the book and your interview experiences.
You can contact us at firstname.lastname@example.org. Be sure to visit the official Programming
Interviews Exposed site at http://www.piexposed.com for updates and more information.