Welcome to the Women Who Code SF Algorithms and Whiteboarding Interview Prep repo! As a chapter of Women Who Code, our mission is to inspire women to excel in technology careers. Our community is open to all who support our mission. Maintainers are dedicated to ensuring that this repo stays a safe and inclusive space. Please see the Women Who Code Code of Conduct for more information.
You're starting at the right place! This file contains general resources and links to pages on specific topics. If you're looking for code examples, take a look at the code examples folder.
We are looking for your favorite resources and new problem sets, as well as code examples in any language. If you've never contributed to open-source before, let this be your first contribution! Here's a step by step reference to contributing.
All of our documentation is in Markdown, and most of the issues labeled 'good first issue' involves editing or adding content in Markdown. Here is a good Markdown cheatsheet: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Our next set of Zoom presentations and practice sessions (through the end of 2020) are on Arrays and Hashmaps. We are looking for help curating good resources and problems for these event. If you are currently interviewing or have recently finished a stage of interview prep, please consider sharing your favorite videos, articles, and problems on Arrays and Hashmaps! Here is the current state of our Arrays page. We don't have a Hashmaps page, if you would like to start it up, please consider taking on this issue.
If you are a more advanced coder, we would welcome your help reviewing PRs of code examples. The purpose of the code examples is to provide a best-practices, model solution for a problem or data structure. Currently, most of the outstanding PRs are in C++ and Python.
These are a list of free online textbooks, video lectures, and visualizations. If you are looking for comprehensive, structured curriculums to guide your study, these are places to start.
- Grokking Algorithms, Aditya Y. Bhargava: A guide to a few carefully curated algorithms, with helpful drawings. Code examples in Python.
- Python DS, Brad Miller and David Ranum: Data Structures textbook in Python.
- Open Data Structures, Pat Morin: Data structures textbook in pseudocode.
- Think Data Structures, Allen B. Downey: Data structures textbook in Java.
- Think Python, Allen B. Downey: Intro programming textbook in Python, with chapters relevant to algorithms and data structures.
- Algorithms, Jeff Erickson: An Algorithms textbook by a professor at University of Illinois, Urbana-Champaign.
-
- Recommended: Lecture 3 - Algorithms and Lecture 5 - Data Structures
-
Strong programming foundations from mycodeschool, YouTube Channel.
- Coursera, Data Structures by UCSD
- VisuAlgo: The tag line for this resource is "visualizing data structures and algorithms through animation". This is an incredible resource for any level of coder. Animations step through processes, and the explanations link to related topics, helping you synthesize your knowledge and build on previous undertstanding. The text is small and dense but it is well worth reading. Make sure to create an account to tailor your preferences and create a training plan.
- Wikiversity Data Structures and Algorithms: Provides an overview of the Data Structure and Algorithms conceptual landscape. Recommended for its definitions of technical terms.
- A table of leetcode problems that you can filter by pattern, by Sean Prashad
- Curated list of top 75 leetcode questions organized by topic
- List of Top 20 DP Interview Questions on Geeks for Geeks
- Arrays & Strings
- Linked Lists
- Trees and Graphs
- Sorting and Searching
- Recursion
- Backtracking
- Dynamic Programming
- Design
- Hashmaps
- Big-O