JavaScript engineering patterns
Build a cache, order dependent jobs, retain async outcomes and reason about sliding windows.
Prerequisite: JavaScript foundations · 115 minutes of guided study
4 focused engineering lessons with executable tests.
Start first lesson →What you’ll be able to do
- Maintain a moving invariant instead of rebuilding every substring.
How to study this course
Follow the numbered modules. Read the example, explain why it works, attempt the exercise, then compare your result with the supplied checks.
Setup: A modern browser. JavaScript, TypeScript, Python and SQLite exercises run here; project workshops state their additional setup.
Times estimate guided reading and practice. Projects and revision can take longer.
Course syllabus · 4 lessons
Engineering practice
- Project · A bounded LRU cache35 min · Browser exercise →
Keep recency and capacity as explicit invariants.
- Order jobs and detect dependency cycles30 min · Browser exercise →
A topological order exists only for a directed acyclic graph.
- Preserve outcomes across asynchronous failures25 min · Browser exercise →
Choose a failure policy before choosing a Promise combinator.
- Find the longest unique-character window25 min · Browser exercise →
Maintain a moving invariant instead of rebuilding every substring.