# OJ判题系统 **Repository Path**: zou-jinye/OJ-Question ## Basic Information - **Project Name**: OJ判题系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-25 - **Last Updated**: 2024-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OJ判题系统 用户可以选择题目,在线做题,编写代码并且提交代码,系统会对用户提交的代码,根据出题人设置的答案,来判断用户的提交结果是否正确 ## 实现核心 1)权限校验 谁能提交代码,谁不能提交代码 2)代码沙箱(安全沙箱) 用户代码藏毒:写个木马文件、修改系统权限 沙箱:隔离安全的环境,用户的代码不会影响到沙箱之外的系统的运行 资源分配:系统运行内存就两个G,用户疯狂占用资源占满你的内存,其他人就用不了了。剩余要限制用户程序的占用资源 3)判题规则 题目用例的比对,结果的验证 4)任务调度 服务器资源有限,用户要排队,按照顺序去依次执行判题,而不是直接拒绝 ### 功能 题目模块 创建题目(管理员) 删除题目(管理员) 修改题目(管理员) 搜索题目(用户) 在线做题 提交题目代码 用户模块 注册 登录 判题模块 提交判题(结果是否正确与错误) 错误处理(内存溢出、安全性、超时) 自主实现 代码沙箱(安全沙箱) 开放接口(提供一个独立的新服务) ## 技术选型 前端:Vue3、Arco Desgin组件库、手敲项目模板、在线代码编辑器、在线文档浏览 后端:java进程控制,java安全管理器,部分JVM知识点 虚拟机(云服务器),Docker(代码沙箱实现) Spring Cloud微服务、消息队列