Design an online code judge.
MediumLet's refine the design of an online code judge. At its heart, this system takes code submissions, runs them against predefined test cases, and determines if the submission is correct. However, building a robust, scalable, and maintainable judge requires careful consideration of various factors, specifically focusing on the code design. We want to simulate a real-world coding judge, taking into account compilation, execution, and result aggregation. The system should be able to support multiple programming languages and handle potentially malicious or resource-intensive code. Error messages should be as descriptive as possible to help debug.
Requirements
Think like an Architect
Before revealing the requirements, imagine you're in the interview right now."How would you clarify the scope with your interviewer?"