You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: A comprehensive narrative combining the interview process and specific questions.
1485
+
example: "תהליך ראיון למפתח Java Fullstack בחברת טכנולוגיה גדולה. הראיון כלל מספר שלבים: ראיון טלפוני קצר... (full content of the generated quiz)"
1486
+
job_role:
1487
+
type: string
1488
+
description: The inferred job role for the quiz.
1489
+
example: "מפתח Java Fullstack"
1490
+
company_name_en:
1491
+
type: string
1492
+
description: English name of the company for the quiz.
1493
+
example: "Leading Tech Company"
1494
+
company_name_he:
1495
+
type: string
1496
+
description: Hebrew name of the company for the quiz.
1497
+
example: "חברת טכנולוגיה מובילה"
1498
+
process_details:
1499
+
type: string
1500
+
description: A concise summary of a typical interview process for this role/company type.
1501
+
example: "ראיון טלפוני קצר לבדיקת התאמה כללית וציפיות שכר. משימת בית קצרה..."
1502
+
question_list:
1503
+
type: array
1504
+
description: A parsed list of individual interview questions.
1505
+
items:
1506
+
type: string
1507
+
example: ["איך היית מתכנן מערכת מיקרו-שירותים?", "הסבר את הקשר בין Spring Boot ל-Spring Framework."]
1508
+
answer_list:
1509
+
type: array
1510
+
description: A corresponding list of ideal or reference answers for each question.
1511
+
items:
1512
+
type: string
1513
+
example: ["בתכנון מערכת מיקרו-שירותים גדולה, הייתי מתחיל בהגדרת גבולות הקונטקסט...", "Spring Boot הוא פרויקט מעל Spring Framework שמטרתו לפשט את תהליך הפיתוח..."]
1514
+
keywords:
1515
+
type: array
1516
+
description: Additional relevant technical or conceptual keywords for preparation.
description: A comprehensive narrative combining the interview process and specific questions.
1558
+
example: "תהליך ראיון למפתח Java Fullstack בחברת טכנולוגיה גדולה. הראיון כלל מספר שלבים: ראיון טלפוני קצר... (full content of the generated quiz)"
1559
+
job_role:
1560
+
type: string
1561
+
description: The inferred job role for the quiz.
1562
+
example: "מפתח Java Fullstack"
1563
+
company_name_en:
1564
+
type: string
1565
+
description: English name of the company for the quiz.
1566
+
example: "Leading Tech Company"
1567
+
company_name_he:
1568
+
type: string
1569
+
description: Hebrew name of the company for the quiz.
1570
+
example: "חברת טכנולוגיה מובילה"
1571
+
process_details:
1572
+
type: string
1573
+
description: A concise summary of a typical interview process for this role/company type.
1574
+
example: "ראיון טלפוני קצר לבדיקת התאמה כללית וציפיות שכר. משימת בית קצרה..."
1575
+
question_list:
1576
+
type: array
1577
+
description: A parsed list of individual interview questions.
1578
+
items:
1579
+
type: string
1580
+
example: ["איך היית מתכנן מערכת מיקרו-שירותים?", "הסבר את הקשר בין Spring Boot ל-Spring Framework."]
1581
+
answer_list:
1582
+
type: array
1583
+
description: A corresponding list of ideal or reference answers for each question.
1584
+
items:
1585
+
type: string
1586
+
example: ["בתכנון מערכת מיקרו-שירותים גדולה, הייתי מתחיל בהגדרת גבולות הקונטקסט...", "Spring Boot הוא פרויקט מעל Spring Framework שמטרתו לפשט את תהליך הפיתוח..."]
1587
+
user_answer_list:
1588
+
type: array
1589
+
description: A corresponding list of user answers for each question.
1590
+
items:
1591
+
type: string
1592
+
example: ["בתכנון מערכת מיקרו-שירותים גדולה, הייתי מתחיל בהגדרת גבולות הקונטקסט...", "Spring Boot הוא פרויקט מעל Spring Framework שמטרתו לפשט את תהליך הפיתוח..."]
1593
+
keywords:
1594
+
type: array
1595
+
description: Additional relevant technical or conceptual keywords for preparation.
description: A description of the soft skills, characteristics, and professional attributes an interviewer looks for.
1602
+
example: "מחפשים מועמד עם סקרנות טכנולוגית גבוהה, יכולת פתרון בעיות יצירתית, תקשורת ברורה ותמציתית, וגישה פרואקטיבית לשיתוף פעולה בצוות."
1603
+
1604
+
GradedQuiz:
1605
+
type: object
1606
+
required:
1607
+
- graded_answers
1608
+
- final_quiz_grade
1609
+
- final_summary_tip
1610
+
properties:
1611
+
graded_answers:
1612
+
type: array
1613
+
description: A list of individual questions with the user's answer, grade, and a tip for improvement.
1614
+
items:
1615
+
type: object
1616
+
required:
1617
+
- question
1618
+
- user_answer
1619
+
- grade
1620
+
- tip
1621
+
properties:
1622
+
question:
1623
+
type: string
1624
+
description: The original question from the quiz.
1625
+
example: "איך היית מתכנן מערכת מיקרו-שירותים (Microservices) גדולה שמטפלת במיליוני בקשות ביום?"
1626
+
user_answer:
1627
+
type: string
1628
+
description: The user's provided answer to the question.
1629
+
example: "אני חושב שהייתי משתמש בקאפקה וסרביס דיסקברי. זה עוזר עם סקאלינג."
1630
+
grade:
1631
+
type: number
1632
+
format: int32
1633
+
minimum: 0
1634
+
maximum: 100
1635
+
description: The grade for the user's answer (0-100).
1636
+
example: 85
1637
+
tip:
1638
+
type: string
1639
+
description: A professional tip for the user to improve their answer.
1640
+
example: "Consider elaborating on the specific design patterns (e.g., API Gateway, Service Discovery) and communication protocols (e.g., REST, gRPC) you would use."
1641
+
final_quiz_grade:
1642
+
type: number
1643
+
format: int32
1644
+
minimum: 0
1645
+
maximum: 100
1646
+
description: The overall average grade for all answered questions in the quiz (0-100).
1647
+
example: 78
1648
+
final_summary_tip:
1649
+
type: string
1650
+
description: A comprehensive tip for the user to improve their overall interview performance.
1651
+
example: "Overall, your technical understanding is solid. For future interviews, focus on articulating your thoughts more structured, perhaps using the STAR method for behavioral questions, and always relate your technical solutions back to business value or team collaboration, demonstrating the 'interviewer mindset' we discussed."
constGRADE_QUIZ_SYSTEM_PROMPT="You are an AI Interview Coach, an expert in real-world interviews, and skilled in providing constructive feedback and grading. Your task is to evaluate a user's answers to an interview quiz based on the original questions, your pre-generated ideal answers, and general professional knowledge. You should grade each answer from 0-100, considering that multiple correct or valid approaches may exist (or may not). Your feedback should be actionable and focused on improvement. Base yourself only on the user's answered quiz that will be given to you.";
539
+
540
+
constprompt=`
541
+
**Original Quiz Data with User's Answers (JSON Object):**
542
+
${answeredQuiz}
543
+
544
+
**Instructions:**
545
+
Base yourself on the the user_answer_list and question_list fields.
546
+
Also, base yourself on the answer_list and the interviewer_mindset fields.
547
+
Grade and tip to user's answers one by one, by the following rules:
548
+
549
+
Grade (0-100): Assign a numerical score from 0 to 100 to the user_answer_list based on:
550
+
Accuracy: Is the answer technically correct?
551
+
Completeness: Does it cover the key aspects of the question?
552
+
Clarity and Conciseness: Is it well-articulated and to the point?
553
+
Depth: Does it demonstrate a solid understanding beyond surface-level knowledge?
554
+
Professional Knowledge: Use your general professional knowledge to evaluate, not just keywords. Be open to multiple valid answers.
555
+
Context: Consider the complexity implied by the question and the job_role.
556
+
Generate "Tip": Provide a small, concise, and actionable tip for the user to improve that specific answer for future interviews. This tip should be professional and forward-looking. Consider:
557
+
Suggesting deeper dives into specific technologies or concepts (e.g., "Explore idempotent operations in distributed systems").
558
+
Improving explanation clarity or structure (e.g., "Next time, start with a clear definition before diving into examples").
559
+
Relating the answer to the interviewer_mindset (e.g., "Highlighting the trade-offs involved would demonstrate critical thinking and problem-solving skills, which are valued by interviewers.").
560
+
Suggesting a real-world example or scenario.
561
+
562
+
Summarize Results:
563
+
564
+
final_quiz_grade: Calculate the average of all individual grade scores to get a final overall quiz grade (0-100).
565
+
final_summary_tip: Provide one overarching, professional tip for the user to improve their overall interview performance, drawing insights from their collective answers and directly referencing the interviewer_mindset field for behavioral/soft skill advice.
566
+
567
+
**Desired Output Format (JSON)**:
568
+
\`\`\`json
569
+
{
570
+
"graded_answers": [
571
+
{
572
+
"question": "string",
573
+
"user_answer": "string",
574
+
"grade": "number (0-100)",
575
+
"tip": "string"
576
+
},
577
+
// ... one object for each question answered
578
+
],
579
+
"final_quiz_grade": "number (0-100)",
580
+
"final_summary_tip": "string"
581
+
}
582
+
\`\`\`
583
+
584
+
Return ONLY the JSON, without any other text, so I could easily retrieve it.
0 commit comments