A short recruiter call, a 45-minute coding screen and often a hiring-manager screen, then a virtual onsite of coding, code review, system design and a project deep dive. A separate core-values round follows once those pass, then team matching, which can take weeks.

78 questions

  • 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 Oct 2026
  • Behavioral round on company valuesBehavioralA behavioral round anchored on the company's published values: bring experiences covering conflict, feedback, mentorship, leading work and technical trade-offs. Reported on…
    Last asked Sep 2026
  • Task manager with user quotas and expiring assignmentsCodingBuild an in-memory TaskManager in four levels. Each level adds methods to the same class, and you move to the next level only after the current one passes. Every method takes an…
    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
  • Hiring-manager round on impact and collaborationBehavioralA behavioral round on past project impact, work with non-engineering partners, mentorship, and roadmap influence. Distinct from the values-focused culture round.
    Last asked Sep 2026
  • Text box formatterCodingImplement formatboxes(sentences: liststr) - liststr. Each sentence is a non-empty string of printable ASCII characters and spaces. Draw every sentence in its own ASCII box and…
    Last asked Sep 2026
  • Cloud storage with user quotas and backupsCodingDesign an in-memory cloud storage service. The interview has four parts. Each part adds methods, and every earlier method must keep working. Implement a class CloudStorage. File…
    Last asked Sep 2026
  • Highlight categorized phrases in a reviewCodingReviews on a travel site should show key phrases with their category. Write a function that marks every mapped phrase in a review. mapping is a list of (phrase, category) pairs…
    Last asked Sep 2026
  • Design a personalized search ranking systemML designRank search results for each user's query and context so they find and book (or order) what they want, learning from clicks and conversions.
    Last asked Sep 2026
  • Find super hosts from listing and review rulesCodingGiven host data with their listings, ratings and reviews, return the hosts who qualify as super hosts under several rules that must all hold, such as a minimum number of listings…
    Last asked Sep 2026
  • Median house price in each cityCodingGiven a list of house sales with a city and a price, return the median price for each city. Group the prices by city in a dictionary, sort each group, and take the middle value…
    Last asked Sep 2026
  • Time on page from the next user eventCodingGiven a table of user events with timestamps, estimate how long each user stayed on each page as the time until that user's next event. Use LEAD() partitioned by user and ordered…
    Last asked Sep 2026
  • Users with impressions on seven consecutive daysCodingFrom a table of user impressions with dates, find the users who had at least one impression on seven days in a row. Remove duplicate days per user, then use a window function (row…
    Last asked Sep 2026
  • Parse URL query parameters with repeated and nested keysCodingA web service receives HTTP GET requests. The part of the URL after the first ? is the query string. Write a parser that turns it into a dictionary. Implement parsequery(url: str)…
    Last asked Aug 2026
  • Smallest number from a set of digits, with a lower boundCodingPart 1. You are given a non-empty list digits of single-digit integers (each 0-9). Use every element exactly once and arrange them to form the smallest possible non-negative…
    Last asked Aug 2026
  • Review a series of pull requestsCodingYou get two or three pull requests, each harder than the last, in Python or Java. Read each one, leave comments as you would on a real review, and point out bugs, design problems…
    Last asked Aug 2026
  • Generic retry helper with configurable backoffCodingCalls to remote services fail now and then for reasons that go away on their own: a dropped connection, a busy server, a timeout. Write a generic retry helper that runs a…
    Last asked Aug 2026
  • Shift grants with promotions that start next entryCodingTrack workers clocking in and out, apply promotions starting from the next office entry, and total granted bonuses across overlapping work sessions. - Level 1: addworker(id…
    Last asked Aug 2026
  • Design a reliable job schedulerSystem designDesign a service that runs jobs at scheduled times at large scale, such as payment jobs that must run on time and exactly once in effect. Cover storing schedules, finding jobs…
    Last asked Aug 2026
  • Fill an order from the oldest inventory batches firstCodingA warehouse keeps stock in batches received at different times. Fill an order by taking units from the oldest batches first, moving to newer batches as each one runs out. Return…
    Last asked Aug 2026
  • Recipe manager with ingredient searchCodingBuild an in-memory recipe book. Each recipe has a name, an ordered list of ingredients and an ordered list of steps. The work comes in two parts; finish part 1 before you start…
    Last asked Jul 2026
  • Flatten a 2D array with removeCodingImplement a class Vector2D that walks a 2D list of integers row by row, left to right, and lets the caller delete values while walking. text Vector2D(vec: listlistint) rows may be…
    Last asked Jul 2026
  • Fill a layover with the fewest bookingsCodingYou land with a long layover and want to spend all of it on bookable local experiences. Each experience has a fixed whole-number duration in hours, and you may book the same…
    Last asked Jun 2026
  • Design a Slack-like chat systemSystem designWorkspaces, channels, threads and direct messages with real-time delivery, unread state, search and history, for large companies.
    Last asked Jun 2026
  • Design a hotel booking systemSystem designSearch hotels by place and dates, show availability and prices, and book rooms without double-booking, including holds and cancellations.
    Last asked Jun 2026
  • Design a customer support ticketing systemSystem designCustomers open tickets by email, chat or web; agents get them routed by skill and priority, with SLAs, escalation and full history.
    Last asked Jun 2026
  • Maximum candies from boxes with keysCodingSome boxes are open and some are locked. Each box holds candies, keys to other boxes, and more boxes. You start with a few boxes. You may open a box once you have it and it is…
    Last asked May 2026
  • Group booking across properties in one neighborhoodCodingA rental company houses groups in its properties. A group may be split across several properties, but all of them must be in the neighborhood the group asked for. Implement…
    Last asked May 2026
  • Connect Four game engine with win detectionCodingImplement a two-player game of Connect Four. The board has rows rows and cols columns (default 6 x 7). Players "A" and "B" alternate turns, and "A" moves first. On a turn, a…
    Last asked May 2026
  • Design a distributed key-value storeSystem designStore and serve billions of keys with low latency, partitioned across machines and replicated to survive failures, with tunable consistency.
    Last asked May 2026
  • Every cheapest way to order from a combo menuCodingA food ordering app wants to show a customer every cheapest way to buy the dishes they want. The menu is a list of entries. Each entry is (id, price, items): - id: a unique…
    Last asked May 2026
  • Deduplicate account sign-ups by email and phoneCodingA sign-up service processes account registrations one at a time, in the order they arrive. You get three lists of the same length n: names, emails and phones. Index i of each list…
    Last asked Apr 2026
  • Refund allocation across prioritized payment methodsCodingA customer's order was paid with one or more payments, and some of them may already have been partly refunded. Implement a function that splits a new refund across those payments…
    Last asked Apr 2026
  • Semantic search with user embeddingsML designDesign search that uses embeddings of users together with embeddings of listings, so results match both the request and the person searching. Cover how the user and item…
    Last asked Apr 2026
  • Design an A/B testing platformSystem designDesign a platform that lets teams run A/B tests: define an experiment, assign users to variants consistently, log exposures and events, and compute results with confidence…
    Last asked Apr 2026
  • Flatten a nested list iteratorCodingA list holds integers and other lists, nested to any depth. Write an iterator with next() and hasnext() that returns the integers in order. Do it lazily with a stack of positions…
    Last asked Apr 2026
  • Sliding puzzle on a 2 by 3 boardCodingA 2 by 3 board holds tiles 1 to 5 and one empty cell. A move slides a tile next to the empty cell into it. Return the fewest moves to reach the solved board, or -1 if it cannot be…
    Last asked Apr 2026
  • Score a tile board by connected terrain regionsCodingA tile-laying board game ends when every player has filled a rectangular board. You must compute a player's final score. You are given board, a 2D list of strings with R rows and…
    Last asked Mar 2026
  • Best-scoring ski run through a trail mapCodingA ski area has mapped its one-way trails between named checkpoints. The trail map has no cycles: once you ski down a trail you can never get back to where you were. Every trail…
    Last asked Mar 2026
  • Rotting oranges: time for an infection to cover a gridCodingA grid has empty cells, healthy cells and infected cells. Every minute each infected cell infects its healthy neighbors up, down, left and right. Return the minutes until no…
    Last asked Mar 2026
  • Split stays across two listingsCodingA vacation rental site wants to offer split stays: when no single home is free for a guest's whole trip, the guest stays in one home first and then moves to another. There are n…
    Last asked Feb 2026
  • Pour water onto a terrainCodingAn array gives the height of each column of a terrain. 1. Print the terrain. 2. Drop a given number of water units at a column, one at a time. Each unit moves left if it can…
    Last asked Feb 2026
  • Smallest number from an increase and decrease patternCodingGiven a pattern of I (increase) and D (decrease) characters of length n, build the smallest number of n + 1 distinct digits from 1 to 9 whose consecutive digits follow the…
    Last asked Feb 2026
  • Intersection of two linked lists that may have cyclesCodingGiven the heads of two singly linked lists, each of which may or may not contain a cycle, decide whether they share a node and return the first shared node. Find where each list's…
    Last asked Jan 2026
  • Design photo and listing quality modelsML designDesign models that score the quality of listing photos and of listings overall, so better listings can be surfaced and hosts can be told what to improve. Cover defining quality…
    Last asked Jan 2026
  • Design Airbnb's notification systemSystem designSend booking confirmations, reminders and host messages over push, email and SMS, respecting user preferences and time zones, without duplicates.
    Last asked Dec 2025
  • Design a user activity query systemSystem designDesign a system that stores user activity events at scale and lets services query a user's activity, for example everything a user did in a time range, filtered by type. Cover the…
    Last asked Dec 2025
  • In-memory SQL table with filtering and multi-key sortingCodingBuild a small in-memory SQL-like database. You do not need to parse SQL text. Queries arrive as structured arguments. Implement SQLManager: - createtable(name: str, columns:…
    Last asked Nov 2025
  • Design a wallet with holds and payoutsOO designDesign and code a wallet for a rental platform. Users keep a balance; money can be put on hold (for example when a booking is made), then captured or released, and hosts receive…
    Possibly retired
  • 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…
    Possibly retired
  • Weighted job schedulingCodingEach job has a start time, an end time and a profit. Choose jobs that do not overlap to make the most profit. Sort jobs by end time; for each job, binary search for the last job…
    Possibly retired
  • Design a listing watchlist with availability alertsSystem designUsers can add rental listings to a watchlist and get notified when something they care about changes, such as dates opening up or a price drop. Design it: the watchlist data…
    Possibly retired
  • Sum tree with node values computed from childrenCodingA tree's leaves hold numbers, and every other node's value is the sum of its children. Return the value of any node. Then support changes: turn a node into a leaf with a value, or…
    Possibly retired
  • Build a booking widget with live pricingCodingBuild a small reservation widget for a listing, front end and a simple back end. Pick check-in and check-out dates and the number of adults and children; show the total price…
    Possibly retired
  • Design a customer lifetime value prediction systemML designDesign a machine learning system that estimates each user's long-term value on the platform. Cover defining the target and horizon, labels when long-term value is not yet known…
    Possibly retired
  • Design a listing price suggestion systemML designSuggest a nightly price for each listing and date that hosts will accept and that books, adapting to seasonality, events and local demand.
    Possibly retired
  • Palindrome pairsCodingGiven a list of distinct words, return every pair of indices (i, j) where wordsi + wordsj is a palindrome. Checking all pairs is too slow; put the reversed words in a hash map (or…
    Possibly retired
  • Shortest path to collect all keysCodingA grid has walls, a start cell, keys (lowercase letters) and locks (the matching uppercase letters). A lock can only be passed once you hold its key. Return the fewest steps to…
    Possibly retired
  • Design a waitlist for in-demand listingsSystem designWhen a popular listing is not available for the dates a guest wants, the guest can join a waitlist. Design the API and system behind it: joining and leaving, detecting when the…
    Possibly retired
  • Collatz sequence steps with memoized range maximumCodingStarting from a positive integer n, repeat the following until n equals 1: - If n is even, set n = n / 2. - If n is odd, set n = 3n + 1. Each replacement counts as one step. (It…
  • Crack a 4-digit code from exact-match countsCodingA server holds a secret 4-character code. Each character is a digit from '0' to '9'. Digits may repeat, and the code may start with zeros. You can only learn about the code…
  • Design a distributed job schedulerSystem designDesign a service that runs millions of scheduled and on-demand jobs (cron-like and one-off) reliably across a fleet of workers.
  • Design a duplicate listing detection systemML designFind hosts who relist the same property under a new listing (to shed bad reviews or evade bans), using text, photos, location and host signals.
  • Design an ad click aggregation systemSystem designCount ad clicks per ad and per time window from billions of events a day, accurately enough to bill advertisers, with results available within minutes.
  • Design an online chess gameSystem designMatch players of similar rating, play live games with clocks, handle disconnects and reconnects, and keep game history and ratings.
  • Design Google CalendarSystem designCreate events, invite people, handle recurring events and time zones, show free/busy, and send reminders, for hundreds of millions of users.
  • Justify articles to a fixed line widthCodingYour platform shows articles in a fixed-width text column. Write a function that lays out a list of articles and returns every output line in order, as one flat list. Rules - Each…
  • Maximum profit from unit-time tasks with deadlinesCodingYou are given a list of tasks. Each task is a list of three strings: name, deadline, profit. - Every task takes exactly 1 second, and only one task can run at a time. - Time…
  • Median of a large unsorted array in linear timeCodingYou are given a very large, unsorted list of integers nums. Return its median. - If len(nums) is odd, the median is the middle value once the list is sorted. - If len(nums) is…