Design (LLD) Leetcode Code Runner Service - Machine Coding Interview
Features Required
1. User Submission Handling
Accepts user code in multiple languages (Java, Python, C++, etc.).
Handles syntax validation before execution.
Supports concurrent execution for 1 million users.
2. Execution Engine
Runs user-submitted code in a secure, sandboxed environment.
Supports language-specific compilers and interpreters.
Prevents infinite loops and memory overflows.
3. Test Case Management
Allows problem creators to define test cases.
Supports public and hidden test cases.
Runs all test cases and provides detailed output.
4. Concurrency Handling
Supports 1 million concurrent executions.
Uses efficient task scheduling and thread management.
5. Result Caching and Optimization
Caches previous results for duplicate submissions.
Uses memoization to prevent redundant computation.
6. Load Balancing and Scalability
Distributes workload across multiple execution nodes.
Uses a message queue for distributed task management.
Solution
Will be covered in our course.