Anurag Rana          Projects     Contact Me     Blog    
Top (max 10) reviews: Elements of Programming Interviews in Python: The Insiders' Guide.

4.6 out of 5.0    30 total reviews.

Buy This Book
All Books
5.0 out of 5.0 -

by Kevin L on April 17, 2017

TL;DR: When it comes to programming practice, Elements of Programming interviews is the cream of the crop. If you are only going to buy one practice book, I would recommend this one above all the others. I have nothing but good things to say about the book, and can confidently say that no other product that offers as much depth as EoPI does.
The first thing you will notice about EoPI is that the level of detail is astounding; I was blown away by the sheer amount of effort that the authors put into it. The problem analysis is unparalleled, and goes far beyond basic algorithm/data structures knowledge. The solutions are easy to follow and explained very thoroughly. For example, if a problem has multiple solutions, the authors will walk you through each one and guide you towards the optimal solution. In addition to being a goldmine of commonly-asked problems, the book also offers many original problems that you wouldn't be able to find anywhere else; it is by far the most comprehensive practice resource out there. In terms of organization the book is extremely well structured, and even provides study plans for the reader to help with problem selection. Some of the problems in the book are much more difficult than what you would find in an actual interview. If you are able to comfortably solve the problems in this book, you should certainly have no problem with the real thing.
Before using this book I tried various other resources, particularly Cracking the Coding Interview and LeetCode. The former offered no depth whatsoever: mostly simple and overused problems (like what you would get in a technical phone screen). While the latter provided no shortage of challenging problems, I found it sometimes frustrating to use because of its unclear problem statements and its reliance on an auto-grader to compensate for lack of published solutions and guidance.
I have long been a fan of the series and I am delighted to see that a Python version has been released. I give Elements of Programming Interviews 5-stars because I think it is an essential practice resource. Honestly, it was a lot of fun to work through the book; it was much more pleasant than the usual practice problem grind. Even if you are not practicing for interviews at the time, I highly recommend checking it out. It is a great way to develop your problem solving ability and build confidence for future interviews.

5.0 out of 5.0 -

by YOOYOYOYOY on Jan. 15, 2018

a must have if you're preparing for some coding interview. the book pairs well with a lot of free problems on leetcode as well so you can both practice on whiteboard (with the book) or by implementing the algorithms yourself (on leetcode).

5.0 out of 5.0 -

by Tony Chen on Jan. 16, 2018

Great book. Exactly what I wanted!

5.0 out of 5.0 -

by VTReader on May 11, 2017

This is the book I was looking for and I find it better than Cracking the Coding Interview for several reasons.
1. It's written in Python 3.6, which is a more comfortable language than Java or C++ for beginners.
2. It covers bitwise operations and data structures, showing how to implement them from scratch and common interview problems
3. Good coverage of standard algorithm questions, though this is not an algorithms book per se.
4. A lengthy section called "Honors Class" with reach problems that exceed the difficulty in most tech interviews but are nonetheless fascinating to solve and build up confidence.
All in all a great book. I wish I'd found it sooner.

5.0 out of 5.0 -

by Itai on Nov. 12, 2017

An exceptional book extremely dense with knowledge. Highly recommended for coding interview preparation and for becoming a better programmer!
My background is not computer science, but I had worked in the industry for a few years. After my last job I came to the conclusion that certain jobs will forever be out of my reach unless I will learn the fundamentals and the skills required to pass whiteboard interviews. I decided to take break and dedicate a few months to studying.
Over the last 3 months EPI was my daily companion studying a few hour each day. Since I didn't know any of the fundamental computer science theory the first two problems of each chapter took me up to week. I had to research and deepen my understanding (highly recommend the mycodeschool youtube channel)
Because of the methodology of teaching through problems, it's extremely dense. Sometimes a few lines of code would occupy me for a few hours just to understand how they work. It's ratio of knowledge to page count is of the charts! Happily as the months went by it became somewhat easier. I felt like I was slowly improving.
I've looked at other options but In my opinion EPI is the best book for preparing to whiteboard interviews. Its problem selection is top notch, its solution are exemplary. I think python is the ideal language for interviews, because it's very concise and elegant and saves time writing the trivial stuff. I plan on updating this review once I start interviewing with companies.

5.0 out of 5.0 -

by Amazon Customer on Sept. 2, 2017

Great book! I've read Cracking the Coding Interview but was looking for something a bit more specific to people who choose to interview in python, this is really good for prepping.

5.0 out of 5.0 -

by Arshad Shaik on Nov. 29, 2017

By far the best book for preparing for programming interviews. The book guides perfectly whether you have an interview within a week or a year, the book has a structured and systematic plan for you.
The code is well written taking advantage of all the language features. For most problems, solutions are given both in pythonic and non-pythonic way. This helped me better understand what exactly the code is doing.
The authors introduce each problem with a bruteforce solution and optimize both the time and space complexity from there. This book in combination with a lot of practice with whiteboard interviews is enough to crack the coding interview.
In addition to data structures and algorithms problems, the authors also provide guidance on solving system design, object orientation, language features, parallel computing and other common topics like HTTP, SQL Design, version control system etc.
This book can also be used as the perfect compliment to CLRS or any other traditional Algorithms textbook for understanding and mastering data structures and algorithms.

5.0 out of 5.0 -

by Benja on Nov. 19, 2017

I have the C++ version, but because I write code primarily in Python/JavaScript, I often refer to the python code example. The book itself is well written, as someone who's been on both sides of the interview table, it surely is an "insider's guide" to programming interviews.
Specifically for Python, I think the code quality is really good. I have learned something I didn't even know when referring to the code snippets. The code itself is succinct, readable, and self-explanatory (by using meaningful variable names, etc.).
In a nutshell, I highly recommend this book for anyone preparing for a programming interview.

5.0 out of 5.0 -

by vendettadroid on July 31, 2017

I had bought every possible programming interview book for python. Hands down the best book available for python.

5.0 out of 5.0 -

by Manjesh Gowda on Dec. 29, 2017

Few great things about this book,
1. Ordering of the topics, so it takes the reader from basic to advance ( honor class )
2. Each topic covers pretty much all the aspects of given topic with good selections of problem
3. Selection of topics is really amazing, especially Design problems and Honor class have problems which are asked in most top tech companies
If there was kind of a separate hint section before the solution section it would be great.