Fast (often two to three weeks) and almost entirely hands-on coding: a 15-minute screen with an engineer, for some tracks a four-hour take-home, a live applied coding screen, then two or three in-person rounds of coding and design, with ownership probed by the hiring manager rather than in a separate behavioral round.

51 questions

  • Design Google DocsSystem designMany people edit the same document at once and see each other's changes and cursors live, with offline edits and full version history.
    Last asked Sep 2026
  • React list loaded with useEffectCodingWrite a React component that loads a list from an endpoint with useEffect and displays it. Handle loading and error states, keys for list items, and cleanup so a late response…
    Last asked Sep 2026
  • Render nested JSON in a code-style viewerCodingBuild a React component that displays a given JSON object the way a code editor would: indentation, braces and brackets, keys and values styled by type, and nested objects and…
    Last asked Sep 2026
  • Design TinyURLSystem designTurn long URLs into short links and redirect visitors fast, at billions of redirects a day, with optional custom aliases and expiry.
    Last asked Sep 2026
  • Find and fix the races in a bank account classCodingYou are shown a small bank account class used from several threads, with a deposit method that loses updates. Find every concurrency bug, fix it, and explain why your fix is…
    Last asked Sep 2026
  • Sort an array with k worker threadsCodingImplement parallelsort(nums: listint, k: int) - listint, which returns every element of nums in ascending order and uses k worker threads for the heavy lifting. Rules - Split nums…
    Last asked Sep 2026
  • Find bad GPU nodes with group testsCodingA cluster has n GPU nodes with ids 0 to n - 1. Each node is either good or bad, and you do not know which in advance. The only way to learn anything is a test service: A failing…
    Last asked Sep 2026
  • How data collection shapes model performanceML designPick a project from your resume and explain how its data was collected and processed. Then discuss how data choices (coverage, label quality, noise, imbalance, distribution shift)…
    Last asked Sep 2026
  • Inference loop with continuous batching over a mock modelCodingYou get a model function that takes a batch of sequences and returns one next token for each. Write the serving loop: keep a fixed number of batch slots full, retire a sequence…
    Last asked Sep 2026
  • Per-key fixed-window cost limiterCodingBuild a rate limiter that meters cost rather than request count. Each key may spend at most limit units in each fixed window of window seconds, with windows aligned to multiples…
    Last asked Sep 2026
  • Project deep dive: present a project you ledBehavioralPresent a project you led in about 20 minutes: context, your role, the architecture, three hard trade-offs, metrics, cost and return, and what you would change. Then take 25…
    Last asked Sep 2026
  • Recruiter screen: motivation, background and logisticsBehavioralA short first call with a recruiter: a few standard behavioral questions about your background and why you want the role, then timeline, location and compensation expectations…
    Last asked Jun 2026
  • Resumable iterators that save and restore their positionCodingDefine an iterator interface that can export its state and be resumed from it later. Implement it for a flat list, then for nested multi-dimensional lists, then across several…
    Last asked Apr 2026
  • Anthropic OA: leveled in-memory record storeCodingA timed, multi-level exercise building an in-memory store of records with fields: create and read first, then scans and filters, then timestamps with expiry, then backup and…
    Last asked Apr 2026
  • Per-user token bucket limiter with interval refillsCodingBuild a per-user token rate limiter for an AI API. Every user has their own policy, and one user's traffic never affects another's. A policy has three positive integers: -…
    Last asked Apr 2026
  • Design a notification systemSystem designA shared service other teams call to send push, email and SMS notifications: templates, user preferences, retries, deduplication and rate limits.
    Last asked Mar 2026
  • Courier pay from order eventsCodingA delivery courier is paid for active time. You receive the events of their orders (for example accepted and delivered, with timestamps) as if from an upstream service. Compute…
    Last asked Mar 2026
  • Flatten and rebuild nested Python containersCodingGiven an arbitrarily nested mix of lists, tuples and dicts with integer leaves, produce a flat list of the integers in order. Then, given the original structure and a new flat…
    Last asked Mar 2026
  • Backend for a game of checkersCodingBuild the backend of a checkers game under time pressure: board state, legal moves, captures and the win condition, with a data model you can explain. A working core matters more…
    Last asked Feb 2026
  • Pluggable hierarchical rate limiterCodingDesign a rate limiter with hierarchical limits (user, team, global) whose limit rules are pluggable without changing the core. Reported on 1point3acres' Cursor bank; reconstructed…
    Last asked Feb 2026
  • Total listener time per live audio room from an event logCodingA time-ordered log records rooms being created and users joining and leaving them. Compute the total user-time spent in each room, handling users who never leave and rooms that…
    Last asked Feb 2026
  • Implement an LRU cacheCodingImplement a least-recently-used cache with get(key) and put(key, value), both in O(1) time, with a fixed capacity.
    Last asked Feb 2026
  • Post ingestion and LLM scoring pipeline take-homeCodingOver a few hours, build a small pipeline that loads a public dataset of social posts, validates each record against a schema, stores them locally, and runs a worker that sends…
    Last asked Jan 2026
  • Design a rate limiterSystem designDesign a service that limits how many requests each API client can make. It sits in front of every API endpoint at high traffic.
    Last asked Jan 2026
  • Radix cache for integer sequences with LRU evictionCodingImplement RadixCache, a cache of integer sequences (for example, token IDs of model prompts) stored in a radix tree: a trie whose edges hold runs of integers instead of single…
    Last asked Jan 2026
  • K-th largest value over the last N seconds of a streamCodingStart with finding the k-th largest element of an array. Then values arrive with timestamps and queries ask for the k-th largest among values from the last N seconds; design a…
    Last asked Jan 2026
  • Key-value store with nested transaction rollbackCodingImplement an in-memory key-value store whose string keys map to string values. It supports transactions, and transactions can be nested. Implement the class KeyValueStore: -…
    Last asked Jan 2026
  • Design a RAG system over company docsAI systemEmployees should be able to ask questions about internal documents (Drive, Confluence, Slack, GitHub) and get grounded answers with citations.
    Last asked Jan 2026
  • Crash-safe on-disk key-value storeCodingBuild a filesystem-backed hash table that survives crashes and restores every entry from the latest state on restart. Reported on 1point3acres' Baseten bank; reconstructed in our…
    Last asked Jan 2026
  • Greedy longest-match tokenizerCodingImplement a greedy longest-match tokenizer. You are given a string text and a list dictionary. Each entry has the form "<key:<id". key is a non-empty token string and id is its…
    Possibly retired
  • Insert, delete and get random in O(1)CodingDesign a set with insert(val), remove(val) and getrandom(), each in average O(1) time. getrandom returns each current element with equal probability.
    Possibly retired
  • Design a retrieval-augmented generation systemAI systemDesign a RAG system: users ask questions and an LLM answers using documents retrieved from your corpus. Cover ingestion and chunking, embeddings and the index, retrieval and…
    Possibly retired
  • LRU cache where each item counts by its quantityCodingImplement an LRU cache in which every item carries a quantity, and capacity is measured in total quantity rather than number of items. A put may evict several least recently used…
    Possibly retired
  • LFU cacheCodingImplement a least-frequently-used cache with get and put in O(1). When full, evict the key used least often, breaking ties by least recently used. Keep a map from key to node and…
    Possibly retired
  • Task scheduler with a cooldown between identical tasksCodingGiven a list of tasks (letters) and a cooldown n, identical tasks must be at least n time units apart; the CPU can idle. Return the fewest time units to run them all. Solve it…
    Possibly retired
  • House price predictionML designHow would you build a model that predicts house prices? Cover the features, handling missing values and outliers, model choice (from linear regression to gradient-boosted trees)…
    Possibly retired
  • Valid palindrome and its variantsCodingDecide whether a string is a palindrome after ignoring case and anything that is not a letter or digit. Then solve variants: allow deleting at most one character, or check without…
    Possibly retired
  • LRU cacheCodingBuild a key-value cache with a fixed capacity that evicts the least recently used entry when it is full. get(key) returns the value or a miss, put(key, value) inserts or updates…
    Possibly retired
  • Predictive text for a phone keypadCodingOn a phone keypad each digit maps to several letters (2 = abc, 3 = def, ...). Given a dictionary and a sequence of digit presses, return the words the sequence could spell, T9…
    Possibly retired
  • Build your story bankBehavioralPrepare 8 to 15 real stories, each tagged with the signals it shows (ownership, conflict, failure, ambiguity, influence, impact, mentorship, quality), so that any behavioral…
  • Design ChatGPTAI systemDesign a consumer chat product backed by a large language model: conversations, streamed replies, history across devices, at 100M weekly users.
  • How do you use AI in your work?BehavioralDescribe how AI tools fit into your engineering work: where they help, where they fail, how you verify their output, and how they have changed the way you or your team work.
  • Merge known bigrams in a sentence, leftmost firstCodingWrite a function that splits a sentence into tokens using a dictionary of known two-word phrases (bigrams). - text is a non-empty string of lowercase words separated by spaces. -…