前端、後端和全端開發人員問題的配置

Last updated: December 12, 2024

有效的專案應該在根目錄中擁有一個有效的hackerrank.yml配置文件。請參考以下範例或配置參考,以了解如何為您的專案編寫一個。 

配置參考

version: (數字)
- [必填] 配置架構的版本號碼。
- 當前版本為 1.0configuration: (哈希)
- [必填] 配置的父屬性。
- 所有專案配置都在此提供
has_webserver: (布林值)
- [必填] 定義專案是否有暴露的網路伺服器
(可以在伺服器外部存取)。
- 使用開放端口 (3000, 3030, 5000, 6000, 6001, 8000, 8080)
用於發布伺服器。所有其他端口都被阻擋,外部通信無法通過。
readonly_paths: (陣列)
- [選填] 一個檔案路徑和/或正則表達式模式的清單
應該被標記為唯讀的候選者
scoring: [選填] (哈希)
- [必填] 與評分相關配置的父屬性
command: (字串)
- [必填] 評分命令在此定義。
- 必須提供此屬性才能使評分正常運作
files: (陣列)
- [選填] 可以在此提供評分輸出檔案的清單。
- 一旦執行評分命令,平台將搜尋這些檔案
並解析它們以計算最終分數。
- 如果未提供這些檔案,則使用評分命令的輸出來進行評分。
testcase_weights: (哈希 [<測試案例名稱>:<權重>])
- [選填] 此屬性可用於提供加權評分
用於測試案例。
- 所有權重的總和應為
1。若所有權重的總和不為一,驗證將失敗。

- 測試案例權重與測試案例名稱匹配
所有測試案例名稱都應該是唯一的(跨檔案)。
ide_config: (哈希)
- [必填] 所有 IDE 相關配置在此提供
default_open_files: (陣列)
- [必填] 提供預設打開的檔案清單。
路徑應相對於專案根目錄。
project_menu: (字串)
- [必填] 在此定義專案選單命令。所有子屬性皆為必填。
run:
- [必填] 提供專案 > 執行選單項目的命令
install:
- [必填] 提供專案 > 安裝選單項目的命令
test:
- [必填] 提供專案 > 測試選單項目的命令

範例 1:沒有評分的節點專案範本設定

version: 1.0configuration:
has_webserver: false
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

範例 2:具有 Web 伺服器與評分的節點專案範本設定

version: 1.0configuration:
has_webserver: true
scoring:
# 預期 npm test 會在 results/unit.xml 檔案中產生測試輸出。
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

範例 3:具有加權測試案例的 Java Spring Boot API 專案範本設定

version: 1.0configuration:
has_webserver: false
scoring:
command: "mvn clean test"
files:
- target/customReports/result.xml
testcase_weights:
# 權重總和應為 1
Create a model: 0.2
Delete a model: 0.2
Edit a model: 0.2
Filter model by attribute: 0.4
ide_config:
default_open_files:
- src/main/java/com/hackerrank/sample/controller/ModelController.java
- src/main/java/com/hackerrank/sample/model/Model.java
project_menu:
run: mvn clean spring-boot:run
install: mvn clean install
test: mvn clean test; cat target/customReports/result.txt

範例 4:具有 Web 伺服器和多個輸出檔案的節點專案範例設定

version: 1.0configuration:
has_webserver: true
scoring:
# npm test 預期會在 results/unit.xml 檔案中產生測試輸出。
command: "npm test"
files:
- results/user.xml
- results/project.xml
- results/api.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

範例 5:Node 專案的範例設定,具有唯讀檔案

您可以使用唯讀檔案來標記某些檔案,例如測試案例為唯讀。候選人將無法修改這些檔案。

version: 1.0configuration:
has_webserver: true
readonly_paths:
- app/test.js
- app/tests/*

scoring:
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test