About IT Interviews - Part Three: A Map of Preparation Materials
Greetings!

In part three I share what I promised: a map of the materials I used to prepare for interviews for a Linux engineer position at the Middle+ level. Topics, articles, cheat sheets, videos and channels, plus the order in which it is best to study all this 🐧.

Also see: part one and part two.

Preface

Originally I planned to fit everything into one article, but there turned out to be too much material. So the topic was split into two parts:

In its raw form my notes looked like a dump: summaries, links, chats with ChatGPT, videos. Your eyes wander. So here I organized everything into blocks, from general to specific. Each block comes with my blog articles, external materials and videos.

How to Use the Map

I divided the blocks below into four groups by how often they come up in interviews. This is my subjective impression from past technical interviews, the picture may differ in your market:

The order is the same as in my preparation plan: first the foundation (Linux, networking, Bash), then the tools built on top of it (Git, Docker, Ansible, Kubernetes), and finally adjacent areas.

№BlockPriority
1Linux: system and command lineMust know
2Disks and file systemsMust know
3Networking and SSHMust know
4Bash and PythonMust know
5GitOften
6Docker and containersOften
7Ansible and TerraformOften
8Kubernetes and CI/CDOften
9DatabasesOften
10Monitoring and logsDepends on the job
11Virtualization, backups, storageDepends on the job
12Soft skills and resumeMust know
13AI and agentsOptional

The Main Source of Questions

Most of my questions come from the open repository Swfuse/devops-interview, where a kind person collected all the topics they ran into themselves, plus what readers sent them. The file interview.md is a huge list of questions and answers, about 7,500 lines, with the following sections: hardware and IPMI, Linux, disks and file systems, Debug, Docker, networking, Ansible, DBMS, Python, Kubernetes, GitLab CI/CD, AWS, Git, Terraform and workflow.

There is no point in studying it from start to end, but as a question bank (just “the bank” below) for self-checking it is good. Note that the questions there are not sorted by priority and sometimes repeat. The answers should also be read critically: some are outdated, some are superficial.

I used the file like this: I read a question, try to answer, then check. If my answer was muddled, the topic goes to the review list. This very list will form the basis of part four.

In the blocks below I gave links to specific sections and questions from this file, so you do not have to search for them manually.

1. Linux: System and Command Line

Must know. The core of any such interview. As I wrote in part two, one of the interviews asked only about Linux, both in practice and in theory.

What the block includes: command line, directory hierarchy, boot process (BIOS and UEFI, bootloader, kernel, initramfs, PID 1), systemd and its units, processes and threads, signals, access rights, memory and swap, load average, system calls.

My Articles: the Command Line Series

This is my series for those who master the console from scratch, but it is also great for reviewing the basics. It is better to go through it in order:

My Articles: Breakdowns and Theory

Videos

They explain well how everything works under the hood (more about the channels at the end):

Self-Check Questions

The Linux section from the main question bank. It collects questions about booting, processes, memory and permissions:

Troubleshooting and Performance

A typical task: “the server is slow, what do you do?” My map had no separate block for it, so I collected the questions here. The whole Debug section is useful, plus questions from the Linux section:

The bank has no questions about SELinux, AppArmor and PAM. If these technologies are in the job description, see the documentation of your distribution.

Might Be Useful

As an example on the PXE topic, from my articles: netboot.xyz - installing Linux online from a USB flash drive.

2. Disks and File Systems

Must know. The disk space task from part two came from this topic.

What the block includes: inode and the reasons they run out, hard and symbolic links, ext4 and xfs, /etc/fstab and mounting, LVM, RAID, the “df and du show different values” situation.

My articles on the topic:

Videos:

Self-Check Questions

The Disks and file system section of the question bank covers almost the whole block:

The LVM answer in the bank is short. Study the commands (pvcreate, vgcreate, lvcreate, lvextend) and growing a volume together with the file system (resize2fs, xfs_growfs) in man.

Might Be Useful

Not directly on topic, but related to images and disks of virtual machines:

3. Networking and SSH

Must know. Networking questions are asked both at the HR stage (in a simplified form) and at the technical one.

What the block includes: TCP/IP and OSI models, addressing and subnets, ARP and VLAN, TCP and UDP, DNS, HTTP, TLS and SNI, SSH, the nftables firewall. A classic that comes up almost everywhere: “What happens when you type a website address in the browser?”

My Articles: SSH

My Articles: Firewall, DNS, VPN, TLS

Videos

Self-Check Questions

The Networking section of the question bank:

The bank has no hands-on practice with ss and tcpdump. Practice these utilities on a virtual machine.

Might Be Useful

Examples on the topic from my articles:

4. Bash and Python

Must know (Bash), often (Python). A systems engineer is almost always expected to be able to write scripts. Bash is checked both with questions and with a live task.

What the block includes: variables and exporting them, quotes, streams and redirection, special variables ($@, $!, $?, $$), set -euo pipefail, pipelines, grep, sed, awk, find, xargs.

My Articles

Where to start and what to read:

Breakdowns of specific techniques:

Complete scripts that are good for practice:

Python is simpler: the basics are enough (data types, functions, working with files, exceptions, virtual environments, main libraries) and the ability to read someone else’s script and explain what it does.

Self-Check Questions

Bash, the Linux section:

Python, the Python section:

Might Be Useful

From my articles, about a convenient working environment:

5. Git

