Articles
HackerRank DevOps Assessment: Linux VM Tasks and How to Prepare
HackerRank DevOps assessment guide: Linux VM tasks, practical preparation, grading checks, and a simple inspect, change, verify workflow.
If your HackerRank invitation includes a DevOps question, expect to work in a Linux environment, not just answer multiple-choice questions about tools. The task may ask you to inspect a machine, install a package, create or edit a file, or use a command such as grep to produce a required result.
The assessment typically opens a browser terminal connected to a sandboxed Linux virtual machine. Your job is to make the requested change and leave the environment in the state the grader expects. That means a command that looks right is not enough: check the file, service, permission, or output that the prompt names.
The exact tasks, operating system, available privileges, time limit, and scoring rules depend on the assessment your employer configured. Treat your invitation and on-screen instructions as authoritative.
Key takeaways
- Expect practical Linux work in a terminal connected to a virtual machine.
- Read the full task before typing. Note the required path, exact content, permissions, and final state.
- Use a repeatable loop: inspect the starting state, make the smallest needed change, then verify the result.
- Do not assume the distribution, package manager, root access, or internet access. Check what the environment provides.
- Grading may check the machine state automatically, so confirm the actual result instead of trusting a command’s appearance.
What the DevOps assessment can look like
A DevOps question is a hands-on Linux task. The terminal is usually part of the assessment page, with the prompt visible alongside it. Example task types include:
- Install a named package if the environment and instructions allow it.
- Create a file at a specific path with exact contents.
- Find or filter lines in a file using a command-line tool such as
grep. - Inspect the machine and make a small configuration or permission change.
These are examples of task shapes, not a guaranteed question list. Some tests contain one practical task; others combine it with coding, technical questions, or additional assessment sections. Do not assume every DevOps assessment uses the same Linux distribution or asks you to configure a production-style system.
The safest workflow: inspect, change, verify
| Step | What to do | What to check |
|---|---|---|
| Inspect | Read the full task and check the starting state | Correct path, tool, permissions, and exact requirements |
| Change | Make only the requested edit | Command ran against the intended file or service |
| Verify | Inspect the final result | Required state is present and the command succeeded |
1. Inspect the instructions and the machine
Before running commands, turn the prompt into a short checklist:
- What exact file, package, service, or output is required?
- Which directory or path should contain it?
- Does the task specify exact capitalization, spacing, or line breaks?
- Are there permission or ownership requirements?
- What should be true when you finish?
Then inspect the environment without changing it. A few basic checks can help you orient yourself:
pwd
ls -la
cat /etc/os-release
command -v grep
Use only the checks that help with the prompt. The goal is to learn where you are and what tools are available, not to spend the assessment collecting trivia about the machine.
2. Make the smallest change that satisfies the task
If the prompt asks for exact file content, preserve it carefully. For example, if you need to create a file with one line, a quoted printf is often easier to control than typing into an editor:
mkdir -p /tmp/assessment
printf '%s' 'assessment-ready' > /tmp/assessment/status.txt
Use the path and text from your own prompt. The example above is only a demonstration. If a package is required, first identify the distribution and available package manager; use the method the task permits. Do not assume that apt, dnf, yum, or network access will be available.
If you need elevated privileges, read the instructions first. Some environments provide sudo when a task requires it; others do not. Avoid adding permissions or changing unrelated files just to make a command succeed.
3. Verify the requested end state
After a change, check the thing the grader is likely to care about. For a required file, inspect its path and contents:
ls -l /tmp/assessment/status.txt
cat /tmp/assessment/status.txt
For a search task, check the command’s output and exit status. For a package task, use the package manager or executable named in the task to confirm it is available. For a service or configuration task, inspect the specific state the prompt asks you to change.
Do not rely on “the command ran without an error” as proof. A redirection can write to the wrong path; a command can match no lines; and a package command can finish without installing the item you intended. Verification catches those mistakes while there is still time to fix them.
Common mistakes that cost time
| Mistake | Why it causes trouble | Better approach |
|---|---|---|
| Typing before reading the whole task | A later sentence may specify a path, exact text, or permission | Convert the prompt into a short checklist first |
| Assuming a familiar distribution | Package commands and defaults vary | Inspect /etc/os-release and available tools when relevant |
| Running a long command without checking its result | A silent failure may leave the required state unchanged | Check the exit status and inspect the requested artifact |
| Changing more than the prompt requires | Extra edits can break a correct starting state | Make the smallest targeted change |
| Overusing sudo | It can hide a permissions mistake or change ownership unexpectedly | Use elevated access only when the instructions require it |
| Spending too long on one blocked step | A small issue can consume time needed for verification | Capture the exact error, try one focused diagnosis, then move on if possible |
How to manage the clock
Use the assessment’s own time limit; there is no single standard duration for every employer’s test. A simple allocation works well:
- First 10%: Read the prompt, note constraints, and inspect the relevant starting state.
- Next 65%: Complete the required changes, one task at a time.
- Next 20%: Verify paths, contents, permissions, and command results.
- Final 5%: Save or proceed using the assessment controls and check that the page reflects your completed work.
If a task is blocked, avoid repeating the same command with small variations. Read the exact error, check the most likely cause, and decide whether the next diagnostic is worth the time. Keep enough time to verify the work you did complete.
What the grader may be checking
The platform’s candidate guidance describes these DevOps questions as Linux tasks in a sandboxed virtual machine. The employer can configure automated checks for the required result, and assessment administrators may have access to a session playback. In practice, prepare to leave the machine in a correct, reviewable state.
For each instruction, translate the wording into something observable. “Create a file” becomes the correct path and content. “Install a package” becomes evidence that the expected package or command is present. “Find matching lines” becomes the right input, pattern, and output. If the prompt asks for a specific final state, verify that state directly.
A focused preparation plan
You do not need to memorize every Linux command. Practise the small set of actions that make you reliable in an unfamiliar environment:
Session 1: Files and paths
Practise moving through directories, listing hidden files, creating directories, writing exact text to files, and checking the result. Include paths with spaces and nested directories so you build the habit of quoting paths correctly.
Session 2: Search and text tools
Use grep to find literal text, match case-sensitive patterns, show line numbers, and check what happens when there are no matches. Practise reading command output and exit status instead of assuming an empty result means the command failed.
Session 3: Permissions and packages
Review file permissions and the difference between reading, writing, and executing. Learn how to identify the distribution and package tools on a Linux machine. Practise in a safe local environment or disposable VM; do not experiment on a work machine or change system files you do not own.
Session 4: Timed end-to-end run
Give yourself a short sequence of tasks: inspect a directory, create a file with exact contents, find a requested pattern in a log, and verify each result. Use a timer. At the end, explain what you checked and what evidence confirms the final state.
Before you start the real assessment
- Read the invitation for the deadline, duration, supported environment, and any rules about outside help.
- Use a stable internet connection and a current browser supported by the assessment.
- Close unrelated work so you can focus on the terminal and task description.
- Keep scratch notes brief: exact requirements, attempted changes, and what remains to verify.
- Follow the assessment’s own controls when saving or moving between questions.
- Do not paste assessment content into public forums or share confidential task details.
A final checklist
Before leaving a DevOps task, ask:
- Did I satisfy every requirement in the prompt?
- Is the result at the exact path, with the exact content and permissions requested?
- Did I inspect the final state after making the change?
- Did I preserve time for the assessment’s save or proceed controls?
- Did I follow the rules in my invitation?
The most dependable preparation is not a long list of clever commands. It is the habit of reading precisely, making a small change, and proving that the requested result is there.