#01 medium
wordlab — Complementary Pairs You have just been handed the wordlab repo. Read it before you change it.
Codebase AI-Assisted (3-phase)
#02 medium
ledger — Longest Balanced Run You have just been handed the ledger repo, the audit tools the finance team runs at month end. Read it before…
Codebase AI-Assisted (3-phase)
#03 hard
ridgeline — Longest Blocked View You have just been handed the ridgeline repo, which produces the numbers in a printed trail guide. Read it…
Codebase AI-Assisted (3-phase)
#04 medium
logstream — Read, Fix, Speed Up The logstream ingest pipeline has two open items against it, and you did not write any of it.
Codebase Code Comprehension
#05 medium
uptime — Read, Fix, Speed Up The uptime service produces the "longest clean run" figure on a public status page. There are two open items…
Codebase Code Comprehension
#06 medium
badge — Read, Fix, Speed Up The badge service reads the door log from the lobby turnstiles and produces the "repeat visitors" figure on a…
Codebase Code Comprehension
#07 easy
checkout — Two Pricing Defects Support has two complaints open against the checkout service. Both are about money, and both are reproducible…
Codebase Debug Only (AI off)
#08 easy
timecard — Short Paychecks Payroll has a ticket open against the timecard service: three people were underpaid last week and everyone…
Codebase Debug Only (AI off)
#09 medium
lockfile — Wrong Upgrades The lockfile service runs a nightly job that proposes package upgrades. It has a ticket open against it…
Codebase Debug Only (AI off)
#10 easy
PR #88 — Paginate the orders list A teammate has added pagination and sorting to the orders endpoint and asked you to review it.
Code Review Code Review (broken PR)
#11 easy
PR #140 — Rename users.phone_number to users.phone A teammate is cleaning up the users table and has asked you to review the migration before it runs on…
Code Review Code Review (broken PR)
#12 medium
PR #412 — Session token refresh A teammate has opened a pull request against the auth service and asked you to review it.
Code Review Code Review (broken PR)
#13 medium
PR #644 — CSV export, written by an agent A teammate assigned a ticket to a coding agent: "Implement the users CSV export for admins. The route is…
Code Review Code Review (broken PR)
#14 medium
PR #231 — Retry failed webhook deliveries A teammate has added retries to the webhook delivery worker and asked you to review it.
Code Review Code Review (broken PR)
#15 medium
PR #305 — Put the new checkout behind a percentage flag The payments team has rebuilt checkout and wants to send a small share of customers to it first. A teammate…
Code Review Code Review (broken PR)
#16 hard
PR #507 — Cache permission checks A teammate has put a cache in front of the permission check, which every request goes through, and asked you…
Code Review Code Review (broken PR)
#17 hard
PR #518 — Send the weekly digest from a background job The weekly digest email used to be sent by a script someone ran by hand on Mondays. A teammate has moved it…
Code Review Code Review (broken PR)
#18 easy
Palindrome Checker Given a string s, return True if it is a palindrome after removing all non-alphanumeric characters and…
Algorithm Single Problem (AI on)
#19 easy
Moving Average Given a list of numbers nums and a window size k, return a list of moving averages. Each element i in the…
Algorithm Single Problem (AI on)
#20 easy
Word Frequency Counter Given a string of text, return the top n most frequent words as a list of [word, count] pairs, sorted by…
Real-World Task Single Problem (AI on)
#21 easy
Number Formatter Format a number with thousands separators (commas) and a specified number of decimal places. Handle negative…
Real-World Task Single Problem (AI on)
#22 easy
Normalize Customer Phone Numbers Given a list of raw phone-number strings pulled from a messy CRM export, return a new list containing each…
Data Engineering Single Problem (AI on)
#23 easy
Generate URL Slugs From Titles Turn a list of article titles into clean, web-safe URL slugs.
Data Engineering Single Problem (AI on)
#24 easy
Parse a Single CSV Line With Quotes Parse a single line of CSV text into a list of field values.
Parsing Single Problem (AI on)
#25 easy
Flatten a Nested Config Object Write a function that takes a nested configuration object and returns a flat object whose keys are the full…
Data Engineering Single Problem (AI on)
#26 easy
Aggregate Sales Totals by Day You are given a list of order records. Each record is an object with two fields:
Data Engineering Single Problem (AI on)
#27 easy
Validate and Bucket ISO Timestamps Your log ingestion pipeline receives event timestamps as strings. Before they hit the time-series store, you…
Parsing Single Problem (AI on)
#28 easy
Mask PII in Records Write a redactor that masks sensitive values before records hit your logs.
Data Engineering Single Problem (AI on)
#29 easy
Deduplicate Contacts by Email You are given a list of contact records. Each record is a dictionary/object with three keys:
Data Engineering Single Problem (AI on)
#30 easy
Top-N Words in Support Tickets Your support inbox is a pile of free-text ticket bodies, and the team wants a quick read on what customers…
Algorithm Single Problem (AI on)
#31 easy
Format Amounts as Currency Strings Payment systems store money as integer minor units to avoid floating-point error. A USD amount of $12.34 is…
Data Engineering Single Problem (AI on)
#32 easy
Bucket Requests Into Rate Windows A rate limiter divides time into back-to-back fixed windows of window_size seconds, anchored at epoch zero…
Systems Design Single Problem (AI on)
#33 easy
Merge Layered Feature Flag Configs A feature-flag service resolves a flag's effective value by stacking configuration layers from least specific…
Data Engineering Single Problem (AI on)
#34 medium
Find All Duplicates Given a list of integers nums, return a list of all elements that appear more than once.
Algorithm Single Problem (AI on)
#35 medium
Sales CSV Report You are given a CSV string representing sales data with columns: product, quantity, price.
Real-World Task Single Problem (AI on)
#36 medium
Nested JSON Flattener Write a function flatten(obj) that converts a deeply nested dictionary (with nested dicts and lists) into a…
Data Engineering Single Problem (AI on)
#37 medium
LLM Text Chunker Write a function chunk_text(text, max_words, overlap=0) that splits a long text into chunks suitable for…
AI Engineering Single Problem (AI on)
#38 medium
Balanced Brackets Validator Given a string containing bracket characters ()[]{}<>, determine if the brackets are properly nested and…
Algorithm Single Problem (AI on)
#39 medium
Markdown to HTML Convert a subset of Markdown to HTML. Support: headings (#, ##, ###), bold (text), italic (text), inline code…
Real-World Task Single Problem (AI on)
#40 medium
Max Stock Profit Given a list of daily stock prices and an integer k (maximum number of buy-sell transactions), return the…
Algorithm Single Problem (AI on)
#41 medium
URL Shortener Implement an in-memory URL shortener with two functions: - encode(long_url) → returns a short alphanumeric…
Systems Design Single Problem (AI on)
#42 medium
Dependency Resolver Given a dictionary mapping package names to their list of dependencies, return a valid installation order…
Algorithm Single Problem (AI on)
#43 medium
Time Zone Converter Real-World Task Single Problem (AI on)
#44 medium
Matrix Spiral Traversal Algorithm Single Problem (AI on)
#45 medium
Config Schema Validator Given a JSON config object and a schema dictionary, validate the config and return a list of error strings…
Data Engineering Single Problem (AI on)
#46 medium
Token Bucket Rate Limiter Implement a token bucket rate limiter class. The bucket refills at rate tokens per second up to capacity.
AI Engineering Single Problem (AI on)
#47 medium
Running Stream Statistics Implement a StreamStats class that processes a stream of numbers and maintains running statistics without…
Analytics Single Problem (AI on)
#48 medium
Reconcile Ledger Against Bank Feed Write a function that reconciles a list of internal ledger entries against a bank feed. Two entries are…
Data Engineering Single Problem (AI on)
#49 medium
Resolve Highest Matching Semver Given a list of available semantic-version strings and a single version range, return the highest available…
Parsing Single Problem (AI on)
#50 medium
Apply Tiered Tax to Invoice Lines Compute the sales tax owed on an invoice, line by line and in total, using a set of category-based tax rules.
Algorithm Single Problem (AI on)
#51 medium
Detect Error-Rate Spikes in Logs You are building an anomaly detector for a time series of per-minute error counts. For each minute, you look…
Data Engineering Single Problem (AI on)
#52 medium
Compute a Structural JSON Diff Given two JSON values old and new, compute a structural diff: a list of every leaf-level difference between…
Data Engineering Single Problem (AI on)
#53 medium
Find Common Free Meeting Slots You are building the auto-scheduler behind a "find a time" button. Every attendee hands you a list of the…
Algorithm Single Problem (AI on)
#54 medium
Roll Up Headcount Through Org Tree An HR data export gives you a flat list of employees. Each record has a unique id and a manager_id pointing…
Algorithm Single Problem (AI on)
#55 medium
Compute Retry Backoff Schedule Build the delay schedule for a capped exponential backoff retry policy with deterministic jitter.
Systems Design Single Problem (AI on)
#56 medium
Normalize and Group Mailing Addresses Mailing addresses arrive from many sources written in inconsistent styles: "123 Main St", "123 Main Street"…
Data Engineering Single Problem (AI on)
#57 medium
Implement Cursor-Based Pagination Build a cursor-based pagination function over an already-sorted, in-memory dataset.
Data Engineering Single Problem (AI on)
#58 medium
Topologically Order Build Tasks A build system runs a set of named tasks. Some tasks must finish before others can start, expressed as…
Algorithm Single Problem (AI on)
#59 medium
Apply Stackable Discount Rules A checkout engine receives a shopping cart and a list of discount rules, and must compute the final order…
Algorithm Single Problem (AI on)
#60 medium
Compute Next Cron Trigger Time Implement a function that, given a standard five-field cron expression and a reference Unix timestamp…
Parsing Single Problem (AI on)
#61 medium
Sessionize User Clickstream Events Product analytics tools roll raw clickstream events up into sessions so that downstream charts can answer…
Data Engineering Single Problem (AI on)
#62 medium
Validate Records Against a Schema You are building the validation layer for an API gateway. Incoming JSON payloads must be checked against a…
Parsing Single Problem (AI on)
#63 medium
Assign Orders to Shipping Zones A logistics rating engine routes outbound packages into shipping zones based on the leading digits of each…
Algorithm Single Problem (AI on)
#64 medium
Align and Merge Time Series You are given two metric series, series_a and series_b. Each series is a list of [timestamp, value] pairs…
Data Engineering Single Problem (AI on)
#65 medium
Simulate a Token Bucket Limiter A token bucket rate limiter holds at most capacity tokens. Tokens refill continuously at refill_rate tokens…
Systems Design Single Problem (AI on)
#66 medium
Extract Mentions and Links From Posts Social feeds need to turn raw post text into structured entities so the UI can render clickable mentions…
Parsing Single Problem (AI on)
#67 medium
Compute Weekly Cohort Retention Build a weekly cohort retention matrix from raw signup and activity logs.
Data Engineering Single Problem (AI on)
#68 medium
Resolve Percentage Feature Rollout Feature-flag platforms ship features gradually by exposing them to a growing slice of users. The decision of…
Algorithm Single Problem (AI on)
#69 medium
Parse and Resolve HTTP Range Header When a client requests a partial download, it sends a Range request header. Your job is to parse that header…
Parsing Single Problem (AI on)
#70 medium
Compute SLA Breach With Business Hours A support ticket opens at a given timestamp and carries a service-level agreement (SLA) measured in business…
Algorithm Single Problem (AI on)
#71 medium
Cluster Near-Duplicate Company Names Company records arrive from dozens of messy sources, so the same business shows up many times under slightly…
Algorithm Single Problem (AI on)
#72 medium
Allocate Payment Across Open Invoices A customer sends a single lump-sum payment, and your billing system must decide which of their open invoices…
Algorithm Single Problem (AI on)
#73 medium
Build Breadcrumb Trail From Path Storefronts render a navigational breadcrumb so shoppers can see where a page sits inside the category tree…
Data Engineering Single Problem (AI on)
#74 medium
Run-Length Encode and Decode Run-length encoding (RLE) is a simple lossless compression scheme that replaces runs of the same repeated…
Algorithm Single Problem (AI on)
#75 medium
Resolve Module Import Aliases Bundlers like Vite and webpack let projects declare path aliases so that an import like @/utils maps to a…
Data Engineering Single Problem (AI on)
#76 medium
Flag Likely Duplicate Charges You are given a stream of card transactions, each a dictionary with the keys id, merchant, amount (an integer…
Data Engineering Single Problem (AI on)
#77 medium
Parse a Markdown Table to Rows A GitHub-flavored Markdown (GFM) table is a delimited text block with three parts:
Parsing Single Problem (AI on)
#78 medium
Distribute Requests by Weight A reverse proxy sits in front of a pool of backend servers. Each backend is assigned an integer weight that…
Algorithm Single Problem (AI on)
#79 medium
Detect Double-Booked Resources A scheduling backend stores reservations against shared resources (rooms, desks, tables). Each resource maps…
Algorithm Single Problem (AI on)
#80 medium
Build Searchable Normalized Index A search backend needs every product name reduced to a canonical form so that a shopper typing cafe creme…
Data Engineering Single Problem (AI on)
#81 hard
LRU Cache Design a data structure that follows the constraints of a Least Recently Used (LRU) cache.
Data Structures Single Problem (AI on)
#82 hard
Web Server Log Analyzer You are given a multi-line string of web server logs in Apache Combined Log Format:
Real-World Task Single Problem (AI on)
#83 hard
Sliding Window Rate Limiter Implement a sliding window rate limiter that tracks API requests per user.
Systems Design Single Problem (AI on)
#84 hard
Trie with Autocomplete Implement a Trie (prefix tree) data structure with the following methods:
Data Structures Single Problem (AI on)
#85 hard
Event Session Analyzer You are given a list of user events. Each event is a dictionary with: - user_id (string) - event_type…
Analytics Single Problem (AI on)
#86 hard
Expression Evaluator Write a function evaluate(expression) that parses and evaluates a mathematical expression string.
Algorithm Single Problem (AI on)
#87 hard
Multi-Source Shortest Path Given a weighted directed graph and a list of source nodes, find the shortest distance from any source to…
Algorithm Single Problem (AI on)
#88 hard
Bloom Filter Implement a Bloom filter with configurable false-positive rate.
Data Structures Single Problem (AI on)
#89 hard
Event Sourcing Engine Implement an event sourcing engine with snapshotting support.
Systems Design Single Problem (AI on)
#90 hard
Mini Parser Combinator Build a set of composable parser primitives, then use them to parse simple arithmetic expressions.
Algorithm Single Problem (AI on)
#91 hard
Distributed Cache with TTL Implement an LRU cache extended with per-key TTL and cache statistics.
Systems Design Single Problem (AI on)
#92 hard
Composable Data Pipeline Build a composable, lazy data pipeline. A Pipeline chains stages that process items from an input iterable.
Data Engineering Single Problem (AI on)
#93 hard
Circuit Breaker Pattern Implement the circuit breaker design pattern with three states: - CLOSED — normal operation, calls pass…
Systems Design Single Problem (AI on)
#94 hard
Semantic Response Cache Build a semantic cache for LLM responses using TF-IDF cosine similarity — no external ML libraries allowed.
AI Engineering Single Problem (AI on)
#95 hard
Mini SQL Query Engine Parse and execute simple SQL queries against in-memory data (list of dicts).
Data Engineering Single Problem (AI on)
#96 hard
Consistent Hashing Ring Implement a consistent hashing ring with virtual nodes for load distribution.
Systems Design Single Problem (AI on)
#97 hard
Rebuild Aggregate State From Events Fold an event log into the current state of every entity.
Systems Design Single Problem (AI on)
#98 hard
Pick Best Discount Combination Build a checkout helper that selects the most valuable combination of promo codes a customer can apply to a…
Algorithm Single Problem (AI on)
#99 hard
Merge K Sorted Log Streams Given streams, a list of K already time-sorted log streams, merge them into one globally time-ordered stream.
Algorithm Single Problem (AI on)
#100 hard
Compute Capital Gains by Lot You are given a chronological list of transactions for a single security. Each transaction is an object with…
Algorithm Single Problem (AI on)
#101 hard
Sequence Warehouse Pick Path A picker walks a warehouse laid out as a grid of parallel aisles (rows) divided into columns (slots along…
Algorithm Single Problem (AI on)
#102 hard
Three-Way Merge of Config Changes You maintain a key/value configuration object. Two collaborators each branched off the same starting point…
Data Engineering Single Problem (AI on)
#103 hard
Evaluate a Pricing Rules Engine You maintain the discount engine that sits between the cart and checkout. Merchants define an ordered list of…
Algorithm Single Problem (AI on)
#104 hard
Detect Velocity-Based Fraud Signals A card's authorization stream is just a list of transactions, each with a Unix timestamp (ts, in seconds) and…
Data Engineering Single Problem (AI on)
#105 hard
Schedule Jobs to Meet Deadlines You operate a single sequential worker that runs jobs one at a time, with no preemption and no idle gaps…
Algorithm Single Problem (AI on)
#106 hard
Evaluate a Boolean Search Query Implement a tiny search-query engine. Given a query string and a list of documents, parse the query into a…
Parsing Single Problem (AI on)
#107 hard
Compute Service Dependency Blast Radius You operate a fleet of microservices wired together by a dependency graph. The graph is given as an adjacency…
Algorithm Single Problem (AI on)
#108 hard
Allocate Ad Budget Across Campaigns You run the spend planner for an ad platform. Given a total budget and a set of campaigns, you must split the…
Algorithm Single Problem (AI on)
#109 hard
Prorate a Mid-Cycle Plan Change When a customer switches plans partway through a billing cycle, the billing system must credit the unused…
Algorithm Single Problem (AI on)
#110 hard
Reconcile Inventory From Movements You are given a list of raw inventory movements recorded across a network of warehouses. Each movement is an…
Data Engineering Single Problem (AI on)
#111 hard
Compute Project Critical Path You are given a project broken into numTasks tasks, numbered 0 through numTasks - 1. Each task i takes…
Algorithm Single Problem (AI on)
#112 hard
Renumber Merged Document Outline You are concatenating several documents into one combined file. Each document carries an outline (a list of…
Data Engineering Single Problem (AI on)
#113 hard
Simulate an LRU Cache With TTL Build a deterministic simulator for a fixed-capacity in-memory cache that uses least-recently-used (LRU)…
Systems Design Single Problem (AI on)