Overview of Hcode Online Judge (HOJ)
masterHcode Online Judge (HOJ) is a distributed, microservices-based online judging system built using a decoupled frontend and backend architecture. It is designed to support both ACM and OI style programming contests and training.
Core Features
- Scalability: Distributed judging architecture.
- Security: Uses
cgroupto isolate user programs during judging, preventing resource exhaustion. - Versatility: Supports ACM and OI problem types, including special features like
testlibevaluation, interactive judging, and subtask judging. - Content Sourcing: Supports local problem data and can crawl problems from popular OJs like HDU, Codeforces, GYM, POJ, AtCoder, SPOJ, and Libre.
- Social & Training: Includes discussion forums (problem, contest, and public), an internal messaging system, private/public training sets, and various team types (private, public, protected).
- UI/UX: Responsive design supporting mobile devices and full internationalization (Chinese/English).