Jump to ratings and reviews
Rate this book

Elements of Programming Interviews: The Insiders' Guide C++

Rate this book
New! Java versions of all C++ programs in the book at http: //bit.ly/epi-programs Get a PDF sampler of EPI from http: //bit.ly/epi-sampler

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).

The core of EPI is a collection of 300 problems with detailed solutions, including over 100 figures and 250 tested programs. The problems are challenging, well-motivated, and accessible. They are representative of the questions asked at interviews at the most exciting companies.

The book begins with a summary of patterns for data structure, algorithms, and problem solving that will help you solve the most challenging interview problems. This is followed by chapters on basic and advanced data structures, algorithm design, concurrency, system design, probability and discrete mathematics. Each chapter starts with a brief review of key concepts and results followed by a deep and wide set of questions.

EPI concludes with a summary of the nontechnical aspects of interviewing, including common mistakes, strategies for a great interview, perspectives from across the table, negotiating the best offer, and much more.

"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, Amazon.com, Senior Engineering Manager, Yahoo!, Manager of Software Development, Cisco Systems

480 pages, Paperback

First published October 11, 2012

Loading interface...
Loading interface...

About the author

Adnan Aziz

14 books13 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
247 (50%)
4 stars
156 (31%)
3 stars
70 (14%)
2 stars
10 (2%)
1 star
7 (1%)
Displaying 1 - 16 of 16 reviews
Profile Image for Josh Davis.
57 reviews29 followers
May 4, 2013
This should become the de facto book on interviews. It is loaded with great problems and puzzles. The solutions are very comprehensive.

However, don't buy this book thinking that it will teach you about heaps or binary search trees. It merely contains a few paragraphs for each topic and then goes straight to the problems. You'll need another book to learn about the data structures and algorithms that go with them. I'd recommend CLRS (Intro to Algorithms) but many others will do (like Sedgewick or Skiena).

This book also contains a few chapters devoted to the interview process itself. These chapters are just as golden as the technical ones. Interviewing is more about just solving the problems. They want to see who you are as well.

Anyways, definitely check this book out if you wish to get extra practice for programming interviews.
Profile Image for Ayberk.
28 reviews3 followers
January 25, 2016
I have pretty much read the whole book, I'm saying pretty much because there are waaaay too many questions and there's no way I try to solve all of them :P

If you genuinely solve all the questions in the book, I'd say you're pretty much set for a software engineering job. This is a bug in today's software engineering recruitment, it doesn't matter if you know good practices, design patterns, maintainability, readability, etc... Just pick a mainstream language and memorize/solve as many questions as possible :)

Back to book, explanations were not that clear and most importantly the code was incredibly hard to read. I think there's a new Java version now, so I'd say just go read that one because seriously WTF/minute ratio is way too high for C++ version.

tl; dr: Great selection of questions. Not so great execution on explanations and code quality (readability).
Profile Image for Fatima.
383 reviews2 followers
December 15, 2015
It's a good book and for a change it's in C++!!! Finally something not in Java
It contains many good questions. There are though many questions that were silly or it didn't stress a concept that you need to learn.
Profile Image for Endilie Yacop Sucipto.
4 reviews3 followers
December 27, 2017
A coding interview prep book in C++. This is actually a good book and I found it to have a much better content than another popular book "Cracking the Coding Interview" by Gayle.
Profile Image for Jack Hwang.
359 reviews6 followers
October 17, 2014
Yes, this book is full of interview questions. However, the criteria the authors used to pick the questions is quite academic and may not be very pragmatic. It is hard to believe that any of today's interviewers would ask some of the questions in the book within the average interview session time span of 45 minutes. IMHO, more than 50% of the problems in the book fall into this category.

Furthermore, it lacks of short reviews in the chapters. Some short summary of the topics in discussion would be much more useful for the readers. Readers may find it difficult to jump right into the problems/solutions so quickly.

Also, the solutions are often too succinct. It would be more useful to give some guidance on the concepts/approaches than giving solutions directly. While "Cracking The Coding Interview" from CareerCup.com has been overdoing it, this book is in want of better hints/guides to help the readers to form their thought process.

Of, there are also errors and ambiguity in some of the questions.
4 reviews1 follower
May 18, 2018
Elements of Programming Interviews is the best collection of algorithmic puzzles and exercises that I have seen. Whether you are preparing for programming interviews or simply want to hone your algorithmic skills, this book is for you. With concise explanations, asymptotic analysis and optimised code, this book offers a great reference to the self learners. In a course for design and analysis of algorithms, the book can also complement the standard textbooks like CLRS, Dasgupta-Papdimitrou-Vazirani, Kleinberg-Tardos as assignment problems, as standard textbooks stop at pseudocode level, but knowing the nuances of implementations helps in practice. This book is most effective for self improvement of algorithmic thinking -- if you code the solutions yourself and compare with the analysis and solutions offered. Overall, a great book to have !
Profile Image for Quang Huynh.
5 reviews
October 3, 2017
I am not a fan of textbook style representation. Thick textbooks require skimming skill which I personally find painful when reading technical materials - I either skip some important details, or stay on some trivial matter too long.
EPI keeps it lean and clean, the book is by no mean for beginners but if you need a comprehensive yet succinct book to revise and enhance your Algorithm knowledge, this is what to get. Everything is to the point and sometimes too briefly explained that it takes a while to figure out, but that's a very enjoying process on its own.
This is the best interview preparation book I've known, it simply out-performs the more popular Gayle's. Many problems are pretty practical. If you do have a few months to spare, grab this, your time won't be wasted.
Profile Image for yuc yuc.
Author 1 book6 followers
March 19, 2021
This book is way better than CTCI. Instead of just teaching you programming interview tricks, it actually dives deep into various algorithmic topics.
Currently reading
April 14, 2021
Grind never ends. Best SWE interview book. Better then CTCI as CTCI is outdated (still good for fundamentals tho).
Profile Image for Ziad.
32 reviews2 followers
November 29, 2021
Nice,the best interview questions collection ever, I liked that the solution is directly after the question. The code for the book is well written with lots of test cases.
Profile Image for Max Darling.
64 reviews
December 23, 2021
Strictly better than Cracking the Coding Interview.

The strength of this book is the quality of problems. The authors have done a fantastic job curating ~10 problems per topic that are palpably more illuminating than the average lot on a site like leetcode. They have a distinctly mathematical rigor to them, too, that I struggled with initially but came to love.

If you get through this, you'll have a pretty strong foundation. Thus IMO it belongs at the beginning of an interview prep process. Then, a tool like leetcode is most useful towards the end of the process, playing a flashcard-like role: drilling on an unlimited bed of problems, each of which doesn't have it's category revealed.

(Thanks Ali for recommending this in Freshman year :)
Profile Image for Piyush Maheshwari.
9 reviews1 follower
February 29, 2016
This book contains a really good collection of interview questions. It's pretty comprehensive in its coverage. However the explanations were a bit terse at places, they could use more pictorial explanations.
Profile Image for Zafar.
12 reviews
March 6, 2020
Set of examples is great, and advises are also great. There was only C++ at the time, but Java edition made it cooler.
11 reviews1 follower
November 26, 2018
This one really helped me go through tough times of interviews. Apart from the technical concepts the behavioral and the anatomy of interview sections gives a very nice idea about interview processes.
For everyone giving or taking technical interviews.
Displaying 1 - 16 of 16 reviews

Can't find what you're looking for?

Get help and learn more about the design.