Company Comparison Matrix
Nine loops, compared. The per-company pages carry the detail; this page is for deciding where to put your next ten hours when you have more than one process running.
What each loop is actually testing
Section titled “What each loop is actually testing”| Company | The binding constraint | Rounds | Approx. interview minutes | Prepare, above all |
|---|---|---|---|---|
| The follow-up ladder. The first solution is the entry fee. | 4 | ~225 | the -space variant of every pattern you know | |
| Meta | Speed. Two problems in 45 minutes, so fluency beats depth. | 4 | ~225 | implementation speed and the stdlib |
| Amazon | Leadership Principles, weighted like the code. | 4 | ~465 | six to eight STAR stories |
| Microsoft | Clean, reviewable code, arrived at collaboratively. | 3 | ~300 | naming, edge cases, and test categories |
| Apple | Whatever the team decides — the least standardised loop here. | 3 | ~210 | your own CV, three questions deep |
| Netflix | Senior judgement and autonomy, not puzzles. | 3 | ~270 | the culture memo, and what you declined to do |
| Uber | Turning a scenario into a model. Graphs and design. | 3 | ~240 | weighted graphs and bounded-memory design |
| Bloomberg | Object-oriented design, and composite data structures. | 3 | ~210 | class design with an extension point |
| ByteDance / TikTok | Raw algorithmic depth. The hardest distribution here. | 3 | ~300 | hard problems and exact complexity bounds |
The minutes column is the sum of each round’s count times its length, taking the low end of any range — so it is a floor, and it excludes recruiter screens. Amazon’s ~465 is not a mistake: it runs the longest loop here, and a large share of it is behavioural.
Which pattern families are shared
Section titled “Which pattern families are shared”Counted across all nine profiles:
| Appears in | Pattern families |
|---|---|
| 4 of 9 | hash-tables |
| 3 of 9 | grid-traversal-islands-and-flood-fill, linked-lists, strings, top-k-elements |
| 2 of 9 | binary-search-on-answer, binary-search-template-and-variants, design-iterators-and-flatteners, design-lru-and-lfu-caches, design-with-stacks-and-queues, greedy-interval-scheduling, merge-intervals, one-dimensional-dp, shortest-paths-dijkstra-bellman-ford-and-floyd-warshall, simulation-and-stateful-iteration, tries |
| 1 of 9 | advanced-dp-optimizations, binary-trees-and-bst, bit-manipulation-tricks, bitmask-and-tree-dp, design-trackers-and-feeds, graph-traversal-and-connected-components, matrix-and-grid-manipulation, monotonic-deque, monotonic-stack, number-theory-for-competitive-programming, segment-trees-and-lazy-propagation, sliding-window, sorting-with-custom-comparators, stack-parsing-and-expression-evaluation, string-algorithms-kmp-z-and-rabin-karp, sweep-line-and-event-counting, tree-bfs-and-level-order, tree-dfs-paths-and-sums, two-dimensional-dp-and-knapsack, two-pointers |
The most striking thing here is what is missing: no family appears in more than 4 of the nine profiles. There is no universal core that every company is known for leaning on — which is the opposite of what “just do Blind 75” implies.
Two honest readings of that, and they point the same way:
- The profiles record emphasis, not coverage. Every one of these companies will happily ask a hash-map problem; the tag records that Google’s loop is notable for graph and DP laddering, not that Meta never asks about graphs. Absence of a tag is weak evidence.
- So the union is the syllabus, and the intersection is not. Preparing only the families in the top row would leave you exposed at every single company on this page. The per-company lists are for ordering your revision, not for scoping it.
Distinctive emphases
Section titled “Distinctive emphases”Families that appear in exactly one profile — the clearest signal of what makes a loop unusual:
| Company | Only-here families |
|---|---|
graph-traversal-and-connected-components, monotonic-stack, sliding-window, two-dimensional-dp-and-knapsack | |
| Meta | stack-parsing-and-expression-evaluation, tree-dfs-paths-and-sums, two-pointers |
| Amazon | tree-bfs-and-level-order |
| Microsoft | binary-trees-and-bst, matrix-and-grid-manipulation |
| Apple | bit-manipulation-tricks |
| Netflix | design-trackers-and-feeds, sorting-with-custom-comparators |
| Uber | sweep-line-and-event-counting |
| ByteDance / TikTok | advanced-dp-optimizations, bitmask-and-tree-dp, monotonic-deque, number-theory-for-competitive-programming, segment-trees-and-lazy-propagation, string-algorithms-kmp-z-and-rabin-karp |
ByteDance accounts for 6 of these on its own — segment trees, DP optimisations, string algorithms, bitmask DP, monotonic deque, number theory. That cluster is a competitive-programming syllabus, and it is the single clearest profile difference in the whole matrix. If you are interviewing there and nowhere else, this course’s Phase 16 and 17 move up your list; if you are interviewing everywhere else, they move down.
Bloomberg has no only-here families, which is not a gap in the data — its distinctiveness is format rather than content. It shares the design and data-structure families with others and then asks you to express them as classes.
How to sequence a multi-company search
Section titled “How to sequence a multi-company search”| Situation | Where the next ten hours go |
|---|---|
| Several loops, no offers yet | The union of the shared families. Breadth first — a gap at one company is a gap at all of them |
| Amazon in the mix | STAR stories, immediately. It is the only loop here where the behavioural half alone can reject you |
| Google or ByteDance next | Hard problems and follow-up depth. Both punish a thin top end, for different reasons |
| Meta next | Timed two-problem drills. Fluency, not new patterns |
| Bloomberg next | Class design on problems you can already solve |
| Apple next | Ask the recruiter for the loop shape, then prepare that |
| Netflix next | The culture memo and your ownership stories. Least algorithmic loop here |
“Breadth first” is worth putting a number on. Counting every (company, family) pair across
the nine loops gives 58 in total. The 16 families that appear at two or more companies
are only 44% of the 36 families on the list, but they account for 38 of the 58 pairs —
66% of the demand. Six families, taken in order of breadth, already touch all nine companies.
Verified against companies.yaml, which is also what the tables above are built from.
That is the whole case for the shared core when you have several loops and no offer yet: the first twelve families cover 30 of the 58 pairs and the last twelve cover 12 — the same study time is worth 2.5× more at the front of the list than at the back.
Pitfalls
Section titled “Pitfalls”- Reading an absent tag as “they never ask this”. The profiles record emphasis, not coverage. No family appears in more than 4 of 9, so absence is weak evidence and the union is the syllabus.
- Preparing the intersection. It is nearly empty. Scoping revision to only the most-shared families would leave you exposed everywhere.
- Treating the problem lists as question banks. They are crowd-reported and stale. The families are the durable part; that is why they sit above the problem tables on every page here.
- Optimising for the company instead of the round. Amazon’s coding bar is lower and its behavioural bar is higher. Prepare for the round that can reject you, not the company’s reputation.
- Assuming a standard loop at Apple or ByteDance. Both vary — Apple by team, ByteDance by region. One recruiter question replaces a lot of guessing.
- Ignoring the shape of the follow-ups. Google ladders deeper on the same problem; Uber goes sideways into systems; ByteDance goes into complexity. Same pattern knowledge, three different second halves.
Interview follow-ups
Section titled “Interview follow-ups”| They ask | What they’re checking | The answer |
|---|---|---|
| “Why do you want to work here specifically?” | Whether you researched the team, not the brand | Name what the team builds and connect it to something you have done. This is the question Apple’s variable loop makes most important |
| “How are you preparing?” | Whether your process is deliberate | Patterns rather than problem counts, a log tagged by pattern, timed drills, mocks near the end. Specific beats enthusiastic |
| “You interviewed elsewhere. How did it go?” | Candour and self-assessment | Be honest and specific about what you learned; name a gap you then closed. Never disparage another company’s process |
| “What is your weakest area?” | Self-awareness | Name one and what you are doing about it. A pattern-tagged log makes this answerable in a sentence |
| “Do you have offers or deadlines?” | Timeline, and leverage | Answer factually. Timelines are a normal part of the conversation; inventing one that does not exist is a bad trade |
Recall card
Section titled “Recall card”- The loops differ in what they bind on, not in the patterns. Google ladders, Meta races, Amazon scores stories, Microsoft reviews code, Bloomberg wants classes, ByteDance wants depth.
- No pattern family appears in more than 4 of the 9 profiles. There is no universal core — the union is the syllabus, the intersection is not.
- Absence of a tag is weak evidence. The profiles record emphasis, not coverage.
- Amazon runs the longest loop (~465 minutes) and is the only one where the behavioural half alone can reject you. Prepare STAR stories first.
- ByteDance owns 6 of the only-here families — a competitive-programming cluster. Phases 16-17 matter there and almost nowhere else.
- Bloomberg’s difference is format, not content — the same families, expressed as classes.
- Apple varies by team, ByteDance by region. Ask the recruiter; it replaces a lot of guessing.
- Follow-ups differ in direction: Google deeper, Uber sideways into systems, ByteDance into complexity.
pch.coffeeTagline
pch.coffeeCtapch.feedbackHeading
pch.feedbackSubheading