基于 C++技术的 Online Judge 系统 个人全栈开发 2026.5-2026.6
技术栈:Vue3 + Vite (前端)| C++17 + MongoDB + Redis(后端)
项目背景:实验室开始面向全校扩招,洛谷团队只有 50 人权限,为满足实验室成员算法训练需求,独立设计并开发前后端分离的在线
判题平台,支持多种编程语言在线编译执行与自动化评测。
主要职责:
• 后端架构设计:基于 cpp-httplib 构建服务,实现请求路由、参数解析、JSON 响应封装
• 高性能判题引擎:使用 C++17 实现判题沙箱服务,采用进程隔离与资源限制,支持 C/C++/Java/Python/JS/Go 六种语言判题
• 数据层设计:Redis 缓存热点题目与排行榜,MongoDB 持久化存储用户数据与提交记录,设计嵌套文档结构实现父子评论回复
• 前端开发:Vue3 实现题目列表、代码编辑、提交记录、排行榜等核心页面,集成 Monaco Editor 提供类 IDE 代码编辑体验
项目成果:
• 平台已线上试运行,供实验室 20+成员日常使用,累计处理提交 100+次
• 判题沙箱通过青岛大学的开源安全沙箱系统隔离,保障安全性
• 支持 100+并发提交不阻塞,判题准确率 100%