Customers who viewed this item also viewed
Buy new:
-5% $37.98$37.98
FREE delivery Friday, February 20
Advertisement
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$2.70$2.70
$3.98 delivery Tuesday, February 24
Advertisement
Ships from: World of Books (previously glenthebookseller) Sold by: World of Books (previously glenthebookseller)
Sorry, there was a problem.
There was an error retrieving your Wish Lists. Please try again.Sorry, there was a problem.
List unavailable.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the authors
OK
Elements of Programming Interviews in Python: The Insiders' Guide
Purchase options and add-ons
- Wanted to work at an exciting futuristic company?
- Struggled with an interview problem thatcould 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).
EPI is your comprehensive guide to interviewing for software development roles.
The core of EPI is a collection of over 250 problems with detailed solutions. The problems are representative of interview questions asked at leading software companies. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants.
The book begins with a summary of the nontechnical aspects of interviewing, such as strategies for a great interview, common mistakes, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI. We also provide a summary of data structures, algorithms, and problem solving patterns.
Coding problems are presented through a series of chapters on basic and advanced data structures, searching, sorting, algorithm design principles, and concurrency. Each chapter stars with a brief introduction, a case study, top tips, and a review of the most important library methods. This is followed by a broad and thought-provoking set of problems.
A practical, fun approach to computer science fundamentals, as seen through the lens of common programming interview questions.
Jeff Atwood/Co-founder, Stack Overflow and Discourse
- ISBN-101537713949
- ISBN-13978-1537713946
- Publication dateSeptember 15, 2016
- LanguageEnglish
- Dimensions7 x 1 x 10 inches
- Print length441 pages
CREATESPACE products customers bought together

