הגדרות לשאלות מפתח לפיתוח פרונט-end, ב-back-end ולפיתוח מלא

Last updated: December 12, 2024

פרויקט תקין צריך להכיל קובץ תצורה תקין ב-hackerrank.yml בתיקיית השורש. עיין בדוגמאות למטה או בהפניה לתצורה כדי ללמוד איך לכתוב אחד עבור הפרויקט שלך. 

הפניה לתצורה

version: (מספר)
- [נדרש] מספר גרסה של תבנית ההגדרות.
- הגרסה הנוכחית היא 1.0configuration: (hash)
- [נדרש] תכונה הורה עבור ההגדרות.
- כל ההגדרות של הפרויקט מסופקות כאן
has_webserver: (בוליאני)
- [נדרש] הגדר אם לפרויקט יש שרת אינטרנט חשוף
(ניתן לגישה מחוץ לשרת).
- השתמש בפורט פתוח (3000, 3030, 5000, 6000, 6001, 8000, 8080)
לפרסום השרת. כל שאר הפורטים חסומים מחוץ לתקשורת.
readonly_paths: (מערך)
- [אופציונלי] רשימת נתיבי קבצים ו/או תבניות regex
שיש לסמן כקריאה בלבד למועמדים
scoring: [אופציונלי] (hash)
- [נדרש] תכונה הורה עבור ההגדרות הקשורות לדירוג
command: (מחרוזת)
- [נדרש] הפקודה לדירוג מוגדרת כאן.
- על תכונה זו להיות מסופקת כדי שהדירוג יעבוד
files: (מערך)
- [אופציונלי] ניתן לספק כאן רשימת קבצי פלט לדירוג.
- לאחר הפעלת פקודת הדירוג, הפלטפורמה תחפש קבצים אלה
ופרש אותם לחישוב הציון הסופי.
- אם קבצים אלה אינם מסופקים, הפלט של פקודת הדירוג משמש לדירוג.
testcase_weights: (hash [<שם מקרה בדיקה>:<משקל>])
- [אופציונלי] תכונה זו יכולה לשמש לספק דירוג משוקלל
עבור מקרים בדיקה.
- הסכום הכולל של כל המשקלים צריך להיות
1. אימות ייכשל אם הסכום הכולל של כל המשקלים אינו אחד.

- משקלי מקרה הבדיקה מתאימים לפי שם מקרה הבדיקה,
כך שכל שמות מקרים הבדיקה צריכים להיות ייחודיים (בין הקבצים).
ide_config: (hash)
- [נדרש] כל ההגדרות הקשורות ל-IDE מסופקות כאן
default_open_files: (מערך)
- [נדרש] ספק רשימת קבצים ברירת מחדל לפתיחה כאן.
הנתיב צריך להיות יחסית לספריית שורש הפרויקט.
project_menu: (מחרוזת)
- [נדרש] הגדר פקודות תפריט פרויקט כאן. כל התכונות הצאצא נדרשות.
run:
- [נדרש] ספק פקודה לפריט תפריט הרצת פרויקט >
install:
- [נדרש] ספק פקודה לפריט תפריט התקנת פרויקט >
test:
- [נדרש] ספק פקודה לפריט תפריט בדיקת פרויקט >

דוגמה 1: תצורה לדוגמה לפרויקט node ללא ניקוד

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: תצורה לדוגמה לפרויקט node עם שרת אינטרנט וניקוד

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: תצורה לדוגמה לפרויקט API ב-Java Spring Boot עם משימות בדיקה משוקלות

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: תצורה לדוגמה לפרויקט node עם שרת אינטרנט וקבצי פלט מרובים

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