Elements of Programming Interviews in Python: The Insiders' Guide

This is the Python version of our book. See the website for links to the C++ and Java version. 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).

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


Buy On Amazon »
Elements of Programming Interviews: The Insiders' Guide

This is the C++ version of our book. See the website for links to the Java version, as well as to a version that uses larger fon ...

Details »
Elements of Programming Interviews in Java: The Insiders' Guide

This is a larger-format version of Elements of Programming Interviews in Java. Specifically, the font size is larger, and the pa ...

Details »
Problem Solving with Algorithms and Data Structures Using Python SECOND EDITION

THIS TEXTBOOK is about computer science. It is also about Python. However, there is much more. The study of algorithms and data ...

Details »
The Algorithm Design Manual

This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algo ...

Details »
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, c ...

Details »
Daily Coding Problem: Get exceptionally good at coding interviews by solving one problem every day

Daily Coding Problem contains a wide variety of questions inspired by real programming interviews, with in-depth solutions that ...

Details »
The Algorithm Design Manual

Expanding on the highly successful formula of the first edition, this book now serves as the primary textbook of choice for any ...

Details »
Programming Interviews Exposed: Coding Your Way Through the Interview

Ace technical interviews with smart preparation Programming Interviews Exposed is the programmer’s ideal first choice for tech ...

Details »
Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures (Volume 2)

Accessible, no-nonsense, and programming language-agnostic introduction to algorithms. Includes solutions to all quizzes and sel ...

Details »
Algorithms Illuminated (Part 3): Greedy Algorithms and Dynamic Programming

Accessible, no-nonsense, and programming language-agnostic introduction to algorithms. Includes hints or solutions to all quizze ...

Details »