πŸš€ Zero to FAANG Roadmap

DATA STRUCTURES &
ALGORITHMS

A curated knowledge base connecting standard DSA with real-world System Design and CS Fundamentals.

The Toolkit

Striver's A2Z Sheet

DSA Foundation

The absolute best roadmap for standard DSA. Covers everything from Arrays to Hard Graphs.

Open Resource

System Design Primer

Product & Design

Don't ignore this! Essential for SDE-2 and Product companies (Google, Uber). Learn Scalability.

Open Resource

NeetCode 150

Pattern Logic

Focuses on patterns. If you know the syntax but can't find the logic, do this roadmap.

Open Resource

CS50 / TeachYourselfCS

CS Fundamentals

OS, DBMS, and Networks. Product companies grill you on threads, locks, and indexing.

Open Resource

Why Product Companies Care?

"Can you scale it?"

Product companies don't just want code that passes test cases; they want efficient, readable, and scalable code.

DSA optimizes **Time & Space**. System Design optimizes **Availability & Throughput**. You need both.

Identify The Pattern

✌️

Two Pointers

Linear structures. Move start/end pointers to find pairs, reverse, or merge sorted arrays.

πŸͺŸ

Sliding Window

Subarrays/Substrings. Expand window to satisfy condition, shrink to optimize size.

🐒

Slow & Fast Pointers

Cycle detection (Linked List/Array). Middle of list. Happy Number problems.

πŸ“š

Monotonic Stack

Next Greater Element. Daily Temperatures. Largest Rectangle in Histogram.

πŸ”

Binary Search Answer

Optimization problems. When asked 'Minimize the Maximum' or 'Smallest capacity'.

πŸ•ΈοΈ

Topological Sort

Dependencies. Course Schedule problems. Build order. Cycle detection in directed graphs.

🌲

Backtracking

Permutations, Subsets, Sudoku Solver. Generate all possibilities and prune invalid paths.

🌊

Modified BFS

Shortest path in Grid/Graph. Multi-source BFS (Rotting Oranges). 0-1 BFS.

Curated Problem Lists by Pattern

NeetCode 150 + Blind 75

Interview preparation (beginner to intermediate)

A structured breakdown of 150 problems organized by pattern. Each problem includes video explanations and optimized solutions. The Blind 75 subset covers the most frequently asked interview questions across FAANG companies.

Open Resource

Sean Prashad's LeetCode Patterns

Intermediate practitioners seeking pattern recognition

A comprehensive spreadsheet categorizing 200+ problems into 14 core patterns. Includes difficulty ratings and links to LeetCode problems. Effective for identifying which patterns require more practice.

Open Resource

Striver's A2Z DSA Sheet

Comprehensive DSA learning (beginner to advanced)

A complete roadmap with 450+ problems covering every major topic from basic arrays to advanced graph algorithms. Each section includes theory explanations, problem sets, and video tutorials.

Open Resource

Fraz's DSA Sheet

Interview preparation with focus on pattern mastery

A Google Sheet with 250+ problems organized by company frequency and pattern type. Includes columns for tracking progress, notes, and solution approaches. Particularly useful for targeting specific companies.

Open Resource

Love Babbar's DSA Sheet

Comprehensive interview preparation

450 problems categorized by topic and difficulty. Focuses on building strong fundamentals before progressing to advanced patterns. Includes time complexity expectations for each problem.

Open Resource

Books & Reading Material

Algorithm Design

Introduction to Algorithms (CLRS)

Cormen, Leiserson, Rivest, Stein

Level: Intermediate to advanced

The canonical reference for algorithm design and analysis. Comprehensive coverage of sorting, graph algorithms, dynamic programming, NP-completeness, and complexity theory. Dense but authoritative.

Access Book
Free Textbook

Algorithms by Jeff Erickson

Jeff Erickson (University of Illinois)

Level: Intermediate

A freely available textbook covering recursion, backtracking, dynamic programming, greedy algorithms, and graph algorithms. Written with clarity and includes extensive problem sets. Particularly strong on explaining algorithmic thinking.

Access Book
Competitive Programming

Competitive Programmer's Handbook

Antti Laaksonen

Level: Beginner to intermediate CP

A concise 300-page guide covering essential competitive programming techniques. Topics include number theory, graph algorithms, range queries, and geometry. Includes code examples in C++.

Access Book
Advanced Algorithms

CP-Algorithms

CP-Algorithms community

Level: Intermediate to advanced

An extensive wiki-style resource documenting advanced algorithms with mathematical proofs and implementation details. Covers segment trees, suffix structures, FFT, flows, and string algorithms. Essential reference for competitive programmers.

Access Book

Structured Learning Roadmaps

USACO Guide

Competitive programming beginners through advanced

A complete roadmap from basic programming to IOI-level competitive programming. Organized into modules by difficulty (Bronze, Silver, Gold, Platinum). Each module includes theory, practice problems, and editorial solutions. Covers standard algorithms systematically.

View Roadmap

Tech Interview Handbook

Interview preparation with 8-week study plan

A systematic study plan covering essential interview topics. Organized by pattern with time allocation recommendations. Includes behavioral interview preparation and system design fundamentals. Created by Yangshun Tay.

View Roadmap

Grind 75

Interview preparation with time constraints

An adaptive question list that adjusts based on available study time. Focuses on high-frequency interview questions with optimal time investment. Covers fundamental patterns with increasing difficulty.

View Roadmap

Company Radar

Cracking Google

"Focuses on optimizing Hard problems. Often asks variations of standard graph/DP problems that require modeling."

DP on TreesGraph (Dijkstra/Union Find)Segment TreesGrid ProblemsTries

"The best time to plant a tree was 20 years ago. The second best time is now."

Found a bug 🐞, have an idea πŸ’‘, or want a new feature πŸš€?
Your feedback helps make DSA Quest better for everyone!

Made with πŸ’œ for competitive programmers