Problem-solving interview guide

Reasoning, not memorised architecture. Every question carries the situation behind it, what it is actually testing, what a strong answer sounds like, and the flags on both sides. The red flags are what a confident, fluent candidate really does — a framework named before an actor, an estimate given before a decomposition, generated code they cannot explain.

The shape of a strong answer

The seven steps an interviewer listens for, in the order they should appear.

1
Problem

The candidate restates what is being asked in their own words, as a problem with a gap, before proposing anything. "Build a store" becomes "a customer can find a product, pay, and be told it worked; an admin can list products".

listen for Nouns and verbs, not technologies. A restatement the interviewer would correct if it were wrong — which means it says something. A goal separated from any implementation already smuggled into the brief.

2
Clarifying Questions

The candidate asks what the brief did not say, and prioritises the questions whose answers change the design — who uses it, how many, what must never happen, what is outside the system — over the ones that change a detail.

listen for Questions with a decision behind them: "may a customer check out without an account?" changes the data model; "which cloud?" does not. A candidate who asks nothing has assumed everything; one who asks everything cannot tell which questions matter.

3
Assumptions

The candidate states, unprompted, what they are taking as true — one currency, one warehouse, accounts required — and marks the assumptions that would invalidate the design if wrong.

listen for The word "assuming" followed by something specific, and a note of which assumptions are dangerous. Assumptions stated after being asked count for less than assumptions volunteered.

4
Decomposition

The candidate breaks the problem into pieces that can each be understood and tested on their own — by capability, not by layer — and shows the dependencies between them.

listen for Leaves that can pass or fail. A tree whose children are "frontend, backend, database" is the shape of every application; one whose children are "browse, cart, checkout, orders, payments" is the shape of this one.

5
Trade-Offs

For each decision, the candidate names the dimensions it moves — simplicity, performance, reliability, cost, security, time, maintainability — and what the chosen option costs, not only what it gains.

listen for "This is simpler and it means X will not work" rather than "this is better". Reversible decisions taken quickly and irreversible ones held to more evidence. The simpler thing named and rejected for a reason, or accepted.

6
Implementation Path

The candidate says what they would build first and why — a slice through every layer, then the riskiest unknown — and what each step proves.

listen for An order justified by dependency and risk, not by comfort. A walking skeleton with an honest "this proves the layers connect and nothing else". Complexity added only against a named requirement or measurement.

7
Failure Cases

After the happy path, the candidate asks what happens when payment fails, the request repeats, a dependency times out, the browser closes — and distinguishes a failure the system knows about from one it does not.

listen for "Declined", "timed out" and "sent twice" treated as three different problems. A timeout described as "unknown", not "failed". An idempotency key that comes from somewhere specific.

Green flags and red flags

Both columns are about reasoning, not vocabulary. Saying 'MVP' is not a green flag; saying what cannot be simplified is.

Strong problem solvers
Red flags
  • Immediately picks technologies — a framework, a database, a queue — before the problem has been stated.Technology-First Thinking
  • Codes before understanding: opens an editor while the actors, workflow and invariants are still unknown.Problem Before Technology
  • Copies an architecture from a well-known system without the requirements that produced it.Before You Copy Code
  • Cannot explain their own code — a branch, a lock, a retry — because a tool or a tutorial wrote it.Understanding Is Not Delegable
  • Adds scale before load: caches, replicas and queues with no measured bottleneck behind them.The Complexity Ledger
  • Asks an AI for the full implementation as the first move, then reviews code for a problem they have not framed.If You Are Nothing Without the LLM
  • Changes random things while debugging — restarts, config, timeouts — and observes nothing between changes.Do Not Randomly Change Things
  • Treats unfamiliarity as a blocker: "I don't know payments, so I cannot start."An Unknown Is Not a Blocker
  • Ignores failure cases: the happy path is the design, and "handle errors" is a trailing comment.Failure Path Second
  • Refuses to simplify: every feature on the list is in V1 and every component is "needed eventually".What Is Not V1
  • Assumes tutorials represent production: the tutorial's shortcuts become the design's decisions.Tutorial Dependency

Questions

32 of 32 questions
We need an online store. Where do you start?Start

