Roadmap
Coding-Interview Candidate
Technical interviews test a narrow skill: writing correct code for a small problem while explaining yourself. This route pairs each piece of data-structure theory with a visualizer that shows it running and practice problems that make you write it, then moves on to the design, SQL and behavioral rounds that decide as many outcomes as the algorithms do. The practice problems here are checked against hidden tests in your browser, and the interview questions are ones you mark yourself against a model answer — no site can tell you that you are ready.
6 stages · 35 steps
Who this is for
Anyone preparing for a technical interview who already writes code in at least one language, including self-taught developers who never studied data structures formally.
The cost of code
Say what a piece of code costs in time and space, and solve array and string problems without brute force.
- Concept guideBig O NotationEvery later answer is judged in this vocabulary, so it comes first.
- Concept guideArrays and StringsThe baseline costs everything else gets compared against.
- Practice problemTwo Number SumThe clearest example of trading memory for time.
- Practice problemValid PalindromeTwo pointers, plus the input-cleaning detail interviewers watch for.
- Practice problemReverse Words in a StringEasy to describe, easy to get wrong on whitespace — a fair warm-up.
Searching and sorting, seen running
Implement binary search correctly, and reach for a hash map or a sort as a deliberate choice.
- Concept guideSorting AlgorithmsThe clearest place to compare complexities against each other.
- VisualizerSorting visualizerWatch the comparisons and swaps happen; the difference between algorithms becomes obvious.
- VisualizerBinary search visualizerSee the search space halve before you try to write the loop bounds.
- Practice problemBinary SearchNow write it. Off-by-one errors here are the classic interview stumble.
- Concept guideHashing and Hash TablesAverage-case against worst-case, which is exactly what a follow-up question probes.
- Practice problemGroup Word ClustersChoosing a good key is the whole problem.
Linear structures
Use a list, stack or queue because the problem calls for it, and handle pointer bookkeeping without panic.
- Concept guideLinked ListsThe opposite trade-off to an array, and a favourite of interviewers for that reason.
- VisualizerLinked list visualizerPointer reassignment is much easier to reason about once you have watched it.
- Concept guideStacks and QueuesLast in first out against first in first out, and the traversals each one gives you in the next stage.
- VisualizerStack and queue visualizerPush and pop a few items yourself; the ordering rules then stop needing to be memorised.
- Practice problemBalanced ParenthesesThe problem that makes a stack feel inevitable.
- Practice problemWarmer Day CountdownA monotonic stack — the pattern behind a whole family of questions.
- Practice problemCycle in a Sequence ChainTwo pointers moving at different speeds, on a structure you cannot see.
Recursion, trees and graphs
Write a recursive solution and its iterative equivalent, and traverse a tree or graph without getting lost.
- VisualizerRecursion visualizerWatch the call stack grow and unwind before trusting recursion under pressure.
- Concept guideTrees and GraphsDepth-first is a stack, breadth-first is a queue — which is why this stage comes after those.
- VisualizerGraph search visualizerSee the order nodes are visited in, which is the part people describe wrongly.
- Practice problemBinary Tree Level Order SumBreadth-first traversal with something to do at each level.
- Practice problemShortest Hop CountRecognising a problem as a graph search is most of the work.
- Practice problemNth Fibonacci Number (Memoized)The gentlest introduction to caching subproblems.
- Practice problemFewest Coins for AmountDynamic programming proper, once memoization makes sense.
The patterns interviews reuse
Recognise the sliding window and interval families on sight, and write a solution from an empty editor.
- Practice problemLongest Stretch Without a RepeatThe sliding window, with a set tracking what is inside it.
- Practice problemWidest Water TankTwo pointers converging, and an argument for why that is safe.
- Practice problemMerge Overlapping BookingsSort first, then sweep: the standard opening for interval questions.
- PlaygroundPython playgroundRewrite a solved problem from scratch here, with no starter code and no hints.
- ReferencePython cheat sheetInterviews reward knowing your own standard library cold.
The rest of the interview
Prepare the rounds that are not algorithm questions, because they decide as many outcomes.
- Interview prepCoding & DSA interview questionsThe concepts behind the problems, as questions with model answers you mark yourself.
- Interview prepSystem Design interview questionsOpen-ended rounds where the trade-off you name matters more than the diagram.
- Interview prepSQL interview questionsA SQL round appears in far more processes than candidates expect.
- PlaygroundSQL playgroundWrite the queries rather than reading them, the evening before.
- Interview prepBehavioral interview questionsStructure a few real stories in advance; this round is failed more often than the algorithm one.
Projects to build along the way
Briefs in the languages this roadmap uses.
- Number guessing gameHide a number, read guesses one line at a time, and say higher or lower until it is found.
- Gradebook reportTurn a list of students and scores into an aligned table with averages and letter grades.
- Corner shop sales reportBuild a two-table shop database from scratch, then answer six real questions about it in SQL.
- Text adventure driven by dataA small explorable world where the rooms live in a data structure, not in a chain of if statements.
- REST API for a notes appA small HTTP API with a real database behind it, honest status codes, and tests that hit every route.
- Mini search engineAn inverted index over your own documents, with ranking you can justify term by term.
Interview topics for this role
What you will need to learn elsewhere
This site cannot teach everything this role involves. Plan for these too:
- Writing code while someone watches and interrupts — in a shared document, on a whiteboard, or in a call. The pressure is the skill being tested.
- Mock interviews with a person who pushes back on your first answer and asks for the complexity.
- High-volume timed practice on a judge that runs hidden tests, once the patterns here are familiar.
- Negotiating the problem statement: asking about input size, duplicates and edge cases before writing anything.
- Deep familiarity with one language's standard library, including the data structures you did not implement yourself.
- The specific company's process — take-home tasks, pair programming, domain rounds. Ask the recruiter rather than guessing.
- Behavioral stories from your own work; they cannot be borrowed, and vague ones are obvious.