A recruiter call, a phone stage of a 60-minute coding round and a hiring-manager chat, then an onsite of four or five rounds: pair programming, a project deep dive, one or two system designs and a behavioral round. Senior candidates add a director conversation and two references.

18 questions

  • 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 Oct 2026
  • Train a model to extract highlight snippets from textML designEach training example is a passage of text with the snippet that should be highlighted and its start and end positions. Complete a PyTorch training pipeline that learns to predict…
    Last asked Oct 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 Aug 2026
  • Design real-time comments on a design canvasSystem designLet people pin comments to points and objects on a shared design canvas, reply in threads, and see each other's comments live as the design changes underneath them.
    Last asked Aug 2026
  • Select table cells and set a colorCodingDesign a Table class for a whiteboard app. A table has a fixed number of rows and columns. A user selects part of the table and sets a color on everything selected. Every cell…
    Last asked Aug 2026
  • Design a top-K popular items systemSystem designReport the K most viewed or played items over sliding windows (last minute, hour, day) from a firehose of billions of events per day.
    Last asked Aug 2026
  • Validate and parse a bracketed list stringCodingYou are given a string s made of lowercase letters, commas, and the parentheses ( and ). A run of letters is a word. Commas separate items. A pair of parentheses wraps a group of…
    Last asked Aug 2026
  • Design permission-aware enterprise searchAI systemDesign search across every app a company uses (Drive, Confluence, Slack, Jira, GitHub, email and more) from one search box, plus an assistant that answers from the results. Nobody…
    Last asked Jul 2026
  • Design layer document with undo, redo and batchesCodingYou are building the core of a design tool. A document holds layers. Each layer has a unique integer id and a set of string properties, such as color, shape or size. A layer does…
    Last asked Jul 2026
  • Inherited permissions across teams, folders and filesCodingDesign a permission system for a workspace organized as a hierarchy of teams, folders, and files. - A team is a root. It can contain folders and files. - A folder sits inside a…
    Last asked Jul 2026
  • Design a feed recommendation systemML designRank the items in each user's home feed so they engage more, choosing from millions of candidates within a couple of hundred milliseconds.
    Last asked Apr 2026
  • SQL: each user's first share and closest collaboratorCodingTables hold users, files and user actions on files. Write SQL that finds the first time each user shared a file, then a query for each user's closest collaborator, the person they…
    Last asked Jan 2026
  • Validate an IPv4 addressCodingGiven a string, decide whether it is a valid IPv4 address: four decimal numbers from 0 to 255 separated by dots, with no leading zeros and nothing else in the string.
    Last asked Jan 2026
  • 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.
    Last asked Jan 2026
  • Run and operate a monolith on KubernetesSystem designA hiring-manager conversation for an infrastructure team whose backend is one large monolithic service. How would you run, deploy and operate it on Kubernetes: rollouts, health…
    Possibly retired
  • Fill placeholders in a template stringCodingWrite a function that fills in a template string. template may contain placeholders written as {name}. The text between the braces is a variable name. keysi is a variable name and…
  • Template formatter with plural blocksCodingImplement formattemplate(text: str, keys: liststr, values: liststr) - str. keysi maps to valuesi; all values are strings. text can contain two kinds of expressions in braces: 1…