A founder in a kickoff call: "We need an online store for our products — nothing fancy, we just need to sell online by the end of the quarter. Can you build it?" There is no document. The founder has a spreadsheet of about forty products (illustrative) and a Stripe account somebody opened last year. You have forty-five minutes with them.

▶ artefact to react to
"Make the checkout better." What do you do with that?Framing

A product lead drops a ticket titled "Make checkout better" into your queue. The body says: "Customers complain. Conversion is lower than we want. Please look into it." There is a dashboard nobody trusts and a support inbox nobody reads.

▶ artefact to react to
What requirements did nobody mention?Requirements

A brief for a file-upload service: "Users upload documents from the web app; other users download them. Max file size is 50 MB (illustrative). Use S3 or similar." That is the whole brief. You are asked to estimate it by Friday.

▶ artefact to react to
Before you draw anything: what constraints would change the design?Constraints

You join a three-person team building an analytics dashboard for an internal sales team. The tech lead shows you a diagram with a stream processor, a columnar warehouse and a caching layer, and asks you to "review the architecture". Nobody has told you how many users, how much data or how soon.

▶ artefact to react to
What must never break in checkout?Invariants

A payments engineer is leaving and you inherit checkout for the online store. In the handover they say "it mostly works, there are some edge cases". There are no tests for checkout. You have a week before a marketing campaign doubles traffic (illustrative).

▶ artefact to react to
What are you assuming right now?Assumptions

Midway through a design discussion for a URL shortener, the interviewer stops you and asks: "Everything you have said so far rests on assumptions you have not stated. Name them." You have been describing a hash-based key, a single table and a redirect endpoint.

"I don't understand payments." Now what?Unknowns

A junior engineer on your team has been assigned the checkout payment step. Two days in, they say: "I don't understand payments. I think we need someone with payments experience before I can continue." They have read the provider's documentation home page and watched a video.

▶ artefact to react to
Here is a candidate's decomposition of a chat app. React to it.Decomposition

You are on an interview panel. A previous interviewer asked the candidate to decompose "build a chat app" and pinned the result to the shared doc. You have ten minutes to assess it and decide what to ask next.

▶ artefact to react to
A colleague says "we need Kafka." What do you ask?First Principles

In a design review for the online store, a senior colleague says checkout should publish an event to Kafka so that email, analytics and the warehouse can consume it. The store currently sends the confirmation email inside the checkout request and has a few hundred orders a day (illustrative). The colleague has run Kafka before and is confident.

▶ artefact to react to
We change a product price. What else changes?Systems

The admin of the online store edits a product's price from 20 to 25. A customer has that product in their cart; another customer bought it yesterday and is about to request a refund; the analytics dashboard shows revenue for last week. The interviewer asks: "What should each of those see, and where should the price live?"

"Checkout is slow." At which level do you look first?Abstraction

Support reports that checkout "feels slow". An engineer has already opened a profiler on the database server and is reading disk-latency graphs. The interviewer asks: "Is that the right level, and how would you decide?"

What do you build first, and what does it prove?Slices

Your team of three has two weeks (illustrative) before a demo of the online store to an investor. The tech lead proposes: week one, the data model and all migrations; week two, the API; the frontend "when we get to it". You are asked whether you agree.

▶ artefact to react to
What is not in V1, and what cannot be left out?MVP

A stakeholder for the online store says "let's do an MVP" and then lists twelve features. A developer says "MVP means we can skip tests and security for now." The interviewer asks you to draw the line.

"A customer places an order containing products." What is the data?Data

The interviewer gives you one sentence — "a customer places an order containing several products, pays for it and may later return some of them" — and a whiteboard. "Find the data. Do not draw a schema yet."

Which external system must answer before you respond to the user?Interfaces

In the online store, checkout calls the payment provider, the inventory service, the email sender and the analytics collector. A slow email API took checkout down last week (illustrative). The interviewer asks: "Which of these is a boundary, which must answer before the user sees a confirmation, and how would you treat the rest?"

Draw the lifecycle of an order. Which transitions are illegal?State

The online store's orders table has a free-text `status` column. Values seen in production include "paid", "PAID", "shipped", "cancelled", "refunded", "paid-then-cancelled" and "". A support engineer asks whether a shipped order can be cancelled. Nobody knows.

