Goal: Land a job at a top software company (Google focus). Become fluent in C++ along the way.
00_START_HERE/ Roadmap, study plan, daily routine
01_Patterns/ THE MAIN FOLDER — solutions grouped by pattern (NeetCode-style)
02_By_Number/ Symlinks/copies indexed by problem number (fast lookup)
03_By_Company/ Lists of problems tagged by company
04_CPP_Fluency/ C++ language notes: STL, idioms, modern C++, pitfalls
05_Templates/ Reusable algorithm/DS templates (copy-paste ready)
06_Learning_System/ Daily log, mistakes book, spaced-repetition review queue
07_Mock_Interviews/ Timed sessions, behavioral prep, system design basics
08_Resources/ Books, links, cheat sheets
- Attempt it cold for 25–30 min. No hints.
- If stuck → write down what you tried in
06_Learning_System/mistakes/. - Read editorial / discuss. Understand the pattern.
- Re-code from scratch. No copy-paste.
- Save final solution in
01_Patterns/<pattern>/NNNN_name.cppusing the template (see05_Templates/snippets/solution_template.cpp). - Add a 1-line entry to
02_By_Number/<range>/index.mdso you can find it later. - If it took >1 hour or you got it wrong → add to
06_Learning_System/review_queue/.
NNNN_problem_name.cpp — zero-padded 4 digits, snake_case.
Example: 0001_two_sum.cpp, 0146_lru_cache.cpp.
- Patterns first because FAANG interviews test patterns, not random problems.
- By number second because you'll need to find "did I solve 295?" in seconds.
- Company folders are lists (markdown), not duplicates — they point into
01_Patterns/. - Learning system is what separates 4000 solved from 4000 remembered.
See 00_START_HERE/ROADMAP.md for the suggested order.