Choose a problem
Filter by concepts, difficulty, or company.
LOW-LEVEL DESIGN PRACTICE
One problem. One source file. Real feedback.
Browse problemsJAVA · PYTHON · C++
SplitwiseService.java
public final class SplitwiseService {
public List<Settlement> settle(...) {
return policy.reduce(balances);
}
}Filter by concepts, difficulty, or company.
Work in a focused, single-file workspace.
Use manual cases and inspect past submissions.
PRACTICE PATHS
Follow an ordered path or begin with a complete free problem.
Move from state and invariants to policies, recovery, and full implementations.
Open practice path →CONCURRENCY INTERVIEWSReason about overlapping operations.Practice shared state, coordination, scheduling, and transactional behavior.
Open practice path →WHAT YOU PRACTICE
Each problem gives you a behavioral contract to model, implement, and exercise under explicit constraints.
Turn requirements into cohesive objects, contracts, and invariants.
Use policies and extension points without building unnecessary abstractions.
Exercise shared state with explicit threads, operations, and typed arguments.
Work with real runtime, memory, process, and output constraints.
THE WORKSPACE
Keep the problem contract, implementation, testcase builder, and judge feedback in one focused surface.
RUN · SUBMIT · REVIEW
Run public cases and the custom cases you create, with inputs, stdout, stderr, runtime, and memory visible.
Submit the same source against public and hidden cases in an isolated judge.
Reopen the immutable source snapshot for each submission and compare outcomes over time.
PUBLIC PROBLEM CATALOG
Sign in to save work, submit solutions, and track progress.