▶ artefact to react to
The happy path works. What if payment fails?Failure

A candidate has just walked through checkout for the online store: cart → create order → charge card → mark paid → send email. The interviewer says "good — now the card is declined. Then the provider times out. Then the customer double-clicks Pay."

Write the checkout step in pseudocode. No framework.Pseudocode

The interviewer hands you a marker: "Write the server side of 'Pay' for the store in pseudocode — inputs, outputs, state, branches and failures. Not a language, not a framework. Then tell me what you learned by writing it."

Three units in stock. Alice and Bob each buy two at once.Examples

You are asked to explain, on a whiteboard, what should happen and what will happen in the online store when two customers buy more than the remaining stock at the same moment. The current code reads stock, checks it, and writes stock minus quantity.

You want to prototype. What question does the prototype answer?Experiments

A teammate proposes "a two-week prototype of the AI assistant over our documentation, to see if it works". The interviewer asks you what you would say in the planning meeting.

Here is a debugging session. What is wrong with it?Debugging

A production alert: some checkouts in the online store return "Payment failed" although the customer's bank shows a charge. An engineer's terminal history from the last hour is pinned to the incident channel. You are asked to review it and say what to do next.

▶ artefact to react to
You inherit an unfamiliar codebase. How do you find where the bug is?Reading Code

A bug report: "Search results sometimes show products that are out of stock." The product search service was written by a team that no longer exists. It has about a thousand files (illustrative), no README worth the name, and a passing test suite. You have a day.

You have never used WebRTC. Research it — but not the API.Research

The chat app's product owner wants video calls. Nobody on the team has touched WebRTC. You are given a day to "look into it" and report back. The interviewer asks what your report will contain and what it will not.

"How do payments work?" Ask a better question.Questions

A teammate posts in the team channel: "How do payments work?" Nobody answers. The interviewer asks you to rewrite the question three times, each better than the last, and to say what the best version makes answerable.

▶ artefact to react to
Postgres or MongoDB for the store? Show me the trade-off, not the answer.Trade-offs

A tech lead has to choose the store's primary database this week and asks two engineers for a recommendation. One says Postgres, one says MongoDB, both with conviction. The interviewer asks how you would settle it without a fight.

▶ artefact to react to
A colleague estimates "two weeks". React.Estimation

In sprint planning, an engineer estimates the online store's "returns and refunds" feature at two weeks. The product manager writes it in the roadmap. The interviewer hands you the estimate and asks what is wrong with it and what you would do instead.

▶ artefact to react to
Product search: build it, or buy it?Build vs Buy

The online store's search is a SQL `LIKE` query and customers complain they cannot find things. A hosted search vendor has quoted a monthly fee; an engineer wants to run an open-source search engine; another says a Postgres full-text index would do. The interviewer asks how you would decide.

▶ artefact to react to
Here is a proposed stack for a personal todo app. React to it.Iteration

A candidate was asked to design a todo app for one user — themselves — and pinned their proposed architecture to the doc. You are the next interviewer and have the list in front of you.

▶ artefact to react to
A candidate submitted this checkout function. Ask them to explain it.AI

A take-home submission for the online store includes a `processCheckout` function that is clean, commented and passes the provided tests. In the follow-up call the candidate cannot say what one of the branches does or why a particular lock is taken. They admit an AI assistant wrote most of it. The interviewer asks how you assess this.

▶ artefact to react to
Build the cart without AI. Then tell me where you hesitated.Learning

A learner has completed the store's cart — add, remove, change quantity, total — with an assistant writing most of it. The interviewer asks: "Rebuild it from memory, no tools, and mark every place you hesitate. Then tell me what the hesitations mean."

You have never done ML. A PM asks for "a recommendation feature". Same loop?Connections

The online store's PM asks for "recommendations, like Amazon". You have built the store and never trained a model. The interviewer asks what your first hour looks like and whether it is different from the first hour on checkout.

A URL shortener — grow it only as far as its requirements justify.Cases

The interviewer gives you the classic: "Design a URL shortener." Then adds: "Most candidates draw a distributed system in five minutes. I want you to start from one sentence and add each component only when a requirement forces it. Tell me when you stop."