Skip to content

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.

CompanyThe binding constraintRoundsApprox. interview minutesPrepare, above all
GoogleThe follow-up ladder. The first solution is the entry fee.4~225the O(1)O(1)-space variant of every pattern you know
MetaSpeed. Two problems in 45 minutes, so fluency beats depth.4~225implementation speed and the stdlib
AmazonLeadership Principles, weighted like the code.4~465six to eight STAR stories
MicrosoftClean, reviewable code, arrived at collaboratively.3~300naming, edge cases, and test categories
AppleWhatever the team decides — the least standardised loop here.3~210your own CV, three questions deep
NetflixSenior judgement and autonomy, not puzzles.3~270the culture memo, and what you declined to do
UberTurning a scenario into a model. Graphs and design.3~240weighted graphs and bounded-memory design
BloombergObject-oriented design, and composite data structures.3~210class design with an extension point
ByteDance / TikTokRaw algorithmic depth. The hardest distribution here.3~300hard 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.

Counted across all nine profiles:

Appears inPattern families
4 of 9hash-tables
3 of 9grid-traversal-islands-and-flood-fill, linked-lists, strings, top-k-elements
2 of 9binary-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 9advanced-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.
sketch Which pattern families overlap across nine loops p5.js
Nine companies down the side, all thirty-six pattern families across the top, ordered by how many companies lean on each. The left of the grid is the shared core -- study it once and it pays off everywhere. The long right-hand tail is company-specific, and it is where preparation stops transferring. Every cell is read from the same companies.yaml the tables on this page are built from, and the counts are derived on screen.

Families that appear in exactly one profile — the clearest signal of what makes a loop unusual:

CompanyOnly-here families
Googlegraph-traversal-and-connected-components, monotonic-stack, sliding-window, two-dimensional-dp-and-knapsack
Metastack-parsing-and-expression-evaluation, tree-dfs-paths-and-sums, two-pointers
Amazontree-bfs-and-level-order
Microsoftbinary-trees-and-bst, matrix-and-grid-manipulation
Applebit-manipulation-tricks
Netflixdesign-trackers-and-feeds, sorting-with-custom-comparators
Ubersweep-line-and-event-counting
ByteDance / TikTokadvanced-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.

SituationWhere the next ten hours go
Several loops, no offers yetThe union of the shared families. Breadth first — a gap at one company is a gap at all of them
Amazon in the mixSTAR stories, immediately. It is the only loop here where the behavioural half alone can reject you
Google or ByteDance nextHard problems and follow-up depth. Both punish a thin top end, for different reasons
Meta nextTimed two-problem drills. Fluency, not new patterns
Bloomberg nextClass design on problems you can already solve
Apple nextAsk the recruiter for the loop shape, then prepare that
Netflix nextThe 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.

sketch Study the shared core first: 44 percent of the families, 66 percent of the demand p5.js
Take all 58 company-family pairs across the nine loops as the total demand. Now study families in order of how many companies want them. The curve is the fraction of that demand covered, and it is steep at the start and flat at the end -- which is the whole argument for breadth before depth when you have several loops and no offer yet. The counts, the crossings and the curve are all computed from companies.yaml on screen.
  • 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.
They askWhat they’re checkingThe answer
“Why do you want to work here specifically?”Whether you researched the team, not the brandName 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 deliberatePatterns 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-assessmentBe 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-awarenessName 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 leverageAnswer factually. Timelines are a normal part of the conversation; inventing one that does not exist is a bad trade
  • 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.coffeeCta

pch.feedbackHeading

pch.feedbackSubheading