Programming Books C Java PHP Python Learn more Browse Programming Books
Buy New
  • List Price: $39.95
  • Save: $22.00 (55%)
FREE Shipping on orders over $35.
In Stock.
Ships from and sold by
Gift-wrap available.
Add to Cart
Trade in your item
Get a $2.00
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

Elements of Programming Interviews: The Insiders' Guide Paperback – October 11, 2012

Amazon Price New from Used from
"Please retry"
$13.84 $17.62

Frequently Bought Together

Elements of Programming Interviews: The Insiders' Guide + Cracking the Coding Interview: 150 Programming Questions and Solutions + Programming Interviews Exposed: Secrets to Landing Your Next Job
Price for all three: $65.10

Buy the selected items together


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 508 pages
  • Publisher: CreateSpace Independent Publishing Platform; 1st edition (October 11, 2012)
  • Language: English
  • ISBN-10: 1479274836
  • ISBN-13: 978-1479274833
  • Product Dimensions: 9 x 6 x 1 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (89 customer reviews)
  • Amazon Best Sellers Rank: #4,675 in Books (See Top 100 in Books)

Editorial Reviews


"This book is the best compilation of programming related problems I have seen. It is a great resource for a diverse set of topics when preparing for technical interviews, as a quick refresher in a subject area or when you are just looking for a brain teaser to challenge yourself." 
Shashank Gupta / Scaligent, formerly Engineering Manager,, Senior Engineering Manager, Yahoo!, Manager of Software Development, Cisco Systems

From the Author

Have you ever...
  • Wanted to work at an exciting futuristic company?
  • Struggled with an interview problem that could have been solved in 15 minutes?
  • Wished you could study real-world computing problems?
If so, you need to read Elements of Programming Interviews (EPI).

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.7 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 89 customer reviews
Very well organized, clear explanations, and well structured.
Juyong Kim
The best way to prepare for an interview with this book is to solve each problem and write the code for it on paper before looking at the solution.
Taras Bobrovytsky
And when you buy a book like this one, you *want* authors who care enough about the math to do it right.
Amazon Customer

Most Helpful Customer Reviews

20 of 21 people found the following review helpful By goforfun on November 14, 2012
Format: Paperback Verified Purchase
In summary, I strongly recommend this book for anyone who wants to excel in interviews in top software companies.

This book has extensive interview problems with detailed solutions. It covers basic to advanced algorithm solving techniques. The book is very comprehensive and detailed - it is by far the largest collections of such problems that I know of. I really liked the fact that most problems have detailed programs which I could download complete versions of. The figures were also very helpful for me to understand some of the harder concepts.

Materials in later chapters which contain dynamic programming and graph algorithms make this book stands out among other interview books. These materials especially help readers to think critically when facing difficult programming problems with efficiency constraints.

I also purchased "Cracking the Coding Interview" for preparing for my interviews. Compared to that book, I found Elements of Programming Interviews to be better preparation for the questions I was asked at the on-site interviews. Cracking the Coding Interview had more basic questions, the kind I was asked in phone screening and on-campus interviews.

I am very fond of algorithms, and, just like Keith wrote in his review, Elements of Programming Interviews nicely supplements traditional algorithm textbooks which lack of practical examples.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
32 of 36 people found the following review helpful By ChengYi He on October 22, 2012
Format: Paperback Verified Purchase
I've read through this book in great detail and I found it very useful for preparing for interviews. I appreciate the quantity, quality, and selection of problems. The detailed solutions with working code and well-drawn figures aided my understanding.

These problems would help you understand what is asked at interviews. Although the questions at the interview may not be exactly from the book, the book questions are very similar to those I have seen. I believe reading the book helps me stay calm and solve those questions because it helps me get used to thinking of challenging problems. I really like how the book teaches me to apply the same basic problem solving patterns again and again to conquer problems. If your goal is to work at a prestigious company, you should definitely read these examples before interview. In my experience, without the right preparation it is very hard to even know how to start answering their questions.

Almost each solution includes source code. This code has saved me lots of time. As Knuth said "It has often been said that a person does not really understand something until he teaches it to someone else. Actually a person does not really understand something until after teaching it to a computer." You cannot persuade interviewers that you really understand it unless you could code it correctly. Especially if your first question is data structure problem, you should code a correct and efficient solution quickly and elegantly. It's a pity if you know how to solve a problem but cannot code it when interviewing at your dream company.

I am passionate about programming and the book stimulated my mind a great deal. I like how the authors explain algorithms, and this made me want to keep reading. It was never a burden to work through the book.

I think this book would help lots of people who want to be a software engineer at the best companies and highly recommend you to buy one.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 7 people found the following review helpful By franciscan on January 21, 2013
Format: Paperback Verified Purchase
Having thoroughly enjoyed the previous incantation (Algorithms for Interviews) of this book, I was very much looking forward to the new version. I work in the highly competitive field of EDA software development, and lead an expanding team of top-notch developers. We are frequently interviewing and evaluating new college hires and experienced developers alike, and resort to deep algorithmic and programming questions to test their mettle. Elements of Programming Interviews delivers a fantastic collection of problems to choose from for this purpose. I especially appreciated the presence of variants, which makes it easier to test if someone has just memorized solutions, or has real problem solving skills. More than that, I found a number of the problems very helpful in improving the performance of certain algorithms that we deploy in our software! Several of my team members were impressed enough to purchase copies of their own, to sharpen their skills and use it as a handy reference for improving code performance.

I read through the book carefully, and found three bugs in the solutions, which I reported to the authors. Two of them had already been fixed at [...] and the authors got back to me and with the fix for the third bug on the day I reported it. Very impressive!

I would highly recommend this book to engineers on both sides of the hiring process as well as to anyone who writes high performance code, particularly from the algorithmic side, e.g., for EDA, machine learning, big data, networking etc.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By aditya on October 28, 2013
Format: Paperback
Whether you are preparing for an interview or not, every software developer should own this book! If you are infact preparing, this is a MUST have! Period!

Bought this book after my sister told me about it. The first four chapters looked pretty broad yet informative but somehow I wasn't impressed in the beginning. It was towards the end of the 5th chapter that things got super interesting and I got glued to the book. I consider myself a fairly experienced developer but after working on some of the questions and especially after looking at the solutions, I realized that there are much smarter ways to solve problems. I was looking at geeksforgeeks and careercup questions earlier but was never confident that I had covered all the topics. But after going through the book and after solving the problems I got this immense confidence that I now am better equipped with solving any complicated interview question (yet to be tested : ) but I am definitely a lot more confident than I was before).

Each question is very well thought out and definitely the solutions are one of the smartest ways to code/solve. I was blown away by some of the elegant solutions in the book. I would recommend trying to solve the questions on your own first without looking at the solution at all and then spend time comparing the approach. I specifically like the way the complexity of the topics grows gradually across chapters and also within each chapter.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews