10 — Resources
Ranked by usefulness, with explicit guidance on what to skip. The most common failure mode in DSA prep is collecting resources instead of using one. Pick the primary in each category and ignore the rest until it's exhausted.
Primary stack — this is all you actually need
| Purpose | Resource | Cost |
|---|---|---|
| Problem list + video solutions | NeetCode.io — the roadmap view with the dependency graph | Free |
| Practice platform | LeetCode | Free tier is enough |
| Video explanations | NeetCode YouTube | Free |
| Mock interviews | Pramp (peer, free) / interviewing.io | Free / paid |
| SQL | LeetCode SQL 50 | Free |
| System design | system-design-primer | Free |
| LLD | low-level-design-primer | Free |
That's the whole stack. Everything below is optional supplementation. If you're deciding between adding a resource and doing two more problems, do the problems.
Problem lists
- NeetCode 150 — your primary. Curated, ordered by dependency, video solution for every problem in multiple languages. The dependency-graph UI physically prevents you from attempting graphs before you've done arrays and trees, which is genuinely good pedagogy.
- Blind 75 — the original list NeetCode 150 extends. Use it as a final-week revision set, not a primary.
- NeetCode 250 / NeetCode All — after 150, if you want more volume in a weak area.
- Striver's A2Z DSA Sheet — more exhaustive, more theory-heavy, Java/C++ oriented. Good as a reference for a topic you're weak in. Doing all of it is not a good use of your time budget.
- LeetCode company tags — in the 2–3 weeks before a specific interview, filter by that company and by "last 6 months." This is what premium is actually worth paying for, and only then.
Learning the concepts
Free, high quality:
- NeetCode YouTube — best explanations for interview-style problems, Python-first
- Abdul Bari (algorithms) — the best algorithm-theory channel that exists; go here when you want to genuinely understand an algorithm rather than pass a problem
- MIT 6.006 Introduction to Algorithms — a real university course, free. Watch selectively when a topic won't click.
- Errichto — competitive-programming perspective; excellent for speed and for binary search intuition
- Visualgo — animated data structures. Ten minutes here beats an hour of reading when you're confused about heaps or AVL rotations.
- Big-O Cheat Sheet — one-page reference
- Python
collectionsdocs andheapqdocs — read them once, properly
Paid, worth it only if you have a specific gap:
- AlgoMonster — pattern-first organization; good if you want more structure than NeetCode
- Grokking the Coding Interview (Educative) — the original pattern-based course. Its main value is the framing; this curriculum already gives you that framing for free.
- Books: Cracking the Coding Interview (dated in places, still the standard behavioral/process reference), Elements of Programming Interviews in Python (harder, excellent problems), Designing Data-Intensive Applications by Kleppmann (the best systems book ever written — read it slowly during Phase 3, not now)
System design
- system-design-primer — free, comprehensive, includes Anki flashcards. Read the concept sections first, then the worked examples.
- ByteByteGo + Alex Xu's System Design Interview Vol 1 & 2 — the clearest paid material. Worth it before full-time interviews.
- Gaurav Sen YouTube — strong intuition, real production experience
- Hussein Nasser YouTube — backend engineering depth (databases, networking, protocols). Excellent for the backend-role questions in file 09.
- low-level-design-primer — LLD problems with solutions
- Refactoring Guru — the best design-patterns reference, with diagrams and code
Practice environments and mocks
- Pramp — free peer mock interviews. Quality varies with your partner, but the speaking practice is the point and that works regardless.
- interviewing.io — anonymous mocks with real FAANG engineers. Some free, mostly paid. The feedback quality is the best available.
- LeetCode Mock — timed problem sets, no human
- Codeforces — competitive programming. Only if you want speed training and enjoy it; it is not on the critical path.
Applications and job search
- Simplify — autofill applications, plus a live big-tech internship list
- GitHub: summer-2027-internships — community-maintained live posting tracker. Check weekly.
- levels.fyi — compensation data, for negotiation and target-setting
- Blind — anonymous industry discussion; useful for timelines and interview reports, heavily biased toward negativity. Calibrate accordingly.
- Your own
summer2027-applyskill and internship tracker — the pipeline you already have. Use it weekly.
What to skip
Being explicit about this is as valuable as the recommendations.
- Do not do all of Striver + NeetCode + Blind 75 + Grokking. They overlap ~80%. Pick one primary.
- Do not learn a second language for DSA. Python is decided. See README §1.
- Do not start with system design. It doesn't gate internships and it consumes time DSA needs right now.
- Do not do competitive programming unless you enjoy it as a hobby. Codeforces skills only partially transfer, and the time cost is high.
- Do not buy LeetCode Premium yet. Buy it 2–3 weeks before a specific company's interview, for the company-tagged questions. Before that it adds nothing.
- Do not watch "top 10 DSA tips" videos. You have the plan. Watching content about preparing is a substitute for preparing.
- Do not read solutions before struggling for 22 minutes. See the daily protocol.
The one-line version
NeetCode 150 in Python, 2 problems a day, log every one, re-solve on schedule, apply every week starting now. Everything else on this page is optional.
→ Back to README · Log your work in tracker.md