4-Week Interview Prep Roadmap
A structured, week-by-week study plan to go from zero to interview-ready. Designed for engineers targeting FAANG and top tech companies.
PREREQUISITES
Basic programming in at least one language (Java, Python, or C++). Familiarity with variables, loops, functions, and basic OOP. If you're rusty, spend 2-3 days refreshing before starting.
Week 1: Foundations
Arrays & Strings
Two Sum, Best Time to Buy Stock, Valid Anagram, Group Anagrams
Hash Maps & Sets
Contains Duplicate, Two Sum, Intersection of Two Arrays
Two Pointers
Valid Palindrome, Container With Most Water, 3Sum
Linked Lists
Reverse Linked List, Merge Two Sorted Lists, Linked List Cycle
Daily goal: 3-4 Easy problems, 1-2 Medium problems
Week 2: Core Patterns
Sliding Window
Longest Substring Without Repeating, Minimum Window Substring
Binary Search
Search in Rotated Sorted Array, Find Minimum in Rotated Array
Stacks & Queues
Valid Parentheses, Daily Temperatures, Next Greater Element
Trees (DFS + BFS)
Max Depth, Level Order Traversal, Validate BST, Path Sum
Daily goal: 2-3 Medium problems, review Week 1 patterns
Week 3: Advanced Techniques
Dynamic Programming
Climbing Stairs, House Robber, Coin Change, LCS, Longest Increasing Subsequence
Graphs (BFS/DFS)
Number of Islands, Clone Graph, Course Schedule, Word Ladder
Backtracking
Subsets, Permutations, Combination Sum, Word Search
Heaps / Priority Queue
Kth Largest, Merge K Sorted Lists, Top K Frequent
Daily goal: 2 Medium + 1 Hard, start timing yourself (25-45 min)
Week 4: Mastery & Mock Interviews
Tries & Advanced Graphs
Implement Trie, Word Search II, Alien Dictionary
System Design
URL Shortener, Rate Limiter, Chat System (2 per day)
Mock interviews
Practice with a friend or use Pramp — simulate real 45-min rounds
Review weak areas
Re-solve problems you struggled with from weeks 1-3
Daily goal: 2 timed problems + 1 system design review
Suggested Daily Schedule (2-3 hours)
Review yesterday's problems — re-solve one without looking at the solution
Solve 2-3 new problems. Spend max 25 minutes per problem before checking hints.
Study solutions and patterns. Understand WHY the approach works, not just the code.
System design reading (Week 3-4) or flashcard review of patterns and complexities.
Key Principles
Patterns > Quantity
Solving 50 problems deeply beats grinding 300 on autopilot. Understand the pattern behind each solution.
Spaced Repetition
Re-solve problems after 3, 7, and 14 days. If you can solve it in under 10 minutes, you own it.
Think Before You Code
Spend 5-10 minutes planning. Identify the pattern, write pseudocode, then implement.
Simulate Real Conditions
Use a timer. Explain your thinking out loud. Practice on a whiteboard or plain text editor.
Start Practicing Now
Jump into Week 1 with our curated problem set.