Algorithms and whiteboarding interview prep for the WWCSF community

WomenWhoCode, updated πŸ•₯ 2023-01-20 11:58:20

wwcsf-algos

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.

0. How to use this repo

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.

1. How to contribute

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.

Contributing to our content pages

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

Contributing to the code examples

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.


2. General Study Resources

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.

2a. Free Online Textbooks

  1. Grokking Algorithms, Aditya Y. Bhargava: A guide to a few carefully curated algorithms, with helpful drawings. Code examples in Python.
  2. Python DS, Brad Miller and David Ranum: Data Structures textbook in Python.
  3. Open Data Structures, Pat Morin: Data structures textbook in pseudocode.
  4. Think Data Structures, Allen B. Downey: Data structures textbook in Java.
  5. Think Python, Allen B. Downey: Intro programming textbook in Python, with chapters relevant to algorithms and data structures.
  6. Algorithms, Jeff Erickson: An Algorithms textbook by a professor at University of Illinois, Urbana-Champaign.

2b. Video Lectures

  1. Harvard CS50 Lectures.
  2. Recommended: Lecture 3 - Algorithms and Lecture 5 - Data Structures
  3. Strong programming foundations from mycodeschool, YouTube Channel.

2c. Free Courses

  1. Coursera, Data Structures by UCSD
  2. 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.
  3. Scaler Topics: A curated interactive space for aspiring programmers to learn and master their coding skills.

2d. Articles

  1. Wikiversity Data Structures and Algorithms: Provides an overview of the Data Structure and Algorithms conceptual landscape. Recommended for its definitions of technical terms.

2e. Problem Sets

  1. A table of leetcode problems that you can filter by pattern, by Sean Prashad
  2. Curated list of top 75 leetcode questions organized by topic
  3. List of Top 20 DP Interview Questions on Geeks for Geeks

3. Resources and problem sets, by category

  1. Arrays & Strings
  2. Linked Lists
  3. Trees and Graphs
  4. Sorting and Searching
  5. Recursion
  6. Backtracking
  7. Dynamic Programming
  8. Design
  9. Hashmaps
  10. Big-O
  11. Stacks and Queues

4. Resources for other topics

  1. Whiteboarding Tips
  2. Big - O Complexity Analysis
  3. Problem Sets for Beginners

Issues

updated the repos.

opened on 2023-01-20 11:58:20 by letscode-17

I have added a new resource for technical interview questions to this repos. It includes a comprehensive list of questions related to software engineering and programming, so learners can easily find the topics that they need to prepare for their upcoming interview.

Added few resources to this repos

opened on 2022-08-23 04:01:08 by SaravananDevaraj7 None

solved issue #76

opened on 2021-09-26 12:58:13 by sreyan-ghosh

added TwoSum and its solution to the topics/sorting-searching.md

Use the PR as an example maybe. πŸ˜‚ Close if not required. Cheers.

Add TwoSum leetcode problem to topics/SortingSearching.md

opened on 2021-09-24 15:58:44 by elaguerta

This is issue is reserved for our Hacktoberfest demo.

We only have 2 Easy problems on our Sorting and Searching page. Please add this one to the Problems/Easy table in the file topics/sorting-searching.md

https://leetcode.com/problems/two-sum/

Please note that the recommended Solution is locked behind a paywall. Instead, provide a link to the solution discussion: https://leetcode.com/problems/two-sum/discuss/?currentPage=1&orderBy=hot&query=

Delete note about Arrays page from README.

opened on 2021-09-24 15:54:17 by elaguerta

This issue is reserved for the WWCode Hacktoberfest Demo!

This text block is no longer relevant. Please delete it from the README:

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.

Added four Java solutions into the Java folder inside LinkedList code…

opened on 2021-09-09 12:29:34 by ktSuW

I have created a java folder under LinkedList inside code-examples folder and have added the following four files:

      • ReverseLinkedList_Recursive.java
      • RecerseLinkedList_Iterative.java
      • CycleLinkedList.java
      • DeleteNode.java
Women Who Code

WWCode is a global 501(c)(3) non-profit dedicated to inspiring women to excel in technology careers.

GitHub Repository