You can create the Front-end, Back-end and Full-stack to test the candidates on their knowledge on client-side, server-side coding, or sometimes both. These questions comes under the Project based questions in HackerRank, helps in hiring the programmers who are familiar with each layer of software technology and are adept at front-end programming, back-end programming, or both
How to Create a Front-end, Back-end, or Full-Stack Question
- You must be logged in to your HackerRank for Work account.
- Click on the Library tab on the home page, and then click on the Create Question button.
- In the Select Question Type dialog box, select the role according to which you want to tailor the assessment, under the Projects section, as shown below. You can choose one of the following roles:
- Front-end Developer
- Back-end Developer
- Full Stack Developer
- Once you choose the role, you will be proceeding to the stage where the question can be designed.
Note: The following steps elucidate how to set up a Front-end Developer question. These steps are also applicable to the Back-end Developer and Full-stack Developer type questions. You can view the detailed steps in creating questions for other roles in the Question Creation section.
Consider you are framing a question that is part of a Front-end developer assessment.
- For a Front-end developer question, in the Select framework tab, select the desired framework and hit Proceed.
- The Setup Project tab will already be initialized with a sample project for the selected stack.
- The sample project has the necessary hackerrank.yml config file that is required for configuring necessary project parameters like scoring command and IDE menu config.
- You can use this sample config file as a reference when creating your own question. To know more about various parameters of the config file, see Writing the configuration file for projects in Front-end, Back-end, and Full-stack developer questions.
- You can use the already present sample project to proceed to step 7 if you quickly want to set up a question.
- Do not use sample projects in a test. These projects are designed to only serve as sample projects, they are not designed for evaluating candidate skill.
- For setting up the project:
- You can import your own project from a public git URL or by uploading a zip
Note: Beta version of this step had a restriction that top-level directory must be named 'project'. That restriction isn't valid anymore.
- As soon as the project is imported, validation will start automatically. A Front-end, Back-end or Full-stack developer question cannot be created before the successful validation of the project.
Refer to Setting up a valid project for Front end, Back end and Full stack Questions to learn more about the validation process.
- If the validation fails, use the information provided by validation result to fix the project.
- You can use the in-page file editor to update and save files or update project on your local and re-import.
- If you are making changes using the in-page file editor, click on the Validate button when you are ready. It will start the validation process again.
- Once validation succeeds, click on the Save & Proceed button.
- If the validation fails at a step that is run after a server has been created (scoring command validations for example), you will get an additional link called 'open debug console'. You can open the server and debug scoring command in the live environment. The debug console is available to you for 30 minutes and changes made here are not saved to the original project.
- If you were editing a Full Stack question, on modifying existing files, you have an option to 'reset to last saved project structure' which will reset the file structure to the last valid state. Similarly, you have an option to 'Download last saved project structure'.
In the Define Question tab, specify the following:
A. Problem Name
- Ensure that the problem name does not hint at the solution to the problem.
- While you can assign any score you want for the questions you create, we use certain standards for assigning scores to the questions we create that you might find useful.
|50 points||For an easy question that can be solved in 15 minutes|
|75 points||For a medium question that can be solved in 30 minutes|
|100 points||For a hard question that can be solved in 45 to 60 minutes|
- (Optional) Select the Tags from the drop-down list or add your own custom tag.
- Tags are words or phrases that help with the searchability and organization of your questions. You can add the existing tags or create new tags. Set the difficulty level for your question by associating the tags as Easy, Medium, or Hard. Alternatively, associate custom tags to identify your question by its complexity or its levels.
- When you view your questions in the Library, the associated tags will be indicated for every question. You can use these tags to generate candidate reports and performance graphs. Refer, Associating the Tags for Questions for more information.
D. Problem Description
- While describing the problem statement, ensure that the question is clear and detailed. You can also use tables, graphs, or attachments to enhance the clarity.
E. Software Requirements
- This field has the information about packages and versions of the software required to solve the question. When left empty, default platform instructions will be used.
F. Interviewer Guidelines
- Interviewer Guidelines are for later reference. You can include a rubric about scoring the questions or write solutions to the problems in this section. These can be used by your team while evaluating the test. They are only visible to your team and you; however, candidates cannot view these notes. This step is optional.
You can support your problem statement and interviewer guidelines by attaching a relevant reference file in these sections. Refer to the How to Attach a File to a Problem Statement for more information.
- Click on the Save & Proceed button.
The Questions you create are stored in the HackerRank Library under the “My Company questions” section. The Question type and the associated tags are indicated below every Question title as shown below.
While in the Library, you can proceed to create more questions or add Questions to your Tests.