Goal: Finish JavaScript (all 43 topics!) and start stack/queue data structures. This is a big milestone — celebrate it.
Topics
| Day | Focus | Topics |
|---|---|---|
| Mon | JS Modules & Modern | Modules · Optional Chaining & Nullish Coalescing · Symbols |
| Tue | JS Metaprogramming | Proxy & Reflect · Output-Based Questions |
| Wed | JS Patterns & Polyfills | Polyfills · Design Patterns |
| Thu | DSA Stacks | Stacks · Monotonic Stack · Queues & Deques |
| Fri | DSA Heaps & DBMS | Priority Queues & Heaps · Database Migrations |
Key Concepts
- ES modules (
import/export) vs CommonJS (require/module.exports) — know the differences and when each is used Proxyfor metaprogramming — intercept property access, validation, logging, and more- Polyfill writing pattern: check if the method exists, define it on the prototype if not
- Stack LIFO pattern — used in parsing, backtracking, undo systems, and browser history
- Monotonic stack for “next greater element” type problems — a pattern that shows up a lot
- Heap (priority queue) for top-K problems, merge K sorted lists, median finding
- Database migrations as version control for your schema — up/down, idempotent, safe rollbacks
Practice
- Write polyfills for
Promise.allandArray.prototype.flat— understand every edge case - Implement a min-heap with
insert,extractMin, andpeekoperations - Solve “next greater element” using a monotonic stack
- Go through 5 output-based JS questions and predict the answer before running them
~12 topics · ~2 hrs/day · Focus: read the linked notes, then code each concept