Front-end, Back-end, and Full-stack questions are used to test the candidates on their knowledge of client-side, server-side coding, or sometimes both. These questions are aligned to the Project-based questions in HackerRank, which helps hire the programmers who are familiar with each layer of software technology and are adept at front-end programming, back-end programming, or both. This article guides you on how you can create your Front-end, Back-end, or Full-stack question.
Steps to Create a Front-end, Back-end, or Full-Stack Question
The following video will help you understand the creation of Front-end, Back-end, and Full Stack Questions.
If you would like to follow directions, follow the below steps to create a front-end, back-end, or full-stack question for your test.
- Click on the Library tab on the home page and click on the Create Question button.
- In the Select Question Type dialogue 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 explain setting up a Front-end Developer question. These steps also apply 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, select the desired framework in the Select framework tab 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 required for configuring necessary project parameters like scoring command and IDE menu config.
- You can use this sample config file to reference when creating your 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 validate.
- 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 skills.
- For setting up the project:
- You can import your project from a public git URL or by uploading a zip
Note: Beta version of this step had a restriction that the top-level directory must be named 'project.' That restriction is not 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 successfully validating 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 the validation result to fix the project.
- You can use the in-page file editor to update and save files or update projects on your local and re-import.
- If you are making changes using the in-page file editor, click on the Validate&Save button when you are ready. It will start the validation process again.
- Once validation succeeds, click on the Proceed button.
- Suppose the validation fails at a step that is run after a server has been created (scoring command validations, for example). In that case, you will get an additional link called 'open debug console. You can open the server and debug the scoring command in the live environment. The debug console is available 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 validated version,' which will reset the file structure to the last valid state. Similarly, you have an option to 'Download last saved folder 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 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 clarity.
E) Software Requirements
- This field has the information about packages and software versions 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. Your team can use these 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.
Define Question Page
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.