HLD-221·Messaging & Queues
Medium · 1,000 ptsOnline Coding Judge & Sandbox Execution Queue
Design a LeetCode / HackerRank submission evaluation backend that decouples weekly contest submission floods via partitioned queues and serves live verdict polling.
Max p99
≤ 65 ms
Availability
≥ 99.5%
Budget
≤ $5,400
Functional Requirements
- FR-1POST /submissions — Persists source code, enqueues isolated sandbox execution, and returns submission_id.
- FR-2GET /submissions/{submission_id} — Returns live test-case progress and final AC/WA/TLE verdict.
- FR-3DELETE /submissions/{submission_id} — Supports tenant retention TTL expiry, rule updates, or stream cleanup while keeping recent rollup caches fresh.
- FR-4Must buffer 5x contest-start submission spikes and survive a primary DB crash without losing runs.
Workload Profile
Daily Practice Load28,000 Verdict Poll RPS / 4,500 Submit Write RPS
Weekly Contest Spike82,000 Poll RPS / 18,000 Submit Write RPS
Active Working Set22 GB active contest submissions & test fixtures
Traffic DistributionHeavy burst on Contest Q1/Q4 problem & submission_id polls
Consistency Model
Read-after-write visibility required so contestants immediately see queued status and completed verdicts.
Solutions Locked
Sign in and either achieve AC or complete 3 official submissions on this question to inspect community diagrams and writeups.
Loading solutions...
Submission History (0)Select to replay
No submissions yet
Click Submit in the top bar to evaluate against all 7 judge cases and save each run here.
Design Write-up
0 boxes · 0 edges
0 words