Goal: Learn how JavaScript interacts with the browser (events, DOM, storage) and master database schema design — both are staples of product company interviews.
Topics
| Day | Focus | Topics |
|---|---|---|
| Mon | JS Iterators & Collections | Iterators: for…in vs for…of · Map & Set |
| Tue | JS Events | Events · Event Bindings · Event Bubbling & Capturing |
| Wed | JS DOM | Event Delegation · DOM Manipulation · Web Storage & Cookies |
| Thu | DBMS Schema Basics | ER Diagrams · Normalization · Denormalization |
| Fri | DBMS Schema Advanced | Relationships & Keys · Schema Design Patterns |
Key Concepts
- Event bubbling vs capturing flow — events bubble up by default, capturing goes top-down
- Event delegation: attach one listener to a parent instead of N listeners to children (huge for dynamic elements)
Mapvs plain objects:Mappreserves insertion order, allows any key type, has.sizelocalStoragevssessionStoragevs cookies — storage limits, persistence, and when to use each- Normalization forms (1NF through BCNF) — eliminating redundancy step by step
- When denormalization is actually worth it (read-heavy workloads, reporting tables)
- ER diagram notation and how to translate it to actual tables
Practice
- Build a todo list using only DOM manipulation + event delegation (no framework, just vanilla JS)
- Design a normalized schema for a blog platform (users, posts, comments, tags) — go through 1NF to 3NF
- Compare your normalized schema with a denormalized version — list the tradeoffs
~13 topics · ~1.5 hrs/day · Focus: read the linked notes, then code each concept