Coding interview topics in 2026: what 1,447 candidate reports show

We took 487 coding, online-assessment and phone-screen questions, reconstructed from 1,447 interview experiences candidates shared, and labelled each one by topic. The result is a ranking of what tech companies test in coding rounds, and it does not look like a LeetCode study list.

Updated October 2026

7 of 10

of the most common topics are practical coding, not classic algorithm puzzles.

19.7%

of reports involve building a class whose methods share state, the single most common topic.

5.2%

of reports involve dynamic programming. Binary search is 2.1%, linked lists 0.2%.

The ranking

Share is the fraction of reports that describe at least one question with that topic. A question can carry up to three topics, so the column does not add up to 100%. Companies is how many of the 18 companies have at least one question with it. Topics seen at fewer than 5companies are left out, because they mostly reflect one company’s question.

† Over half of this topic’s reports come from one recurring question, so the share says more about that question than about the topic. Also rare: bit manipulation (1.7%), linked lists (0.2%).

What stands out

Building beats puzzling. The two biggest topics, stateful class design and parsing, describe rounds where you write a small working program: read input, keep state, add a feature, handle the bad cases. Many of these rounds come in levels, where each part extends the code you already wrote, so a design that is easy to change matters as much as a correct first part.

Time shows up everywhere.Expiring values, point-in-time reads, rate limits and time windows together make up a large part of the practical topics. If you practise one thing beyond the basics, practise keeping history and answering “what was true at time t”.

The algorithms that do appear are the workhorses. BFS, tree recursion, hash maps and heaps are common. Dynamic programming, binary search, union-find and linked lists are not. When they show up, they are usually one step inside a larger practical problem rather than the whole question.

Reading code is its own skill. About 7.6% of reports describe debugging, refactoring or reviewing code you did not write. AI-assisted rounds that start from an existing repository are part of this group.

Each topic, and how to practise it

01Stateful class design

19.7% of reports · 16 companies

What it looks like: Implement a class with a handful of methods that share state, often in levels: get the basic operations working, then add a feature that forces you to restructure.

How to practise: Practise multi-part problems against the clock. Choose data structures that leave room for the next level, keep methods small, and run your own tests after each level.

02Parsing structured text

18.5% of reports · 15 companies

What it looks like: Turn raw input such as log lines, CSV rows, commands or rule strings into records, then answer questions about them. Later parts usually add malformed input and edge cases.

How to practise: Write small parsers by hand with split, strip and explicit validation. Decide early what happens to a bad line, and test empty fields, extra whitespace and unexpected characters.

03BFS shortest path (grids and state graphs)

12.6% of reports · 12 companies

What it looks like: Find the fewest steps across a grid or between states, often with a twist: several movement types, obstacles that change, or a state that has to carry extra information.

How to practise: Be able to write BFS from memory, then practise encoding the state (position plus whatever else matters) so the visited set stays correct.

04Tree recursion and traversal

12.2% of reports · 13 companies

What it looks like: Aggregate values up a tree, find or remove nodes, or work with parent-child records that have to be assembled into a tree first.

How to practise: Practise building a tree from edge lists, then post-order aggregation. Know the iterative version for trees too deep for recursion.

05Hash-map counting, grouping and joins

10.5% of reports · 14 companies

What it looks like: Count, group or match records by a key, often as one step inside a bigger problem.

How to practise: Be fluent with dictionaries of lists and counters, and with joining two datasets on a key, including the one-to-many case.

06Time-based state (expiry, TTL, snapshots)

10.4% of reports · 9 companies

What it looks like: Values that expire, versions you can read back, or queries of the form "what was true at time t". Follow-ups often allow calls to arrive out of time order.

How to practise: Practise storing history per key and answering point-in-time reads with binary search. Settle inclusive versus exclusive boundaries before you write code.

07Concurrency and thread safety

10.1% of reports · 9 companies

What it looks like: Make shared code safe under many threads, find a race condition, or run work in parallel with a pool of workers.

How to practise: Know locks, condition variables, queues and thread pools in your language. Be ready to explain what a lock protects and where it could deadlock.

08Simulation and game rules

9.5% of reports · 9 companies

What it looks like: Step a board, grid or game forward according to rules, round by round, until something stops changing.

How to practise: Separate reading the state from writing the next state, so updates in one step do not leak into the same step. Write a tiny case you can check by hand.

09In-memory database or key-value store

9.1% of reports · 8 companies

What it looks like: Build a small store with get, set and delete, then extend it with transactions, persistence to a file, filtering or TTLs.

How to practise: Implement nested transactions with a stack of change sets, and a save/load format that survives keys and values containing any character.

10Balances, ledgers and billing

8.3% of reports · 8 companies

What it looks like: Track accounts, credits or charges through a series of operations, with rules about ordering, expiry and what happens when a balance runs out.

How to practise: Keep money in integer cents, write down the rule for overdrafts before coding, and test the order of operations at the same timestamp.

11Reading code: debugging, refactoring, review

7.6% of reports · 11 companies

What it looks like: You get existing code and failing tests, or messy code to clean up, instead of a blank editor.

How to practise: Practise reading unfamiliar code quickly: run the tests first, form a hypothesis, and fix one thing at a time.

12Heaps, top-k and greedy scheduling

7.1% of reports · 12 companies

What it looks like: Keep the best k items, or always pick the next task, worker or event by priority.

How to practise: Practise a size-k heap and event-driven scheduling with a heap of finish times.

