Linux Support Interview Prep

Linux Support
Interview Prep.

Prepare for Linux support interviews by practicing the commands, concepts, and troubleshooting scenarios employers expect you to understand, not just recite.

You'll Practice

  • Core concepts
  • Real troubleshooting
  • Commands and tools
  • Scenario questions
  • Explaining your thought process
  • Common mistakes to avoid

8 Free Interview Questions

Real questions, real answers, the kind you could actually say out loud in an interview. Click any question to expand it.

01

What does chmod 755 mean, and when would you use it versus 644?

▼
What the Interviewer Is Testing

Whether you actually understand the permission model rather than memorizing numbers.

Solid Answer

Permissions come in three groups, owner, group, and everyone else, and each gets read (4), write (2), execute (1). So 755 is rwx for the owner and r-x for group and others. I would use 755 on a directory or a script that needs to be executable, and 644 (rw-r--r--) on a regular file like a config or a document, because normal files should not be executable.

Stronger Answer

The reason the execute bit matters on directories is that without it you cannot cd into the directory even if you can read its name. So a common real-world bug is a directory set to 644 that people can see but cannot enter. When I set permissions I think about who actually needs access and give the least that works, rather than reaching for 777, which is almost always a sign someone gave up.

Command / Example
chmod 755 deploy.sh ls -l deploy.sh # -rwxr-xr-x
Common Mistake

Reaching for chmod 777 to “make it work.” It removes all protection and is a red flag to an experienced interviewer.

Likely Follow-Up

“On a directory, what does the execute bit actually let you do?”

02

How do you kill a process, and what is the difference between kill -15 and kill -9?

▼
What the Interviewer Is Testing

Whether you understand signals and default to the graceful option.

Solid Answer

kill -15 sends SIGTERM, which is a polite request asking the process to shut down and clean up after itself. kill -9 sends SIGKILL, which the process cannot catch or ignore, the kernel just ends it. I try SIGTERM first and only use SIGKILL if the process is stuck and not responding.

Stronger Answer

The reason order matters is that SIGKILL skips cleanup, so a database or a process holding a lock can be left in a bad state, corrupt files or stale lock files. My habit is: find the process, send SIGTERM, wait a few seconds, confirm it is gone, and only escalate to -9 if it ignored me. Reaching straight for -9 is a small tell that someone has not been burned by it yet.

Command / Example
kill -15 4821 # wait, confirm, then only if needed: kill -9 4821 # by name: pkill nginx
Common Mistake

Using kill -9 first by reflex.

Likely Follow-Up

“You send SIGTERM and nothing happens. What do you check before escalating?”

03

A service will not start after a config change. Walk me through it.

▼
What the Interviewer Is Testing

Troubleshooting method and whether you read errors instead of guessing.

Solid Answer

I start with systemctl status <service>, which shows whether it failed and usually a hint, then journalctl -u <service> for the actual error. A lot of services also have a config test command, like nginx -t, that points straight at the bad line. I fix the specific cause, validate the config again, then restart and confirm it is running.

Stronger Answer

Because a config change is the stated cause, I would also check whether there is a backup of the old config to compare against or roll back to, that is exactly why I back up a config before editing it. And I would not just restart blindly, I would run the config test first so I am not fixing one typo and introducing another. Then I confirm from the outside too, for a web server I would curl it, not just trust the status line.

Command / Example
systemctl status nginx journalctl -u nginx -n 30 nginx -t systemctl restart nginx
Common Mistake

Restarting repeatedly without reading the log, or editing config with no backup to roll back to.

Likely Follow-Up

“The log says the port is already in use. Now what?”

04

How do you find what is taking up disk space on a full server?

▼
What the Interviewer Is Testing

Structured investigation and awareness of the non-obvious causes.

Solid Answer

I start with df -h to confirm which filesystem is full, then I narrow down with du, usually du -h --max-depth=1 /var and then drill into the biggest directory, and again, until I find the specific files. Very often it is a runaway log in /var/log.

Stronger Answer

A couple of things I check that catch people out. On a busy production box I never run du unscoped from /, without the -x flag it will cross into /proc, /sys, and any mounted network shares, which throws permission noise and can hang on a slow NFS mount. Adding -x keeps it on the local filesystem. Separately, if df -h shows space free but writes still fail, I check df -i, because the filesystem can run out of inodes from millions of tiny files. And if I find a huge log a process still has open, deleting it does not free the space until the process restarts, so I truncate it in place and fix the cause instead.

Command / Example
df -h du -hx --max-depth=1 /var | sort -rh | head df -i # inode case
Common Mistake

Only checking df and giving up when it shows free space, missing inode exhaustion.

Likely Follow-Up

“You delete the big log file but df still shows the space used. Why?”

Want to go deeper?

