Sprint
Four tasks in 70 minutes, easiest first: basics, arrays and strings, heavy implementation, and an algorithm. Each attempt draws them from a pool of 227, in Python or C++. Sample tests run when you ask; hidden tests run when you submit.
Each task is worth 100 points in proportion to the tests it passes. The report opens every task on your code and its failing tests, plays back how you wrote it, and lists large pastes and time spent away from the window.
- Task 1Basics100
- Task 2Arrays and strings100
- Task 3Heavy implementation50
- Task 4Algorithms10
- Score260
Build
One project in 90 minutes, built over four levels. Each level adds requirements to the same code, and the next one opens only when every test of the current level passes on Submit. Python or C++.
12 projects: API Rate Limiter, Auction House, Bike Share, Chat Service, Contest Judge, Event Ticketing, Hotel Booking, Library System, Order Book, Parking Garage, Ride Dispatch and Warehouse Inventory.
- Level 1Stations, bikes and rentalsPassed
- Level 2Station and rider reports7 of 8, hidden tests on Submit
- Level 3Trip fares and passesOpens when level 2 passes
- Level 4Breakdowns and rebalancingLocked
Drills
Practice on the same 227 tasks, scheduled by topic. Each topic has a strength that moves with every result and a date for its next review, so the weakest and most overdue topics come first. A task you fail comes back 3 to 7 days later, to solve again from a blank file.
Sprints count too: every task you work on under the clock moves its topic's strength.
| Topic | Strength | Next review |
|---|---|---|
| hash table | 1468 | due now |
| sliding window | 1532 | in 2 days |
| simulation | 1611 | in 5 days |
| two pointers | 1704 | in 12 days |
C++ Mastery
A 29-unit course with 64 lessons, from the C++ a coding interview needs to the language in depth, ending in a capstone. Its 26 exercises are judged with AddressSanitizer and UndefinedBehaviorSanitizer (ThreadSanitizer for the concurrency ones), so a dangling reference fails instead of passing by luck.
int main() { std::vector<int> v = {1, 2, 3}; int& first = v[0]; v.push_back(4); // may reallocate std::cout << first; // dangling}
Insights
One page reads your sprints and drills together: where your sprint points go, which task eats the clock, your weakest topics and what to practice next, each with the numbers behind it.
Your data
Your code, attempts and progress belong to your account. The account page downloads all of it as a zip file, or deletes the account and everything in it.