THN Interview Prep

DSA + System Design Mind-Map

A markdown-first knowledge base for pattern recognition, fast recall, and teaching — purpose-built for MAANG / big-MNC SDE3+ interviews.

Coding solutions in Go (primary) and JavaScript (alt). System design covers Fundamentals → Building Blocks → HLD → LLD → Deep Dives.


How to use this repo

This is a mind map, not a linear textbook. Treat it like a reference that turns into mastery when each page answers what object?, what invariant?, what move is safe?, what complexity follows?.

Read it like an index:

  1. You see a problem in an interview.
  2. Skim the Patterns overview and match the recognition cues — that tells you the pattern.
  3. Open the matching pattern file → it lists representative problems and a generic recipe.
  4. Open the problem file -> use its mind-map sections to move from recognition cues to diagram, approach, code, walkthrough, and variants.
  5. Use the Similar problems map to jump sideways across problems with the same recipe.

For system design:

  1. Read the System design curriculum for the learning order.
  2. Use the System design interview framework (RESHADED) when given any new design question.

Top-level layout

SectionWhat it holds
Patterns~20 pattern mind-maps (the recognition layer)
Topics226 unique problem mind-maps (see the Problem index; 152 canonical under dp-1d)
CheatsheetsComplexity, Go/JS idioms, DS ops, recognition decision tree
System design fundamentalsCAP, consistency, scalability, back-of-envelope, etc.
Building blocksLB, cache, MQ, sharding, consensus, rate limiter, ID generation, etc.
HLD case studies~20 full HLD case studies
LLD exercises~15 OOD / machine-coding designs
Design patternsGoF + concurrency patterns (Go + JS)
Deep divesKafka, Redis, DynamoDB, Postgres, Cassandra internals
Interview prepCompany playbooks, 12-week plan, behavioral STAR
Problem indexMaster curated problem list: 226 canonical write-ups, 233 index rows including aliases
12-week roadmapPhased 12-week study plan
Problem mind-map templateTarget shape for new and deeply revised problem pages
Similar problems mapCross-link map: problem → siblings (auto-index of all problem files)
npm run docs:check-dsaValidates DSA frontmatter and internal .md / .mdx links
npm run docs:sync-dsaNormalizes content/core-docs/dsa and syncs the rendered copy to content/docs/dsa
Docs visual enrichment workflowStep-by-step workflow for adding explanatory diagrams/images across every DSA section

Conventions

  • Diagrams: Every problem mind-map includes ## Diagram with a ```mermaid block (placed early, before approaches) for quick visual recall — see the Problem mind-map template. Pattern cards under Patterns follow the same rule (see the Pattern author template).
  • Naming: topics/<topic>/problems/NNN-kebab-name.md where NNN is the LeetCode number.
  • Templates are the source of truth for shape — see the Problem mind-map template, System design interview framework (RESHADED).
  • Mind-Map Tags at the bottom of each file (e.g. #hashmap #pair-sum) — use rg "#hashmap" to retrieve.
  • Code snippets: idiomatic Go first, JS second. Both must be runnable when copied into a main / REPL.

Continuation (agents & context)

  • docs/AI-KNOWLEDGE-BASE.md (local, gitignored) — machine-friendly repo inventory when maintained locally; not published
  • Archived implementation plan — archived Cursor plan + completion snapshot
  • Docs visual enrichment workflow — how to scan, prioritize, generate, review, and link visual assets
  • Further improvements backlog — optional upgrades (CI, static site, Anki export, CONTRIBUTING, etc.)
  • AI tooling roadmap — phased plan for implementing with AI: guardrails, automation, skills, static site, optional solutions/

Quick start


Coverage goal

226 canonical problem write-ups chosen to cover ~90% of MAANG / big-MNC SDE3+ DSA rounds. Source blend: NeetCode 150 (base) + Grind 169 deltas + Striver SDE picks + Sean Prashad pattern fills + SDE3-tier Hards.

Mark this page when you finish learning it.

Last updated on

Spotted something unclear or wrong on this page?

On this page