天天看點

系統設計:(如何實作一個Online Judge系統)

1. 一個Web程式用于線上編輯和判題

前端:界面顯示 (Vue)

後端:與前端配合做一些資料的處理  (常見的Web後端架構,Java/Python/Go/Php)

2. 背景判題程式 (這裡可以用C/C++來寫)

當輸入框接受到使用者輸入的程式資料,然後如何處理?

傳到背景,在背景執行特定的編譯和判題邏輯。

需要考慮的問題:

1. 需要設計一個SandBox,防止惡意行為 (Docker?)

2.背景判題程式與後端或者前端的互動邏輯?需要使用一個應用層協定。

繼續閱讀