“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
“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
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).
See all Editorial Reviews
This is a larger-format version of Elements of Programming Interviews in Java. Specifically, the font size is larger, and the page size is 7″x10″ (the regular format uses 6″x9″). The content is identical. This is the Java version of our book. See our website for links to the C++ 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