13File systems and path trees

7% of reports · 11 companies

What it looks like: Model directories and files as a tree: create, look up, move or walk paths, and resolve relative paths.

How to practise: Practise a trie keyed by path segment, and path normalisation with . and .. segments.

14Sliding window, two pointers, string matching

6.8% of reports · 10 companies

What it looks like: Find the best contiguous range, or match a pattern within a longer string.

How to practise: Know the expand-then-shrink window template and when it applies.

15Topological sort and dependency graphs

6.6% of reports · 8 companies

What it looks like: Order tasks, packages or courses that depend on each other, report when no order exists, and sometimes compute the earliest finish time.

How to practise: Know Kahn's algorithm and the DFS version, how to report a cycle, and how to add durations to get the critical path.

16Intervals and sweep lines

6.5% of reports · 10 companies

What it looks like: Merge, split or count overlapping ranges of time or numbers.

How to practise: Sort by start, and practise the sweep-line count of overlaps.

17Rate limiting and time-window counts

6.1% of reports · 10 companies

What it looks like: Allow or reject requests, or count events, within a moving time window.

How to practise: Implement fixed window, sliding log and token bucket, and know the memory and accuracy trade-offs of each.

18Expression evaluation and interpreters

6.1% of reports · 8 companies

What it looks like: Evaluate formulas or small programs, often where values depend on other values and cycles must be caught.

How to practise: Practise a recursive-descent evaluator, memoised dependency evaluation, and cycle detection with a visiting set.

19Dynamic programming and backtracking

5.2% of reports · 11 companies

What it looks like: Classic optimisation or enumeration problems.

How to practise: Cover the standard patterns, but they are a small share of these rounds.

20Stacks (brackets, call stacks, monotonic stacks)

4.8% of reports · 7 companies

What it looks like: Match opening and closing events, rebuild a call stack from enter/exit records, or find the next larger element.

How to practise: Practise turning enter/exit logs into a stack, and the monotonic-stack pattern.

21Serialization and encoding

4% of reports · 6 companies

What it looks like: Turn a data structure into a string or bytes and back again, or compress a sequence.

How to practise: Practise length-prefixed formats, which survive any character in the data, and run-length encoding with its edge cases.

22Iterators and generators

3.6% of reports · 5 companies

What it looks like: Write an iterator over a data source, sometimes one that can be paused and resumed or that combines several sources.

How to practise: Implement the iterator protocol by hand, and practise saving and restoring an iterator's position.

23DFS and connected components

3.2% of reports · 10 companies

What it looks like: Count regions, find paths or explore every reachable node.

How to practise: Know recursive and iterative DFS.

24Sorting with custom comparators

3% of reports · 9 companies

What it looks like: Order items by a rule you have to define.

How to practise: Practise key functions and multi-field tie-breaks.

25Tries and prefix search

2.2% of reports · 9 companies

What it looks like: Autocomplete or prefix lookups, sometimes ranked by frequency.

How to practise: Implement insert and prefix search, then keep the top results per node.

27LRU and LFU caches

1.7% of reports · 6 companies

What it looks like: Build a cache with a size limit and an eviction rule, then change the rule.

How to practise: Implement LRU with a hash map plus a doubly linked list, without OrderedDict.

28Union-find

0.8% of reports · 5 companies

What it looks like: Merge items into groups as links arrive, then ask whether two items are connected.

How to practise: Know union by rank with path compression, and when a plain BFS over the groups would do.

How we measured this

The data is the AceOffer data set as of October 2026: 487 coding, online-assessment and phone-screen questions, reconstructed from 1,447 interview experiences candidates shared about Amazon, Anthropic, Citadel, Cursor, Databricks, Harvey AI, Mercor, OpenAI, Palantir, Perplexity, Rippling, Robinhood, Roblox, Scale AI, Snowflake, Waymo, xAI, Zip. It includes questions that do not have their own page on the site because the reports were too thin to write up.

Each question was labelled by hand with up to three topics, from its title and summary. A report counts once per topic, however many of its questions share that topic. Left out: knowledge questions, behavioural rounds, ML and numerical coding, front-end UI tasks, and rounds where the candidate did not say what the problem was.

Limits: these are the questions candidates chose to write about, labelling is a judgement call at the edges, and companies with more reports weigh more. Treat a difference of a point or two as noise.

Frequently asked

What are the most common coding interview topics in 2026?
Across 1,447 candidate reports at 18 companies, the most common are stateful class design (19.7% of reports), parsing structured text (18.5%), BFS shortest path (12.6%), tree recursion (12.2%) and hash-map counting (10.5%).
Is grinding LeetCode enough for these interviews?
It covers part of it. 7 of the 10 most common topics are practical coding, such as parsing messy input, building a class whose methods share state, or handling time and expiry, which classic LeetCode lists cover lightly. Dynamic programming appears in 5.2% of reports and binary search in 2.1%.
What is a practical coding interview?
A round where you build something small and working, often in several parts, instead of solving one algorithm puzzle. Typical tasks are a parser, a class with a handful of methods, or a store with transactions or expiry. Interviewers watch how you structure code that has to keep changing.
How was this measured?
Each question was labelled by hand with up to three topics. A topic's share is the fraction of the 1,447 reports that describe at least one question with that topic, so one report can count toward several topics and the shares do not add up to 100%.

Practise by company

Each company guide lists the questions candidates report most often, with frequency, round and when it was last reported.

Browse the interview guides
Is this helpful?