HackerRank Tests conducted by your hiring company aim to assess the candidates for specific coding and technical skills. These assessments primarily include coding questions of varying complexity in different programming languages and diverse frameworks. However, depending on the role, test setters may also include other types of questions such as multiple-choice, diagramming. to assess your knowledge in particular subjects.
This article lists the different question types supported by HackerRank.
Questions for which you write programs or define logic in functions to produce the expected output.
Coding questions may have varying complexity levels, and you may be expected to code in particular programming languages. An in-built code editor and compiler adapt itself to a chosen language, and test cases validate your code to produce the expected output.
Questions on front-end web application development using frameworks such as Angular, React, Node.js, or other custom frameworks. You are provided with a front-end project and access to an IDE where you can run and test your code in offline or online modes.
Questions on back-end web application development using frameworks such as Node.js, Django, Ruby on Rails, Java Spring Boot, or other custom frameworks. You are provided with a back-end project and access to an IDE to run and test your code in offline or online modes.
Questions that require you to develop and test Java project files. Maven and JUnit frameworks are supported for building and testing these projects.
Database programming Questions based on MySQL, Oracle, Microsoft SQL, or DB2. You are expected to write database queries pertaining to data storage, retrieval, and management. Typically, the test setter defines the data schema along with the problem statement.
Questions that assess Linux programming skills. You are provided credentials to log in to a virtual Linux sandbox machine and remotely perform tasks such as installing packages, creating files, and using tools like grep.
Questions for which you have to choose one or more correct answers from a given list. Test setters may sometimes impose negative scores for wrong choices.
Also referred to as "Fill-in-the-blanks."
Questions where you are expected to complete a given sentence with correct words or phrases.
Open-ended questions to assess your unique perspective on a given topic. You are expected to write answers in plain text.
Questions where you are expected to attach a file containing your answer.
|Diagram||Questions that you answer with class diagrams, structure diagrams, flowcharts, or architectural diagrams. The test interface provides the integrated draw.io tool to help you create these diagrams.|
|Approximate solution||Questions are based on programming with custom checking logic for input or output. The custom checker is a hook program that will be invoked after every test case is run.|
Questions to assess skills like data wrangling, visualization, machine learning, etc, through Jupyter Notebooks.
(Optional) You can use additional files to upload external files like data sets or scripts. You can add solution notebooks or evaluation files. These files are not available to the candidate during a test and will be used after the test to score a candidate's submission.
Questions on full-stack web application development using frameworks such as Angular, React.js, Node.js, Django, Ruby on Rails, Java Spring Boot, .Net Core, or other custom frameworks. You are provided with a back-end project and access to an IDE to run and test your code in offline or online modes.
This question type supports both front-end and back-end developer frameworks in a single question type.
Questions that assess to review the code changes across multiple files, and you can add your comments inline.
|Whiteboard||Questions where you can use the whiteboard to add basic shapes and text.|