Konfiguracje pytań dla Front-end, Back-end i Full stack Developerów

Last updated: December 12, 2024

Poprawny projekt powinien mieć poprawny plik konfiguracyjny hackerrank.yml w katalogu głównym. Odwołaj się do poniższych przykładów lub do odniesienia konfiguracyjnego, aby dowiedzieć się, jak napisać go dla swojego projektu.

Odwołanie do konfiguracji

version: (numer)
- [wymagane] Numer wersji schematu konfiguracji.
- Aktualna wersja to 1.0configuration: (hash)
- [wymagane] Atrybut nadrzędny dla konfiguracji.
- Wszystkie konfiguracje projektu są tutaj podane
has_webserver: (boolean)
- [wymagane] Określ, czy projekt ma wystawiony serwer internetowy
(może być dostępny spoza serwera).
- Użyj otwartego portu (3000, 3030, 5000, 6000, 6001, 8000, 8080)
do publikowania serwera. Wszystkie inne porty są zablokowane poza komunikacją zewnętrzną.
readonly_paths: (tablica)
- [opcjonalne] Lista ścieżek plików i/lub wzorców regex
które powinny być oznaczone jako tylko do odczytu dla kandydatów
scoring: [opcjonalne] (hash)
- [wymagane] Atrybut nadrzędny dla konfiguracji związanej z ocenianiem
command: (string)
- [wymagane] Komenda oceniania jest zdefiniowana tutaj.
- Ten atrybut musi być podany, aby ocenianie działało
files: (tablica)
- [opcjonalne] Lista plików wyjściowych oceniania może być podana tutaj.
- Po uruchomieniu komendy oceniania, platforma będzie szukać tych plików
i analizować je, aby obliczyć końcową ocenę.
- Jeśli te pliki nie są podane, wynik komendy oceniania jest używany do oceniania.
testcase_weights: (hash [<nazwa testu>:<waga>])
- [opcjonalne] Ta właściwość może być używana do zapewnienia ważonego oceniania
dla przypadków testowych.
- Suma wszystkich wag powinna wynosić
1. Walidacja nie powiedzie się, jeśli suma wag nie wynosi jeden.

- Wagi przypadków testowych są dopasowywane po nazwie testu,
więc wszystkie nazwy testów powinny być unikalne (w plikach).
ide_config: (hash)
- [wymagane] Wszystkie konfiguracje związane z IDE są tutaj podane
default_open_files: (tablica)
- [wymagane] Podaj listę domyślnych plików do otwarcia tutaj.
Ścieżka powinna być względna do głównego folderu projektu.
project_menu: (string)
- [wymagane] Zdefiniuj polecenia menu projektu tutaj. Wszystkie atrybuty podrzędne są wymagane.
run:
- [wymagane] Podaj polecenie dla pozycji menu Projekt > Uruchom
install:
- [wymagane] Podaj polecenie dla pozycji menu Projekt > Instaluj
test:
- [wymagane] Podaj polecenie dla pozycji menu Projekt > Test

Przykład 1: Przykładowa konfiguracja dla projektu node bez scoringu

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

Przykład 2: Przykładowa konfiguracja dla projektu node z serwerem web i scoringiem

version: 1.0configuration:
has_webserver: true
scoring:
# npm test ma wyświetlić wynik testu w pliku 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

Przykład 3: Przykładowa konfiguracja dla projektu API Java Spring Boot z ważonymi przypadkami testowymi

version: 1.0configuration:
has_webserver: false
scoring:
command: "mvn clean test"
files:
- target/customReports/result.xml
testcase_weights:
# Wagi powinny sumować się do 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

Przykład 4: Przykładowa konfiguracja dla projektu node z serwerem web i wieloma plikami wyjściowymi

version: 1.0configuration:
has_webserver: true
scoring:
# npm test jest oczekiwany do wygenerowania wyników testu w pliku 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

Przykład 5: Przykładowa konfiguracja dla projektu node z plikami tylko do odczytu

Możesz użyć plików tylko do odczytu, aby oznaczyć niektóre pliki, takie jak przypadki testowe, jako tylko do odczytu. Kandydat nie będzie mógł modyfikować tych plików.

wersja: 1.0konfiguracja:
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