Deals on related products
Customers also bought or read
- Cracking the Coding Interview: 189 Programming Questions and Solutions
Paperback$21.00$21.00Delivery Fri, Feb 20 - Coding Interview Patterns: Nail Your Next Coding Interview
Paperback$40.00$40.00FREE delivery Fri, Feb 20 - Elements of Programming Interviews in Java: The Insiders' Guide
Paperback$37.90$37.90FREE delivery Mar 4 - 6 - The Algorithm Design Manual (Texts in Computer Science)
Hardcover$48.45$48.45FREE delivery Fri, Feb 20 - Fluent Python: Clear, Concise, and Effective Programming
Paperback$43.99$43.99FREE delivery Fri, Feb 20 - Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
Paperback$40.00$40.00FREE delivery Fri, Feb 20 - Introduction to Algorithms, fourth edition#1 Best SellerComputer Algorithms
Hardcover$106.50$106.50FREE delivery Fri, Feb 20 - Effective Python: 125 Specific Ways to Write Better Python (Effective Software Development Series)
Paperback$52.80$52.80FREE delivery Fri, Feb 20 - Inside the Machine Learning Interview: 151 Real Questions from FAANG and How to Answer Them
Paperback$34.79$34.79Delivery Fri, Feb 20 - The Hundred-Page Machine Learning Book (The Hundred-Page Books)
Paperback$37.94$37.94FREE delivery Fri, Feb 20 - Hands-On Data Structures and Algorithms with Python: Store, manipulate, and access data effectively and boost the performance of your applications, 3rd Edition
Paperback$26.99$26.99Delivery Fri, Feb 20 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Fri, Feb 20 - Programming Interviews Exposed: Coding Your Way Through the Interview
Paperback$23.63$23.63Delivery Fri, Feb 20 - Hands-On Large Language Models: Language Understanding and Generation
Paperback$47.69$47.69FREE delivery Fri, Feb 20 - Build a Large Language Model (From Scratch)#1 Best SellerData Processing
Paperback$49.24$49.24FREE delivery Fri, Feb 20 - Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
Paperback$49.50$49.50FREE delivery Fri, Feb 20 - A Common-Sense Guide to Data Structures and Algorithms, Second Edition: Level Up Your Core Programming Skills
Paperback$43.58$43.58FREE delivery Fri, Feb 20 - Design Patterns: Elements of Reusable Object-Oriented Software#1 Best SellerObject-Oriented Design
Hardcover$31.92$31.92Delivery Fri, Feb 20 - The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)#1 Best SellerSoftware Testing
Hardcover$49.89$49.89FREE delivery Fri, Feb 20
Editorial Reviews
Review
Jeff Atwood / Co-founder, Stack Overflow and Discourse
"This book prepares the reader for contemporary software interviews, and also provides a window into how algorithmic techniques translate into the workplace. It emphasizes problems that stem from real-world applications and can be coded up in a reasonable time, and is a wonderful complement to a traditional computer science algorithms and data structures course."
Ashish Goel / Professor, Stanford University
"A wonderful resource for anyone preparing for a modern software engineering interview: work through the entire book, and you'll find the actual interview a breeze. More generally, for algorithms enthusiasts, EPI offers endless hours of entertainment while simultaneously learning neat coding tricks."
Vineet Gupta / Principal Engineer, Google
From the Author
- 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?
From the Back Cover
- The core of EPI is a collection of 300 problems with detailed solutions, including over 150 figures and 300 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 includes 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.
About the Author
All three of us successfully made it through the Google interview process, and went on to work at Google, where, among other things, we interviewed candidates for our teams.
We have complementary backgrounds (large company, startup, academia) and have held multiple roles (tech lead, CTO, consultant, professor), that gives us unparalleled insight into the job market.
In addition to Google, some of the other places we have worked at include Facebook, Uber, Microsoft, IBM, and Qualcomm.
About the authors
We co-developed algorithms and systems that are used by over one billion people everyday. We have extensive experience with interviewing candidates, making hiring decisions, and being interviewed.
Adnan Aziz is a Research Scientist at Facebook. Previously, he was a professor at the Department of Electrical and Computer Engineering at The University of Texas at Austin, where he conducts research and teaches classes in applied algorithms. He received his PhD from The University of California at Berkeley; his undergraduate degree is from the Indian Institute of Technology at Kanpur.
Tsung-Hsien Lee is a Staff Software Engineer at Toyota Research Institute. Previously, he worked at Facebook, Google, and Uber. He received both his MS and undergraduate degrees from National Tsing Hua University. He has a passion for designing and implementing algorithms. He likes to apply algorithms on every aspect of his life.He takes special pride in helping to organize Google Code Jam 2014 and Google Code Jam 2015.
Amit Prakash is a co-founder and CTO of ThoughtSpot, a Silicon Valley startup. Previously, he was a Member of the Technical Staff at Google, where he worked primarily on machine learning problems that arise in the context of online advertising. Before that he worked at Microsoft in the web search team. He received his PhD from The University of Texas at Austin; his undergraduate degree is from the Indian Institute of Technology at Kanpur.
Product details
- Publisher : CreateSpace Independent Publishing Platform
- Publication date : September 15, 2016
- Language : English
- Print length : 441 pages
- ISBN-10 : 1537713949
- ISBN-13 : 978-1537713946
- Item Weight : 1.9 pounds
- Dimensions : 7 x 1 x 10 inches
- Best Sellers Rank: #74,608 in Books (See Top 100 in Books)
- #1 in Genetic Algorithms
- #19 in Computer Programming Languages
- #48 in Python Programming
- Customer Reviews:
About the authors

Adnan Aziz is a research scientist at Facebook. Formerly, he was a professor at the Department of Electrical and Computer Engineering at The University of Texas at Austin, where he conducted research and taught classes in applied algorithms. He won a number of awards for his teaching and research on applied algorithms. He received his PhD from The University of California at Berkeley; his undergraduate degree is from IIT Kanpur. He has worked at Google, Qualcomm, IBM, and several software startups. When not designing algorithms, he plays with his children, Laila, Imran, and Omar.

