AdvancedSystem-Design
45 min
Design an Online Code Execution Sandbox
SecurityContainersSchedulingObservability
Advertisement
Interview Question
Design a judge/sandbox to safely compile and run untrusted code in multiple languages with resource limits and scaling.
Key Points to Cover
- Isolation via containers/VMs; seccomp, cgroups, namespaces
- Job queue, autoscaling executors, warm pools
- Language runtimes, caching of toolchains, layer reuse
- Resource limits (CPU/mem/time/FS) and output capture
- Abuse prevention, quotas, and audit logs
Evaluation Rubric
Strong isolation & sandboxing30% weight
Executor scaling & warm pools25% weight
Robust resource limiting & telemetry25% weight
Abuse/threat mitigation strategy20% weight
Hints
- 💡Consider Firecracker/MicroVMs for stronger isolation.
Potential Follow-up Questions
- ❓How to prevent fork bombs?
- ❓How to cache dependencies securely?
Advertisement