Konfigurationen für Front-End-, Back-End- und Full-Stack-Entwicklerfragen
Last updated: December 12, 2024
Ein gültiges Projekt sollte eine gültige hackerrank.yml-Konfigurationsdatei im Stammverzeichnis haben. Siehe die unten stehenden Beispiele oder die Konfigurationsreferenz, um zu erfahren, wie man eine für Ihr Projekt schreibt.
Konfigurationsreferenz
version: (Nummer)
- [erforderlich] Versionsnummer für das Konfigurationsschema.
- Aktuelle Version ist 1.0configuration: (Hash)
- [erforderlich] Elternelement für die Konfiguration.
- Alle Projektkonfigurationen werden hier bereitgestellt
has_webserver: (Boolean)
- [erforderlich] Definiert, ob ein Projekt einen exponierten Webserver hat
(kann außerhalb des Servers zugänglich sein).
- Verwenden Sie offenen Port (3000, 3030, 5000, 6000, 6001, 8000, 8080)
für die Veröffentlichung des Servers. Alle anderen Ports sind außerhalb der Kommunikation blockiert.
readonly_paths: (Array)
- [optional] Eine Liste von Dateipfaden und/oder Regex-Mustern
die für Kandidaten schreibgeschützt markiert werden sollten
scoring: [optional] (Hash)
- [erforderlich] Elternelement für die bewertungsbezogene Konfiguration
command: (String)
- [erforderlich] Bewertungsbefehl wird hier definiert.
- Dieses Attribut muss bereitgestellt werden, damit die Bewertung funktioniert
files: (Array)
- [optional] Eine Liste von Bewertungs-Ausgabedateien kann hier bereitgestellt werden.
- Sobald der Bewertungsbefehl ausgeführt wird, sucht die Plattform nach diesen Dateien
und analysiert sie, um die Endpunktzahl zu berechnen.
- Wenn diese Dateien nicht bereitgestellt werden, wird die Ausgabe des Bewertungsbefehls für die Bewertung verwendet.
testcase_weights: (Hash [<Testfallname>:<Gewicht>])
- [optional] Dieses Attribut kann verwendet werden, um gewichtete Bewertung
für Testfälle bereitzustellen.
- Die Summe aller Gewichte sollte
1 sein. Die Validierung schlägt fehl, wenn die Summe aller Gewichte nicht eins ist.
- Die Testfallgewichte werden nach Testfallname zugeordnet,
sodass alle Testfallnamen eindeutig sein sollten (über Dateien hinweg).
ide_config: (Hash)
- [erforderlich] Alle IDE-bezogenen Konfigurationen werden hier bereitgestellt
default_open_files: (Array)
- [erforderlich] Eine Liste der Standarddateien, die hier geöffnet werden sollen.
Der Pfad sollte relativ zum Projektstammordner sein.
project_menu: (String)
- [erforderlich] Definiert die Projektmenübefehle hier. Alle Unterattribute sind erforderlich.
run:
- [erforderlich] Befehl für Projekt > Ausführen Menüpunkt bereitstellen
install:
- [erforderlich] Befehl für Projekt > Installieren Menüpunkt bereitstellen
test:
- [erforderlich] Befehl für Projekt > Test Menüpunkt bereitstellen
Beispiel 1: Beispielkonfiguration für ein Node-Projekt ohne Bewertung
version: 1.0configuration:
has_webserver: false
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm testBeispiel 2: Beispielkonfiguration für ein Node-Projekt mit Webserver und Bewertung
version: 1.0configuration:
has_webserver: true
scoring:
# npm test wird erwartet, um Testergebnisse in results/unit.xml zu produzieren.
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm testBeispiel 3: Beispielkonfiguration für ein Java Spring Boot API-Projekt mit gewichteten Testfällen
version: 1.0konfiguration:
has_webserver: falsch
Bewertung:
Befehl: "mvn clean test"
Dateien:
- target/customReports/result.xml
testcase_weights:
# Die Gewichte sollten insgesamt 1 ergeben
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.txtBeispiel 4: Beispielkonfiguration für ein Node-Projekt mit einem Webserver und mehreren Ausgabedateien
version: 1.0konfiguration:
has_webserver: true
Bewertung:
# npm test wird erwartet, um Testergebnisse in results/unit.xml zu produzieren.
Befehl: "npm test"
Dateien:
- 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 testBeispiel 5: Beispielkonfiguration für ein Node-Projekt mit schreibgeschützten Dateien
Sie können schreibgeschützte Dateien verwenden, um bestimmte Dateien wie Testfälle als schreibgeschützt zu markieren. Der Kandidat kann diese Dateien nicht ändern.
version: 1.0konfiguration:
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