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.

1

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

2

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

3

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)

4

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)

30 min

Review yesterday's problems — re-solve one without looking at the solution

60 min

Solve 2-3 new problems. Spend max 25 minutes per problem before checking hints.

30 min

Study solutions and patterns. Understand WHY the approach works, not just the code.

30 min

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.