You are going to stretch your Javascript knowledge and make you more confident with one of the most popular programming languages in the world π!
Many of the concepts you will cover you may be familiar with but familiarity !== understanding.
That leads us to our philosophy on learning:
We have laid out the most common concepts that confuse JS developers. Here's how we suggest you tackle this material.
- Watch the videos under each sections
README.md
- Read any related articles that are linked
- Everyone learns differently - feel free to look up these concepts using the medium you prefer to round out your knowledge
- Each module has broken unit tests... you need to fix them with the correct code
- Often times, the solution will be in the video in the
README.md
- DO NOT simply copy the answer from there! You will learn nothing - For the love of Bob, please do the
Your Turn
sections in eachREADME.md
- these will help you really retain the information!
We know that getting your dream job as a software engineer or excelling in your current role requires a strong technical foundation.
- Fork this repo OR open in Code Spaces with Git Pod
- In your terminal run
npm install
- To run tests - first unskip the tests in the file you are working on by removing all
skip
s. Then runnpm test
. To test a specific file:npm test path/to/file.test.js
- Feel free to post your solution video in a Slack channel so others can learn from your work. If you post on LinkedIn or Twitter, tag us!
π₯ https://www.loom.com/share/7a1fd8ca234645538afd546246d13ebe
Don't check out this branch unless you really need to:
git checkout secret_solutions
Here's the order I suggest you approach this material but feel free to jump around and please git pull
every so often to get the most up to date material.
- Prototypes
- Bind, Call, Apply
- Closure
- Map, Filter, Reduce
- Generators
- Async
- Classes
- Event Handling (Snake Game)
- Design Patterns
- Lodash Replica-Lite
- Functional JS
- Sorting and Searching Algos
- Trees and tries
- Linked Lists
- Graphs
- Stacks and Queues
- Recursion in JS
- Sliding Window
- Frequency Counter