A bunch of scripts on node.js
aimed at improving the interview process. Can be reused between different departments (only the questions database should be prepared).
- Automation of many manual processes.
- A more comprehensive evaluation.
- Feedback standardization.
Export prepared questions database as HTML files and save each page to the data
folder.
The interview system supports 2 modes by default: Department
and Partnership
. Default durations are: Department mode - 55 min
and Partnership mode - 25 min
. In the case of the Partnership
mode, it's enough to conduct a superficial interview. Usually, the main technical interview with the customer is the next step. So, it's important to double-check if everything is good with the candidate before the main technical interview. In the case of the Department
mode, the interview must be deeper. The full responsibility for the candidate is on the interviewer. That's why the duration is longer. Moving forward, each interview contains 2 stages: theory
and practice
. For the practice part, the amazing resource https://edabit.com/ is used. In the case of the Partnership
mode, the candidate should just describe the possible solution for the provided task in order not to waste the time. In the case of the Department
mode, the candidate should share his screen and resolve the task in real-time.
- Run
generateQuestions
script. The next fileoutputs/output-${firstName}-${lastName}/questions.txt
will be generated:
- Check out the generated questions:
@topic@JavaScript@topic@ ≈7 questions
1. What is hoisting? (requiredFor: junior) (key: @questionKey@js1@questionKey@)
2. What is a scope? (requiredFor: junior) (key: @questionKey@js2@questionKey@)
3. What are closures? (requiredFor: junior) (key: @questionKey@js3@questionKey@)
@topic@TypeScript@topic@ ≈3 questions
1. What are the benefits and drawbacks of using TypeScript? (requiredFor: middle-) (key: @questionKey@ts1@questionKey@)
2. What is the tsconfig.json file? (requiredFor: middle) (key: @questionKey@ts2@questionKey@)
3. What are the components of TypeScript? (requiredFor: middle) (key: @questionKey@ts3@questionKey@)
- Mark the suitable questions with
'+ '
at the beginning:
@topic@JavaScript@topic@ ≈7 questions
+ 1. What is hoisting? (requiredFor: junior) (key: @questionKey@js1@questionKey@)
+ 2. What is a scope? (requiredFor: junior) (key: @questionKey@js2@questionKey@)
3. What are closures? (requiredFor: junior) (key: @questionKey@js3@questionKey@)
@topic@TypeScript@topic@ ≈3 questions
+ 1. What are the benefits and drawbacks of using TypeScript? (requiredFor: middle-) (key: @questionKey@ts1@questionKey@)
2. What is the tsconfig.json file? (requiredFor: middle) (key: @questionKey@ts2@questionKey@)
3. What are the components of TypeScript? (requiredFor: middle) (key: @questionKey@ts3@questionKey@)
- Run
generateInterviewPDF
script, and the next files will be generated:
outputs/output-${firstName}-${lastName}/forInterviewer.pdf
:
Will be used for the interview.
outputs/output-${firstName}-${lastName}/resultDraft.txt
:
@topic@JavaScript@topic@
1)
2)
3)
@topic@TypeScript@topic@
1)
2)
3)
outputs/output-${firstName}-${lastName}/resultNotesDraft.txt
:
@englishLevel@
Fluency: 0/3
Accuracy: 0/3
Coherence: 0/3
Range: 0/3
Pronunciation: 0/3
@englishLevel@
@softwareSkills@
-
@softwareSkills@
@technicalSkills@
-
@technicalSkills@
@supposedLevel@
-
@supposedLevel@
@recommend@
Yes / No
@recommend@
- Fill
resultDraft.txt
file in:
@topic@JavaScript@topic@
1) 3
2) 5
3) 4
@topic@TypeScript@topic@
1) 2
2) 5
3) 3
- Fill
resultDraft.txt
file in:
@englishLevel@
Fluency: 3/3
Accuracy: 2/3
Coherence: 1/3
Range: 3/3
Pronunciation: 3/3
@englishLevel@
@softwareSkills@
Pleasant in communicationю
@softwareSkills@
@technicalSkills@
Good theory and practical skills.
@technicalSkills@
@supposedLevel@
middle+
@supposedLevel@
@recommend@
Yes
@recommend@
- Run
generateResultPDF
script andoutputs/output-${firstName}-${lastName}/result.pdf
file will be generated.
Script | Description |
---|---|
validateDatabase |
Validates the questions database. Checks for the correct format for each question in the database. |
generateQuestions |
Generates suitable questions based on the input params and puts them to the .txt file. |
generateInterviewPDF |
Generates a PDF document for the interview and .txt drafts for the result. |
generateResultPDF |
Generates a PDF document with the interview result. |
For interviewer: | Result: |
---|---|
forInterviewer.pdf | result.pdf |
- Finish ready-to-use question sets.
- Send files to
Slack
.