Often. The questions are usually simple, but people like to fail on them: merge and rebase, reset and revert, fetch and pull, checkout, switch and restore. Plus stash, cherry-pick and working with conflicts.

Self-Check Questions

The Git section of the question bank:

The bank has no questions about reset, revert and stash. You can take them from the cheat sheet above.

6. Docker and Containers

Often. Here they check not the ability to write docker run, but the understanding of what everything rests on: namespaces, cgroups, image layers, networks, the differences between CMD and ENTRYPOINT.

My Articles

Third-Party Materials

A series of articles on Habr from RUVDS. It is not new, but the basics (images, containers, networks, volumes) have not changed since then:

Videos

Self-Check Questions

The Docker containers section of the question bank. It covers the main things: namespaces, cgroups, image layers and networks.

7. Ansible and Terraform

Often. If the job description contains the words “automation” or “IaC”, these tools will almost certainly come up.

What the block includes. Ansible: playbook, play, task, module, role, inventory, handler, template, facts, vault, idempotence. Terraform: provider, resource, state and backend, variable, output, plan, apply.

My Articles

Third-Party Materials

Videos

Self-Check Questions

Ansible, the Ansible section:

Terraform, the Terraform section:

8. Kubernetes and CI/CD

Often, and almost mandatory for jobs with “DevOps” in the title. As I wrote in part one, everyone works with Kubernetes one way or another.

What the block includes. Kubernetes: Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet, Job, CronJob, Service, Ingress, ConfigMap, Secret, PV and PVC, RBAC, Control Plane architecture, kubelet, CNI and CSI. CI/CD: pipelines, runners, stages, artifacts.

There are no articles of my own on these topics on the blog yet, so here I rely on videos:

The last three are by Artem Shumeiko, more about the channel below.

Self-Check Questions

Kubernetes, the Kubernetes section:

GitLab CI/CD, the GitLab CI/CD section:

If the cloud is in the job description, see the Cloud (AWS) section (VPC, EC2, Security Group, S3, Route 53, EKS).

9. Databases

Often. Confident SQL and an understanding of how PostgreSQL works (or MySQL, depending on what is in the job description) are enough.

What the block includes. SQL: DDL, DML, DCL, JOIN, GROUP BY, HAVING, subqueries, constraints, indexes, transactions. PostgreSQL: architecture, WAL, MVCC, VACUUM, index types, reading EXPLAIN, roles and privileges, replication.

My Articles: the PostgreSQL Series

The “PostgreSQL Administration” series. I recommend going in order:

The series is not finished yet: the next parts (including VACUUM and WAL) will come later.

Third-Party Materials

Videos

The “Digitalize!” channel (more below):

Self-Check Questions

The DBMS section of the question bank. Despite the name, it also has PostgreSQL questions:

Might Be Useful

On the database topic, but not about questions: Video recommendation: an interview with Ivan Panchenko, co-founder of Postgres Pro.

10. Monitoring and Logs

Depends on the job. Here the picture depends on the stack. My map had Zabbix, Prometheus, Loki, journald, rsyslog and auditd.

My articles:

Video: Prometheus - monitoring basics - an ADV-IT playlist.

Self-Check Questions

The question bank has nothing about Zabbix, Prometheus and Loki. General questions suit this block:

11. Virtualization, Backups, Storage

Depends on the job. If the job involves server hardware, virtualization and data storage, this block is mandatory.

What the block includes: KVM and QEMU, libvirt, Proxmox, snapshots, LVM, RAID, rsync, tar, S3-compatible storage.

My articles:

Self-Check Questions

For server hardware and virtualization the question bank has two sections: Hardware questions and Viewing hardware information.

The bank has no questions about backups (rsync, tar, restic). My articles above cover this part.

Might Be Useful

For a home lab: Installing VirtualBox in Linux Mint 21.

12. Soft Skills and Resume

Must know. This is not technical, but you need to prepare for it too. My map had three separate lists that I thought through in advance:

The last one is often underestimated. Questions for the employer show that you choose the company the same way it chooses you.

Materials:

13. AI and Agents

Optional. The topic is hyped right now. I strongly recommend learning to work with AI and agents: it is already part of the working toolkit. But do not get stuck on it while preparing for interviews. The foundation from the blocks above matters more.

What the block includes: how large language models (LLMs) and AI agents work, cloud and local models, running agents yourself, basic logic for checking model answers.

Videos

The videos will help you get a bit into the essence of the matter:

The first three are from the “Digitalize!” channel, the last two are from ADV-IT. More about the channels below.

Might Be Useful

From my articles, if you want to try local models and AI in the terminal:

YouTube Channels

From videos I mostly took what explains the basics and how systems are built, rather than yet another review of yet another tool.

Main

Also Useful

For Variety

How I Studied

A few thoughts about the process itself:

Afterword

The map turned out long, and that is fine. Learning everything is unrealistic and unnecessary: the goal is not to know every Nginx directive, but to confidently understand the fundamentals.

In the next, fourth part, I will put all this together into a full cheat sheet: topics, typical questions and short answers.

Thanks for reading. Good luck with your preparation and your search! 🐧

Used Materials

Copyright Notice

Author: Ivan Cherniy

Link: https://r4ven.me/en/lyrics/pro-sobesedovaniya-v-it-chast-tretya/

License: CC BY-NC-SA 4.0

Blog materials may be used with attribution to the author and source, for non-commercial purposes, and under the same license.

Start searching

Enter keywords to search articles

↑↓
↵
ESC
⌘K Shortcut