Phase 12 — Grandmaster
Read this before doing anything in this phase.
This phase covers topics that are not required for 99% of interviews, including senior and staff roles at top FAANG companies. The content here is for a narrow set of candidates:
- ICPC World Finals competitors
- Codeforces red / IGM
- Quant developers at Jane Street, Hudson River, Two Sigma, Citadel for the most algorithmic roles
- Compiler engineers at LLVM, GCC, Intel, NVIDIA
- Database engineers at the algorithm-heavy companies (Snowflake, Databricks query optimizer, CockroachDB, TimescaleDB)
- Cryptography / coding theory researchers
- A few specific roles at Google Research, DeepMind, OpenAI infrastructure
If you are not on this list, skip this phase entirely. Time spent here is time not spent on Phase 10 (testing/debugging) and Phase 11 (mocks), which will show up in your interviews.
When to Use This Phase
Use this phase if all are true:
- You have already completed Phases 1–11 and are passing the mocks at your target level.
- You are interviewing for one of the roles listed above.
- The job description explicitly mentions ICPC, competitive programming, max flow, suffix structures, FFT, or “research-grade algorithms.”
- You have at least 3 months before your interview.
If any of these are false, stop. Go back to Phase 10 or 11.
When to Skip This Phase
Skip this phase if any is true:
- You are interviewing for SWE-II / E4 / SDE2 or below.
- You are interviewing for generic senior or staff backend at FAANG (mocks 06–08 cover what’s actually asked).
- You have less than 3 months before your interview.
- You are still failing Phase 11 mocks at your level — those are higher leverage.
- You are an SRE, mobile engineer, frontend engineer, ML engineer (non-research), or data engineer.
The opportunity cost is real. Each lab here takes a week. That week is better spent on Phase 11 mock attempts for the vast majority of candidates.
What’s In This Phase
The labs cover algorithms and data structures that appear on Codeforces / ICPC / IOI and almost nowhere else:
| Lab | Topic | When it appears |
|---|---|---|
| 01 | Max Flow (Dinic) | Quant, compiler, graph-heavy research |
| 02 | Bipartite Matching (Hopcroft-Karp) | Assignment problems; some quant |
| 03 | Heavy-Light Decomposition | ICPC, very rare in industry |
| 04 | Centroid Decomposition | ICPC, rare in industry |
| 05 | Suffix Automaton | String-heavy research, bioinformatics |
| 06 | Advanced DP Optimization (CHT, Knuth, D&C) | Quant, compiler (loop scheduling) |
| 07 | FFT / Polynomial Multiplication | Cryptography, signal processing, some compiler |
| 08 | Advanced Geometry (convex hull, intersections) | Geometric computing, games, CAD |
| 09 | ICPC Contest Simulation | Competitive programming only |
| 10 | Inclusion-Exclusion, Burnside | Combinatorics-heavy research |
Each lab has the standard 23-section format plus an extra “When to Skip This Topic” section right after Interview Context, so you can opt out of individual labs.
How to Use This Phase
- Read this README in full.
- Look at the target job descriptions you’re applying to. Search them for the specific keywords (max flow, suffix automaton, etc.).
- If you find a match, do that specific lab. If not, skip.
- Doing the whole phase end-to-end is rarely the right call. Cherry-pick.
Realistic Expectations
Even if you do this phase, you may never encounter these topics in an interview. The value is:
- Confidence signal — knowing these exist and roughly how they work lets you say “I’m familiar with Dinic’s max flow” if it ever comes up.
- Insight transfer — understanding centroid decomposition deepens your tree intuition for problems you will see.
- Specific roles — if you’re applying to a quant fund’s algo research team, expect this material.
This phase is intentionally not graded against the same passing bar as other phases. It’s read-only intellectual investment for a small group.
What This Phase Is Not
This phase is not:
- A prerequisite for Phase 11.
- Required for any FAANG interview.
- A signal of seniority.
- Going to help you with system design.
If you’re using this phase to procrastinate the harder thing (Phase 10 testing labs, Phase 11 mocks), stop. That’s the actual failure mode, and the only one of consequence.
After This Phase
If you complete the relevant labs, you have what most ICPC mid-rank teams have. You’re prepared for the narrow algorithmic interviews. You’re not more prepared for normal FAANG interviews than someone who did Phase 11 twice.
Return to Phase 11 for mock-12 (competitive style) reps, then to your job search.