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 typeahead with async suggestions and keyboard navigationCodingBuild a typeahead in React: a search input with a dropdown of suggestions that come from an asynchronous source while the user types. The user can pick a suggestion with the mouse…
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…
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…
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…
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…
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…
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
How would you prevent hallucinations in an LLM-based system?ML designA screening question: how do you keep an LLM-based system from making things up? Cover grounding the model with retrieval and citations, constraining outputs, checking answers…
Last asked Nov 2025
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
Design a string type: memory layout, moves and thread safetyCodingWhat is a string in a programming language? Describe what fields a string struct holds (for example in Rust: pointer, length, capacity) and how you would implement one yourself…
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. -…
Question types
xAI interview process and questions · Land the Lab