Problem Understanding
Restate the problem in your own words.
Design an Online Judge (LeetCode / HackerRank)
Design a LeetCode / HackerRank-class online judge: users write code in their chosen language, submit it against a problem, and get a verdict (Accepted / Wrong Answer / Time Limit Exceeded / Memory Limit Exceeded / Runtime Error / Compile Error) within seconds. The system must run untrusted code in a hardened sandbox with hard CPU + memory + wall-clock + network limits, support ~20 languages with per-language environments, survive a contest spike of 50 k submissions / minute on a single problem, and update a live leaderboard. The defining trade-offs are container-per-submission vs warm pool, sync vs async grading, and how to distribute hidden test cases without leaking them.
- LeetCodeInterview prep + contests; ~80 M users; weekly contests draw 50 k+ concurrent submitters.
- HackerRankHiring platform + competitive programming; multi-language judge with custom test cases.
- CodeforcesCompetitive programming flagship; rated contests; deeply tuned judge.
- Kaggle NotebooksAdjacent: sandboxed Python execution at scale, longer-running jobs, GPU-backed.
Your task: read the problem above, then write what the system is, who uses it, the rough scale, and the headline UX expectation — in your own words. Submit for AI review when you're ready.
Click any step in the sidebar to jump around — sections don't have to be done in order. Press ? any time to see all shortcuts.