Skip to content

Roadmap

Daily Commitment: 1.5-2 hours

Month 1: Core Data Structures & Algorithms Refresh

Section titled “Month 1: Core Data Structures & Algorithms Refresh”

Week 1-2: Arrays, Strings, Hash Tables

  • Start with LeetCode Easy problems (2-3 daily)
  • Focus on two-pointer and sliding window patterns
  • Target: Complete 20-25 problems
  • Resource: NeetCode.io videos for pattern explanations

Week 3-4: Sorting, Searching, Recursion

  • Master binary search variations
  • Understand quicksort/mergesort implementation
  • Practice basic recursion patterns
  • Target: 20-25 problems (mix of easy/medium)

Week 5-6: Trees and Binary Search Trees

  • Tree traversals (both recursive and iterative)
  • BST operations
  • Target: 25 problems focusing on tree patterns

Week 7-8: Graphs Introduction & Backend Basics

  • BFS/DFS implementations
  • Basic graph representations
  • Start backend learning: Database fundamentals, API design
  • Target: 20 graph problems + 30 min daily backend study

Checkpoint: You should have ~90 problems solved and feel comfortable with medium problems

Phase 2: Advanced Patterns & Full-Stack Skills (Months 3-4)

Section titled “Phase 2: Advanced Patterns & Full-Stack Skills (Months 3-4)”

Daily Commitment: 2-2.5 hours

Month 3: Dynamic Programming & Backend Systems

Section titled “Month 3: Dynamic Programming & Backend Systems”

Week 9-10: DP Fundamentals

  • Start with classic problems (fibonacci, coin change)
  • Build pattern recognition for DP
  • Target: 2 DP problems daily
  • Backend focus: SQL vs NoSQL, caching strategies

Week 11-12: Advanced Data Structures

  • Heaps/Priority Queues
  • Tries
  • Union-Find
  • Backend focus: Microservices, message queues
  • Target: 25 problems + complete a small full-stack project

Week 13-14: Distributed Systems Basics

  • Study CAP theorem, consistency models
  • Load balancing, sharding strategies
  • Start “Grokking the System Design Interview”
  • Practice: 1 system design problem every 2 days

Week 15-16: Architecture Patterns

  • Microservices vs monoliths
  • Event-driven architecture
  • API design (REST, GraphQL, gRPC)
  • Frontend-specific: CDNs, browser performance
  • Target: Complete 8-10 system design problems

Checkpoint: 150+ problems solved, basic system design understanding, backend fundamentals solid

Daily Commitment: 2.5-3 hours

Week 17-18: Full-Stack System Design

  • Design complete applications (e.g., Twitter, Uber)
  • Focus on frontend-backend integration points
  • Component architecture + API design
  • Practice: 1 full system design daily
  • Resource: System Design Primer (GitHub)

Week 19-20: Frontend-Specific System Design

  • Performance optimization (lazy loading, code splitting)
  • State management at scale
  • Real-time features (WebSockets, polling strategies)
  • Accessibility and internationalization
  • Target: 15 total system designs completed

Start scheduling interviews at end of Month 5 for 3-4 weeks out

Daily Commitment: 2-3 hours

Week 21-22: Mock Interview Intensive

  • Schedule 2-3 mock interviews per week
  • Use Pramp for algorithms, Interviewing.io for system design
  • Record yourself and review communication
  • Polish behavioral stories (prepare 10-12 STAR examples)

Week 23-24: Company-Specific Polish

  • LeetCode Premium: Filter by target companies
  • Study company engineering blogs
  • Practice company-specific patterns
  • Final mock interviews with experienced engineers
  • Mental preparation and logistics

Monday-Friday (1.5-2.5 hours)

  • 6:30-7:30 AM: 1-2 new problems
  • Lunch (30 min): Review solutions, watch explanations
  • 8:00-9:30 PM: System design or backend study

Saturday (4-5 hours)

  • Morning: 3-hour problem-solving session
  • Afternoon: System design practice
  • Evening: Behavioral story writing

Sunday (3-4 hours)

  • Mock interview (after Month 2)
  • Week review and planning
  • Catch-up on weak areas

Month 1-2:

  • ✓ 90-100 problems solved
  • ✓ Can solve easy in 15 min, medium in 25 min
  • ✓ Understand basic backend concepts

Month 3-4:

  • ✓ 150-175 total problems
  • ✓ Comfortable with DP patterns
  • ✓ 10+ system designs attempted
  • ✓ Built 1-2 full-stack projects

Month 5:

  • ✓ 200+ problems total
  • ✓ 20+ system designs
  • ✓ Can design complex systems end-to-end

Month 6:

  • ✓ 5+ mock interviews completed
  • ✓ 10+ behavioral stories polished
  • ✓ Company-specific preparation done

Essential Purchases:

  • LeetCode Premium: $35/month × 6 = $210
  • Grokking System Design: $79
  • Educative.io (1 month for final prep): $59
  • 4-5 professional mocks: $800-1000
  • Total: ~$1,150-1,350

Free Resources:

  • NeetCode.io for video explanations
  • System Design Primer (GitHub)
  • Tech Interview Handbook
  • Frontend Masters (if you have access)
  1. Never skip mock interviews - Schedule your first one at end of Month 2
  2. Track everything in a spreadsheet: problems solved, time taken, patterns learned
  3. Frontend advantage: Emphasize your ability to design full user experiences
  4. The 20-minute rule: If stuck on a problem for 20 minutes, look at the solution
  5. Behavioral prep starts Month 4 - Don’t leave it until the end
  • If ahead of schedule: Add more system design practice (this differentiates L5 vs L4)
  • If behind: Reduce target to 150 total problems, focus on Blind 75 + system design
  • If struggling with backend: Extend by 1 month, spend Month 1 purely on backend fundamentals