The complete Linux Interview Prep Pack adds dozens more questions, deeper troubleshooting scenarios, follow-up questions, a quick-review cheat sheet, and a 7-day study plan.

Get the Complete Pack
05

How do you check what is listening on a specific port, and why does it matter?

▼
What the Interviewer Is Testing

Practical network-service troubleshooting.

Solid Answer

I use ss -tlnp, which lists TCP ports that are listening and the process that owns each one. To check one port I pipe it through grep. This comes up constantly when a service is up but nothing can connect to it.

Stronger Answer

The detail that matters is which address it is bound to. A service listening on 127.0.0.1 only accepts local connections, so if a remote client cannot reach it but the service is clearly running, that binding is often the reason, and the fix is config, not firewall. ss replaced netstat, though netstat -tlnp still works on older boxes.

Command / Example
ss -tlnp ss -tlnp | grep :8080 lsof -i :80
Common Mistake

Assuming “the service is running” means “the service is reachable,” without checking the bind address.

Likely Follow-Up

“The service is listening on 127.0.0.1 but another server cannot reach it. What do you change?”

06

Walk me through using grep, and when you would reach for awk instead.

▼
What the Interviewer Is Testing

Log-analysis fluency, the daily reality of Linux support.

Solid Answer

grep finds lines that match a pattern, so for logs I use it constantly, like grep "error" app.log or grep -i "failed" /var/log/auth.log. I reach for awk when I need to pull out a specific field rather than a whole line, for example the IP address or the timestamp column.

Stronger Answer

A pattern I use a lot is counting by field. To find the busiest source IPs in an access log I would do awk '{print $1}' access.log | sort | uniq -c | sort -rn | head. Read right to left, that is: take the first field, group identical ones, count them, and show the biggest. That one line turns a huge log into an answer, which is most of what log analysis actually is.

Command / Example
grep -c "Invalid user" /var/log/auth.log awk '{print $1}' access.log | sort | uniq -c | sort -rn | head
Common Mistake

Running uniq without sorting first, so duplicates that are not adjacent do not get collapsed.

Likely Follow-Up

“How would you get just the failed SSH logins and count them by source IP?”

07

How do you set up SSH key-based authentication, and why is it better than a password?

▼
What the Interviewer Is Testing

Secure remote administration, a core Linux support skill.

Solid Answer

I generate a key pair with ssh-keygen, keep the private key on my machine, and put the public key in the server's ~/.ssh/authorized_keys, usually with ssh-copy-id. After that I can log in without typing a password. It is more secure because nothing guessable travels over the network.

Stronger Answer

On a server I control, once key login works I would disable password authentication entirely in sshd_config, which shuts down the constant password brute-force attempts you see in the auth log. One gotcha worth mentioning: SSH refuses to use keys if the permissions on ~/.ssh or authorized_keys are too open, so if key login mysteriously fails, ssh -v and the file permissions are the first things I check.

Command / Example
ssh-keygen -t ed25519 ssh-copy-id user@server # then set PasswordAuthentication no
Common Mistake

Committing or sharing the private key, or disabling password auth before confirming key login works and locking yourself out.

Likely Follow-Up

“You set up your key but still get 'Permission denied (publickey)'. What do you check?”

08

What is the difference between the Linux kernel and a distribution?

▼
What the Interviewer Is Testing

Foundational understanding, and whether you can explain a concept crisply.

Solid Answer

The kernel is the core that talks to the hardware and manages memory, processes, and devices. A distribution is the kernel plus everything that makes it usable, a package manager, system utilities, a shell, and sensible defaults. Ubuntu, Debian, and Red Hat are distributions built on the same kernel lineage.

Stronger Answer

Why it matters day to day is that distributions differ in ways that bite you, different package managers (apt versus dnf), different default log locations, different service names. So when I am handed an unfamiliar server, one of the first things I check is which distribution and version it is, because it changes which commands and paths I reach for.

Command / Example
cat /etc/os-release
Common Mistake

Treating all Linux as Ubuntu and assuming Ubuntu paths and commands work everywhere.

Likely Follow-Up

“You are on an unfamiliar server. How do you find out what it is running?”

Ready for the Full Interview?

Linux Interview Prep Pack

Available Now
  • 40+ carefully selected interview questions
  • Interview-ready answers for each one
  • What interviewers are testing, explained
  • Likely follow-up questions
  • Hands-on troubleshooting scenarios
  • Commands worth knowing
  • Common interview mistakes to avoid
  • Rapid-review cheat sheet
  • 7-day preparation plan
  • Downloadable PDF and mobile study version
Get the Linux Interview Prep Pack → Instant download · PDF · Secure checkout via Gumroad

Keep Building

These questions come from the free SecureByDefault curriculum. Go learn the underlying skills, or explore the scenarios these answers are built on.