Amit Prakash is CTO and co-founder of ThoughtSpot Inc. Prior to that he worked at Google and Microsoft in Search and Ads engineering teams. He received his PhD from The University of Texas at Austin; his undergraduate degree is from IIT Kanpur. When he is not improving the quality of ads, he indulges in his passions for puzzles, movies, travel, and adventures with his wife.

Tsung-Hsien Lee is a Staff Software Engineer at Toyota Research Institute working on self-driving cars. Previously, he worked at Facebook, Google, and Uber. He received both his M.S. and undergraduate degrees from National Tsing Hua University. He has a passion for designing and implementing algorithms. He likes to apply algorithms on every aspect of his life. He takes special pride in helping to organize Google Code Jam 2014 and 2015.
Related products with free delivery on eligible orders
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Generated from the text of customer reviewsSelect to learn more
Reviews with images
Horrible physical quality of the book
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on May 21, 2018Format: PaperbackVerified PurchaseAfter finishing my internship at Facebook as a data engineer last summer, I am looking for a book that can help me to prepare for technical interviews involving Python because I want to find a full-time position as a data engineer or data scientist.
Starting last year, I started looking for books and websites from which I could study data structures and algorithms in Python. Unfortunately, the majority of solutions in popular interview preparation books and websites nowadays are written in C++ or Java, such as Cracking the Coding Interview, Leetcode, and GeeksforGeeks.
At the beginning of this year, I finally discovered this book Elements of Programming Interviews in Python. It is best interview preparation book I have encountered so far, for the following reasons:
1. It is written in Python 3.6, which is easier to understand for people who don’t have a computer science (CS) background.
2. It provides tips, popular libraries, and boot camp questions for each data structure and algorithm concept, which can be useful and provide a quick study guide right before your interview.
3. It has an entire section on domain-specific programs (design problems, language questions, object-oriented design, and common tools) to boost your fundamental knowledge in CS.
4. It also has a table that simulates different preparation scenarios (a 3-day hackathon, a 1-week finals cram, a 1-month term project, and a 4-monts algorithms class), and it recommends a subset of problems from different topics for each scenario, so you can plan your preparation accordingly.
5. It provides a detailed analysis for each problem, starting from brute force, to analyzing space and time complexities, to the final optimal solution, so you can practice your thinking process and use it during the real interview.
6. It has an online judge that is similar to Leetcode but with solutions written in Python, so you can practice and refer to the solutions in real-time!
To summarize, if you are like me and don’t have a background in CS, are short of time, and want to get a structured approach and practice your Python programing interview skills online, this is the book you should start with!
Good luck!
- Reviewed in the United States on August 31, 2021Format: PaperbackVerified PurchaseI found this book helpful in brushing up on my knowledge of data structures and algorithms. It also contains useful interview tips for both interviewers and interviewees. It even has some short discussions on variety of other programming-related topics (parallel programming, design patterns, etc.).
The book is organized by topic, with each topic having a set of problems and solutions with clear explanations by the authors.
How does it compare to Leetcode? Well, for one, you can carry this book with you to the beach, which is harder to do with Leetcode. Another thing is that the authors have great career track records. I found their explanations to be of a higher quality than most of the explanations in the "Discuss" section on Leetcode. That said, there is more content on Leetcode (for free) than there is in this book. But quality > quantity, and I think this book was certainly worth the price for me due to its quality and accessibility.
- Reviewed in the United States on June 22, 2021Format: PaperbackVerified PurchaseWhat I like in this book:
- Nice introduction to Python libraries you need to know for each section.
- Good set of problems
What I dislike:
- Coding solutions use a lot of Syntax Sugar and 'Pythonic' short syntax that makes it less understandable. I think as the goal here is to understand the code and algorithms and not necessarily write the most concise and shortest code, it is better to keep it more simple and understandable.
- Print and paper quality is not great.
What I like to see:
a link to the leetcode problem or a similar environment that can write the solutions in code and evaluate it by running test cases.
- Reviewed in the United States on April 23, 2018Format: PaperbackVerified PurchaseThis is by far the best resource out there for someone who's interviewing in Python. There's a large variety of interesting questions, and the book includes challenging variants on many of those questions. These variants require even more creative algorithmic thinking.
One of the biggest advantages of this book is that it's specifically geared towards Python. The Python solutions in this book are clean and well-thought out, and they habitualize good Python practices. It's much more effective than picking up an interview preparation book that's written in another programming language, and trying to port all the code over yourself.
The authors also give some serious consideration to space complexity, and there are some really clever solutions in the book that aren't just time-efficient, but space-efficient as well.
The second part of this book is the Honors Class section, which provides harder problems to solve once you're comfortable with the preceding material. It's roughly 60 pages of significantly harder questions/solutions that are meant to solidify your problem solving skills.
I think the biggest strength of this book is the EPI Judge. It's a Git repository that you can clone, and gives you a playground to test out your own solutions to the problems listed in the book. It will then run your code against a correct solution across many test cases, and let you know if your code passes validation.
I can't understate how useful that is. Especially for problems involving graphs and trees, setting up your own data structures and test cases can be an incredibly time-consuming process. If you go through this book and solve the problems with EPI Judge, you will be a much stronger interviewing candidate.
UPDATE: Received 4 job offers from 6 on-sites, started at Google in October 2018.
Top reviews from other countries
CooperReviewed in Japan on April 13, 20195.0 out of 5 stars Excellent, dense, great for stepping up to the next level.
Format: PaperbackVerified PurchaseVery dense and full of good practice problems for all kinds of data structures and algorithms. The author gives various levels of answers from simple brute force ways to more complicated, clever solutions to common problems.
AshminjaysonReviewed in India on September 6, 20245.0 out of 5 stars Must have when preparing for coding interviews.
Format: PaperbackVerified PurchaseA definite must have to improve your problem solving and coding skills.
-
DouglasReviewed in Brazil on January 26, 20233.0 out of 5 stars Bom
Format: PaperbackVerified PurchaseO livro tem inúmeros problemas com resolução em python, e também dá boas dicas para a entrevista.
Porém a letra é pequena e as explicações não são muito didáticas se você não estiver familiarizado com as questões.
Acho uma boa para acompanhar as resoluções em vídeo a partir de outra fonte, ou revisar como banco de questões se vc já tem mais experiência.
Andrew LuoReviewed in Canada on November 1, 20245.0 out of 5 stars A must-read for clear thinking
Format: PaperbackVerified PurchaseBefore this book, I looked at a bunch of coding resources. I tried a lot: Neetcode's list of questions, Leetcode, youtube channels, big lists on Github, textbooks (Knuth, Tamassia). The issue with textbooks, of course, is they're not applied enough, so you easily forget everything you read. And some issues with online resources is I find that they a) do not have consistently high quality in their solutions/explanations and b) come up with groupings for questions like "sliding window" and "two pointers" that don't fully make sense to me. Often, these resources are by people whose eloquence and marketting match or outpace their technical qualifications.
This book is basically a lifetime subscription to a very well curated Leetcode. The chapters are organized by core concepts in applied CS. They not only are relevant for interviews, but serve as great intuition for how various algorithms that run the world are implemented. The answers are of consistently high quality in both coding and explanation. No more questioning "why does that algorithm work?" - the authors use simple but satisfying mathematical reasoning to back their answers. The accompanying EPIJudge Github repo, which has templates and automated testing for almost every problem in the book, gives the book the same dopamine hits as Leetcode.
I'm thankful for this book. I finally understand the solution to the buy/sell stock problem. And its elegant and memorable solution to the knapsack problem saved me in the final round of a recent Google interview. This book covers good ground!
-
victor m.Reviewed in Mexico on October 29, 20225.0 out of 5 stars Un libro desafiante.
Format: PaperbackVerified PurchaseEstoy disfrutando mucho este libro, pero... yo ya tengo experiencia en estos temas. Este libro al igual que el otro cracking the interview requieren conocimientos previos, pero este libro es la mejor compra.


















