Node.js / TypeScript
Weekly Goalsβ
- DSA
- Intensively practice:
- Arrays & strings.
- Hash maps & sets.
- Two pointers & sliding window.
- Build a pattern-based cheat sheet.
- Intensively practice:
- Backend/Design
- Lightly maintain system design/machine coding familiarity (small daily touch).
- Interview Skills
- Practice timed problem solving and communication.
Use with:
Weekly Overview Tableβ
| Day | Focus |
|---|---|
| 1 | Arrays & strings β basics & frequency counting |
| 2 | Arrays & strings β two pointers |
| 3 | Sliding window β fixed & variable size |
| 4 | Hash maps & sets β lookup, grouping |
| 5 | Mixed practice (patterns) |
| 6 | Timed mixed set (3β4 problems) |
| 7 | Weekly review & pattern cheat sheet |
Day 1 β Arrays & Strings: Basics & Frequency Countingβ
4-Hour Planβ
-
Block 1 (Warm-up β 30 min)
- 2 easy problems to get comfortable (e.g., reverse array, check palindrome).
-
Block 2 (Core Practice β 90 min)
- 3 medium problems focusing on:
- Frequency counting.
- Checking anagrams.
- Character/word counts.
- 3 medium problems focusing on:
-
Block 3 (Review β 45β60 min)
- For each problem:
- Document pattern and key insight.
- For each problem:
-
Block 4 (Light Backend β 30β45 min)
- Skim notes from system design or machine coding (10β15 min).
6-Hour Planβ
- Add:
- Extra problems (60 min):
- 1β2 more mediums or a hard if you are comfortable.
- Extra problems (60 min):
Day 2 β Arrays & Strings: Two Pointersβ
4-Hour Planβ
-
Block 1 (Concepts β 30β45 min)
- Review two-pointer technique:
- Left/right pointers on sorted arrays.
- Partitioning and removing elements in-place.
- Review two-pointer technique:
-
Block 2 (Practice β 90 min)
- 3 medium two-pointer problems.
-
Block 3 (Review β 45β60 min)
- Capture the invariant for each problem:
- What condition are pointers maintaining?
- Capture the invariant for each problem:
-
Block 4 (Light Backend β 30 min)
- Skim a system design note or revisit one machine coding design.
6-Hour Planβ
- Add:
- Timed problem (30 min):
- Solve one medium problem under 30 minutes and analyze mistakes.
- Timed problem (30 min):
Day 3 β Sliding Window: Fixed & Variable Sizeβ
4-Hour Planβ
-
Block 1 (Concepts β 30β45 min)
- Fixed-size vs variable-size windows.
- Maintaining sum or counts within the window.
-
Block 2 (Practice β 90 min)
- 3 sliding window problems:
- 1 fixed-size (e.g., max sum subarray of size k).
- 2 variable-size (e.g., longest substring with K distinct chars).
- 3 sliding window problems:
-
Block 3 (Review β 45β60 min)
- Document sliding window template and when it applies.
-
Block 4 (Light Backend β 30 min)
- 10β15 min reading of rate limiter/caching notes.
6-Hour Planβ
- Add:
- Additional sliding window problems (60 min).
Day 4 β Hash Maps & Sets: Lookup & Groupingβ
4-Hour Planβ
-
Block 1 (Warm-up β 30 min)
- 1 easy map/set problem (e.g., check duplicates).
-
Block 2 (Practice β 90 min)
- 3 medium problems focusing on:
- Grouping elements (e.g., group anagrams).
- Counting frequencies.
- Map-based DP-like patterns (simple).
- 3 medium problems focusing on:
-
Block 3 (Review β 45β60 min)
- For each problem, log:
- How the map/set reduced complexity.
- For each problem, log:
-
Block 4 (Light Backend β 30 min)
- Quick review of DB indexing or caching.
6-Hour Planβ
- Add:
- Extra map/set problem (30β45 min):
- Slightly more challenging one.
- Extra map/set problem (30β45 min):
Day 5 β Mixed Pattern Practiceβ
4-Hour Planβ
-
Block 1 (Mixed Set β 90 min)
- 3β4 problems:
- 1 array/string two-pointer.
- 1 sliding window.
- 1 hash map/set.
- 3β4 problems:
-
Block 2 (Timed Problem β 30β45 min)
- 1 problem under 30 minutes; treat as interview-style.
-
Block 3 (Review β 45β60 min)
- Note which pattern you recognized quickly vs slowly.
-
Block 4 (Light Backend β 30 min)
- 10β15 min: skim interview-prep-playbook.md coding tips.
6-Hour Planβ
- Add:
- One more timed problem (30 min) and brief self-review.
Day 6 β Timed Mixed Set (3β4 Problems)β
4-Hour Planβ
-
Block 1 (Timed Set β 120 min)
- Solve a set of 3 medium problems:
- 1 array/string.
- 1 sliding window.
- 1 hash map/two-pointer.
- Time yourself ~35β40 min per problem.
- Solve a set of 3 medium problems:
-
Block 2 (Review β 60 min)
- For each problem:
- Check for bugs, complexity, and clarity.
- For each problem:
-
Block 3 (Light Backend β 30β45 min)
- Rehearse explaining one problemβs solution out loud.
6-Hour Planβ
- Add:
- Fourth problem (30β45 min) if energy allows.
Day 7 β Weekly Review & Pattern Cheat Sheetβ
4-Hour Planβ
-
Block 1 (Review β 60β75 min)
- Count how many problems solved this week by category.
- Update dsa-backend-plan.md personal notes.
-
Block 2 (Pattern Cheat Sheet β 60β75 min)
- Create:
- Sections for arrays/strings, two pointers, sliding window, hash maps.
- Include template snippets and bullet points per pattern.
- Create:
-
Block 3 (Planning β 30β45 min)
- Skim week-15 (Trees/Graphs/Heaps focus).
6-Hour Planβ
- Add:
- Short mock (45β60 min):
- 2 problems back-to-back, focusing on using the cheat sheet patterns quickly.
- Short mock (45β60 min):