Question bank
Interview questions, with guidance on how to answer
834 questions across 64 roles. Open one to see what a strong answer includes and common slips, then drill it out loud with Ava. New to answer structure? Start with the learning hub.
Behavioural
Past experience: what you did and what happened.
220 questions
Technical
Craft knowledge and how you would do the work.
572 questions
Case
A scenario to reason through and decide.
29 questions
System design
Design a system and defend the trade-offs.
13 questions
572 questions match your filters.
- TechnicalMid levelAny software role
Coding problem: Sliding-Window Rate Limiter. An API lets each client make at most `limit` accepted requests in any window of `window_ms` milliseconds. You get the incoming `requests` as `[client_id, timestamp_ms]` pairs in time order. Decide, in order, whether each request is accepted, and return a list of booleans.
Tests: Problem solving
- TechnicalMid levelAny software role
Coding problem: Diff Lists by ID. A UI keeps a list of items, each an object with a unique integer `id` plus other fields. Given the list `before` and the list `after`, return an object `{"added": [...], "removed": [...], "changed": [...]}` of ids:
Tests: Problem solving
- TechnicalMid levelAny software role
Coding problem: Search a Rotated List. A list of distinct integers was sorted in increasing order and then rotated: some prefix was moved to the end, so `[1, 3, 5, 8, 9]` might have become `[8, 9, 1, 3, 5]`. Given the rotated list `nums` and an integer `target`, return the index of `target` in `nums`, or `-1` if it isn't there.
Tests: Problem solving
- TechnicalMid levelAny software role
Coding problem: Fewest Steps Through a Warehouse. A warehouse floor is a grid given as a list of strings, one per row: `.` is open floor and `#` is a shelf. A robot starts in the top-left cell and must reach the bottom-right cell. Each step moves it one cell up, down, left or right; it can't move onto a shelf or off the grid.
Tests: Problem solving
- TechnicalMid levelAny software role
Coding problem: Build Order. There are `n` build tasks numbered `0` to `n - 1`. Each pair `[a, b]` in `deps` means task `a` must finish before task `b` can start. Return an order in which all the tasks can run, one at a time.
Tests: Problem solving
- TechnicalMid levelAny software role
Coding problem: Fewest Coins. Given coin values `coins` (with an unlimited supply of each) and a target `amount`, return the smallest number of coins that add up to exactly `amount`, or `-1` if it can't be done.
Tests: Problem solving
- TechnicalMid levelAny software role
Coding problem: Cheapest Delivery Route. A delivery network is given as an adjacency list: `graph` maps each depot name to a list of `[neighbor, cost]` pairs, one for each one-way road leaving that depot. Costs are non-negative integers. Return the lowest total cost of a route from `start` to `goal`, or `-1` if there's no route.
Tests: Problem solving
- TechnicalSeniorAny software role
Coding problem: Rainwater Between Walls. `heights` lists the heights of walls of width 1 standing side by side. After heavy rain, water fills every dip that has taller walls on both sides; anything above the outer edges runs off. Return the total units of water held.
Tests: Problem solving
- TechnicalSeniorAny software role
Coding problem: Moving Median. Given a list of integers `values` and a window size `k`, return the median of every window of `k` consecutive values, from left to right. There are `len(values) - k + 1` windows; return an empty list when `k` is larger than the list.
Tests: Problem solving