

> The authors mention that the code solutions are "Pythonic". And sometimes, the presented solution is completely unintuitive or badly styled - like using global variables instead of passing parameters. In addition, the explanations in many sections are just confusingly worded. I sanity-checked with a friend who does interviews, and he said he would DOCK points for style if a candidate tried to pull something like that. For example, their definition of a BST search is a *one-line* nested ternary conditional (chapter 14, page 202). The authors often use wonky Python tricks at the cost of readability and simplicity. This is followed by a broad and thought-provoking set of problems.Saw this from some Amazon reviews of the Python version of EPI: > The coding style in many cases is just. Each chapter stars with a brief introduction, a case study, top tips, and a review of the most important library methods. We also provide a summary of data structures, algorithms, and problem solving patterns.Ĭoding problems are presented through a series of chapters on basic and advanced data structures, searching, sorting, algorithm design principles, and concurrency. 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. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants. The problems are representative of interview questions asked at leading software companies. The core of EPI is a collection of over 250 problems with detailed solutions.

If so, you need to read Elements of Programming Interviews (EPI).ĮPI is your comprehensive guide to interviewing for software development roles. Wished you could study real-world computing problems?

Struggled with an interview problem thatcould have been solved in 15 minutes? Wanted to work at an exciting futuristic company?
