As a backend project, donnemartin/interactive-coding-challenges has picked up 31.9k stars on GitHub (Python). 120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
*The notebooks (.ipynb) read/write the associated unit test (.py) file.
Notebook Installation
Zero Install
This README contains links to Binder , which hosts dynamic notebooks of the repo's contents online with no installation needed.
Jupyter Notebook
Run:
pip install jupyter
For detailed instructions, scripts, and tools to more optimally set up your development environment, check out the dev-setup repo.
For more details on notebook installation, follow the directions here.
More information on IPython/Jupyter Notebooks can be found here.
Running Challenges
Notebooks
Challenges are provided in the form of IPython/Jupyter Notebooks and have been tested with Python 2.7 and Python 3.x.
If you need to install IPython/Jupyter Notebook, see the Notebook Installation section.
This README contains links to nbviewer, which hosts static notebooks of the repo's contents
To interact with or to modify elements within the dynamic notebooks, refer to the instructions below
Run the notebook of challenges:
$ git clone https://github.com/donnemartin/interactive-coding-challenges.git
$ cd interactive-coding-challenges
$ jupyter notebook
This will launch your web browser with the list of challenge categories:
Navigate to the Challenge Notebook you wish to solve
Run the cells within the challenge notebook (Cell->Run All)
This will result in an expected unit test error
Solve the challenge and verify it passes the unit test
Check out the accompanying Solution Notebook for further discussion
To debug your solution with pdb, refer to the following ticket.
Note: If your solution is different from those listed in the Solution Notebook, consider submitting a pull request so others can benefit from your work. Review the Contributing Guidelines for details.
Future Development
Challenges, solutions, and unit tests are presented in the form of IPython/Jupyter Notebooks.
Notebooks currently contain mostly Python solutions (tested on both Python 2.7 and Python 3.x), but can be extended to include 40+ supported languages
Repo will be continually updated with new solutions and challenges
Contributions are welcome!
Contributing
Contributions are welcome!
Review the Contributing Guidelines for details on how to:
Submit issues
Add solutions to existing challenges
Add new challenges
Credits
Resources
Cracking the Coding Interview | GitHub Solutions
Programming Interviews Exposed
The Algorithm Design Manual | Solutions
CareerCup
Quora
HackerRank
LeetCode
Images
Arrays and Strings: nltk.org
Linked Lists: wikipedia.org
Stacks: wikipedia.org
Queues: wikipedia.org
Sorting: wikipedia.org
Recursion and Dynamic Programming: wikipedia.org
Graphs and Trees: wikipedia.org
Mathematics and Probability: wikipedia.org
Bit Manipulation: wikipedia.org
Online Judges: topcoder.com
Contact Info
Feel free to contact me to discuss any issues, questions, or comments.
My contact info can be found on my GitHub page.
License
I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer (Facebook).
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Does donnemartin/interactive-coding-challenges have a project website?
No homepage URL was recorded for donnemartin/interactive-coding-challenges in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Is donnemartin/interactive-coding-challenges open source?
TopGit's metadata for donnemartin/interactive-coding-challenges does not record a license. Most public repositories on GitHub ARE open source, but the exact terms vary — verify by opening the LICENSE file directly.
What else is in the Backend space?
donnemartin/interactive-coding-challenges is tracked by TopGit under the Backend category, alongside 10 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is donnemartin/interactive-coding-challenges?
donnemartin/interactive-coding-challenges (donnemartin/interactive-coding-challenges) is a Python project on GitHub. From the project's own README: 120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.
Where do I read more about donnemartin/interactive-coding-challenges?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/donnemartin/interactive-coding-challenges is the definitive source.
Why is donnemartin/interactive-coding-challenges categorized under Backend?
TopGit places donnemartin/interactive-coding-challenges in the Backend category based on its GitHub topics and description (tagged: "algorithm", "coding", "competitive-programming"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Still deciding about interactive-coding-challenges?
One click hands the question to an AI along with this page — see what it says about interactive-coding-challenges.