/interviewing-python-book

A collection of most frequent coding problems and their solutions

Primary LanguagePython

Interviewing for Python Engineers

A set of 50 most frequent interview problems, solutions and explanations.

This is a collection of questions commonly asked during coding interviews.

There are many websites, articles and training environments on the internet where one can find a wide variety of similar algorithmic problems. However, sometimes there are too many to choose from and it is impossible to solve everything in the short preparation time before the interview. At other times the questions are either too simple or too difficult or simply not the kind of problems one can expect an interviewer to ask. And only rarely are there resources that offer clear explanations about how a particular solution was derived together will clean concise code. This short book aims to become one of these few high-quality resources.

The set of presented problems is aimed to be both a self-study guide and a quick reference for experienced developers with limited time for interview preparation. The book assumes intermediate knowledge of Python and does not cover the basics of the language. While it is aimed at programmers proficient with Python, the chosen problems are very general and can be used for preparation by other developers who can read basic Python and translate the code to their preferred programming language.

The book can also be used by beginners who are just learning to program. They may know Python's syntax but are lost when it comes to solving algorithmic problems. Hopefully, this can be both a challenging and an understandable resource in their learning.

The main effort is to make the book understandable. That is the reason for (sometimes) long explanations and multiple solutions to the same problem. Despite this, the author is aware that often no amount of explanation can produce to necessary insight into the problem. In this case, pen, paper, drawings and going through the problem manually may help. And if not, I suggest putting the problem aside for some time and coming back to it later. We've all been there, it is not easy, but the 'aha!'-feeling when the mind finally grasps the solution is worth it.

Creative Commons License
Interviewing for Python Engineers is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.