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 🐧.
☝️ Important
As before, this is my experience, not a universal guide for all of IT. The map focuses on the materials of my blog, I hope everyone understands why 🙃.
Also see: part one and part two.
🖐️Hey!
Subscribe to our Telegram channel @r4ven_me📱, so you don’t miss new posts on the website 😉. If you have questions or just want to chat about the topic, feel free to join the Raven chat at @r4ven_me_chat🧐.
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:
- Part three (this one) - a map of materials. What to learn, in what order, and where to read or watch about it;
- Part four - a full cheat sheet: topics, typical questions and concise answers to them.
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:
- Must know - asked almost always, regardless of the job title;
- Often - asked if it is in the stack or in the job description;
- Depends on the job - worth looking at only if it is mentioned in the requirements;
- Optional - not the basis of preparation, but useful for work.
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.
| № | Block | Priority |
|---|---|---|
| 1 | Linux: system and command line | Must know |
| 2 | Disks and file systems | Must know |
| 3 | Networking and SSH | Must know |
| 4 | Bash and Python | Must know |
| 5 | Git | Often |
| 6 | Docker and containers | Often |
| 7 | Ansible and Terraform | Often |
| 8 | Kubernetes and CI/CD | Often |
| 9 | Databases | Often |
| 10 | Monitoring and logs | Depends on the job |
| 11 | Virtualization, backups, storage | Depends on the job |
| 12 | Soft skills and resume | Must know |
| 13 | AI and agents | Optional |
💡 Before you start preparing, take the job description and mark every technology in it. Everything mentioned there moves to the “Often” group, even if it is lower in the table.
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:
- Introduction: types of commands, plain text, file system, shell prompt;
- Navigating the system and viewing directories:
pwd,ls,cd; - Output and reading contents:
echo,cat,less; - Working with files:
touch,mkdir,cp,mv,rm; - File links:
ln; - Input and output redirection:
>,<,|; - Command execution control:
&&,||,;,&; - Processes:
jobs,fg,bg,ps,pgrep,kill,pkill,htop; - File permissions:
id,chmod,chown; - Privilege escalation:
su,sudo; - Archiving and compression:
tar,gzip,bzip2,xz,zstd,zip,7z,rar.
My Articles: Breakdowns and Theory
- Breaking down the output of the top utility - it was analyzed item by item at a technical interview, a must-read;
- Initial Linux server setup using Debian as an example;
- Init system;
- A little about shebang in Linux.
Videos
They explain well how everything works under the hood (more about the channels at the end):
- How computer memory works;
- How the processor works;
- How the processor cache works;
- How the stack works;
- How the ELF file is structured (Linux);
- History of Unix. Part one: AT&T Unix and part two: BSD Unix.
Self-Check Questions
The Linux section from the main question bank. It collects questions about booting, processes, memory and permissions:
- The OS boot process from pressing the power button;
- Processes with PID 0 and 1;
- Kernel,
initramfs, bootloader; - systemd and
init: what is the difference; - PXE and network boot;
- Userspace and kernelspace;
- System calls;
- Process and thread;
- Zombie processes;
- Signals;
SIGTERMandSIGKILL;- Swap;
- How
sudoworks; suid,sgidandsticky bit.
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 web server returns a 502 error;
- The
no such file or directoryerror when running a file; - Where a program looks for its config;
- A binary crashes right at startup;
- The server is slow under load;
availableandfreein thefreeoutput;- How to check the disk load;
- Load average 900: is it normal;
- What load average shows;
iowait: where it comes from;- The
too many open fileserror; - OOM killer;
- Where to look at a service’s output;
- Breaking down the
topoutput.
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:
📝 Honestly: I have no separate articles on LVM, inode and RAID on my blog. I covered this topic with the list of questions and the cheat sheet, so it will get more attention in part four.
Videos:
Self-Check Questions
The Disks and file system section of the question bank covers almost the whole block:
- What a file system is;
- What an
inodeis; - Where
inodes are physically stored; - Why
inodes run out and what it leads to; - Where file and directory names are stored;
- Hard and symbolic links;
- Mounting file systems;
/etc/fstab,/etc/mtab,/etc/mdadm/mdadm.conf;ext4orxfs;- File system problems and recovery;
- How to find the physical disk by partition;
- Which processes use a partition;
- What RAID is and what types exist;
- Tools for software RAID;
- What LVM is;
- Loop devices;
no space left on device: causes;dfanddushow different values;no space left on devicewith free space available (quotas).
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:
- Preparing a qcow2 virtual machine image using Debian as an example;
- Building a cloud-init template on ZFS.
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
- SSH - Secure connection to remote hosts: introduction;
- SSH - Fine-tuning the client in Linux: config file and ssh-agent;
- SSH - Port forwarding: direct and reverse tunnels;
- Forced command in SSH: running only one command without shell access;
- The sshd port does not change after editing sshd_config in Ubuntu.
My Articles: Firewall, DNS, VPN, TLS
- Basic Nftables setup in Linux using a Bash script;
- Ansible: managing the nftables firewall with the firewall role;
- Running your own Unbound DNS server and Pihole ad blocker in docker;
- Finding spies on the local network with NMAP;
- VPN - a technology for secure network communication;
- Running an OpenConnect SSL VPN server (ocserv) in docker for internal projects;
- mkcert - Valid self-signed TLS certificates in 3 commands in the Linux terminal.
Videos
Self-Check Questions
The Networking section of the question bank:
- What happens when you type a website address in the browser;
- The TCP/IP model;
- IP address and subnet mask;
- Private and special-purpose address ranges;
- Routing table;
- ARP;
- VLAN;
- TCP and UDP;
- How TCP establishes a connection;
- How TCP maintains a connection;
- How DNS works;
- DNS record types;
- Recursive and non-recursive DNS queries;
- NAT;
- ICMP;
traceroute;- TTL;
- How an SSH connection is established and authentication works;
- TLS and SSL;
- How certificates work;
- SNI;
- L4 and L7 load balancers;
- HTTP response codes.
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:
- A quick way to check VPN connection speed using SSH - an example of network diagnostics;
- Setting up DNS over HTTPS (DoH) on OpenWrt - a DNS example;
- Setting up an OpenConnect middle server for access to a closed perimeter - an example of access to closed infrastructure through an intermediate server;
- Secure file transfer with Nginx - an example of protected file distribution.
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:
- How to learn to write Bash scripts: recommended materials;
- A collection of Bash one-liners;
- A collection of Bash snippets.
Breakdowns of specific techniques:
- Bash: Features of arithmetic operations - increment
((expression++)); - Bash: An example of optimizing filtering commands with
grepandawk; - Bash: Generating configs with
envsubst, here document and here string; flock- locks in shell scripts;- Setting up output logging for Bash scripts.
Complete scripts that are good for practice:
- Bash: Writing a universal host availability check script;
- Writing a Bash script for backups with tar;
- Writing a bash script to connect to an OpenConnect VPN server;
- About a backup script in Python.
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:
export VARandVARwithoutexport;- Special variables
$@,$!,$?,$$; - How to output only
stderr; - How to pass
stderrthrough a pipeline too; - Single and double quotes;
- What the variable
aequals after a pipeline.
Python, the Python section:
Might Be Useful
From my articles, about a convenient working environment:
- ZSH - An interactive command shell for Linux + Oh-My-Zsh;
- VIM - Console editor: an introduction;
- Terminal multiplexer;
- Tmux - installation and customization + Nord theme.
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.
- Git commands cheat sheet - a third-party material (original on GitHub);
- Video: Git. A big practical episode.
Self-Check Questions
The Git section of the question bank:
mergeandrebase;- When to use
mergeand whenrebase; git pullandgit fetch;cherry-pick;- Git workflows, forks;
- GitFlow.
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
- Containerization - an OS-level virtualization technology;
- Installing Docker engine on a Linux server running Debian;
- Building a docker image of the Unbound DNS server;
- Building OpenConnect (ocserv) version 1.3 from source in Debian 12 + a docker image;
- How to find all tags of a Docker image - the skopeo utility;
- A convenient Docker lab with blackjack and a Web GUI.
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.
- Containerization and virtualization;
- What Docker is built on;
- Containers and images;
- Image storage, layers,
overlayfs; - Container isolation (
namespaces); - Why a container sees only its own processes;
- Resource limits (
cgroups); - Docker network types;
- Networking between two containers;
CMDandENTRYPOINT;ADDandCOPY;ARGandENV;- How to reduce the image size;
- Which user a container runs as;
- Why you should not use
latest; - What
docker-composeis for.
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
- Configuration management system - theory;
- Ansible - a configuration management system: an introduction;
- Writing an ansible playbook for the initial setup of a Linux server;
- Ansible: managing the nftables firewall with the firewall role;
- ansible-cmdb - Structuring and visualizing ansible facts;
- Creating infrastructure in Proxmox with Terraform or OpenTofu.
Third-Party Materials
- Ansible Inventory: a complete guide - an article on Habr, very useful.
Videos
- Terraform - From Zero to Certified Professional - an ADV-IT playlist.
Self-Check Questions
Ansible, the Ansible section:
ad hoccommands;- Roles;
- Idempotence;
handlers;pullandpushmodels;- Main Ansible primitives;
- Module and plugin.
Terraform, the Terraform section:
- Ansible and Terraform: what is the difference;
- Provider;
- Resource;
tfstate;- Locking
tfstate; - Recommendations for working with
tfstate; - Configuration drift;
- How to bring a manually created resource into code;
lifecyclerules;- One code for several environments.
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:
- Kubernetes from scratch - an ADV-IT playlist;
- GitLab and GitLab CI/CD for DevOps - an ADV-IT playlist;
- Jenkins in Russian - an ADV-IT playlist;
- Kubernetes - In Simple Words with a Clear Example;
- CI/CD - In simple words with a clear example;
- PRODUCTION Tools of REAL development: Kubernetes, Grafana, CI/CD, Harbor and others.
The last three are by Artem Shumeiko, more about the channel below.
Self-Check Questions
Kubernetes, the Kubernetes section:
- What Kubernetes is and what problem it solves;
- Cluster architecture;
- How a
Podis created; Podand container;DeploymentandReplicaSet;StatefulSetandDeployment;DaemonSet;readiness,liveness,startupprobes;Servicetypes;Ingress;ConfigMap;Secret;PVandPVC;requests,limitsand QoS;- What happens when a memory or CPU limit is exceeded;
- RBAC;
- CRI, CSI, CNI.
GitLab CI/CD, the GitLab CI/CD section:
- Key components of GitLab CI/CD;
before_scriptandafter_script;- How to avoid duplicating pipeline configuration;
- How to run tests only for a merge request;
- Ways to control job execution;
- Caching.
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:
- Part 1 - Installing and running PostgreSQL in Docker;
- Part 2 - Working with psql and DBeaver;
- Part 3 - Architecture and MVCC;
- Part 4 - Configuring PostgreSQL.
The series is not finished yet: the next parts (including VACUUM and WAL) will come later.
Third-Party Materials
- An SQL memo/cheat sheet - an article on Habr.
Videos
The “Digitalize!” channel (more below):
- Breaking down SQL using PostgreSQL as an example -
SELECT,JOIN,GROUP,HAVING,COALESCEand more; - PostgreSQL optimization basics - schema, indexes, reading
EXPLAIN, access and join methods, tuning.
Self-Check Questions
The DBMS section of the question bank. Despite the name, it also has PostgreSQL questions:
- Indexes;
- Why too many indexes are dangerous;
- ACID;
WAL;- Roles in PostgreSQL;
TRUNCATE,DELETE,DROP;- How to safely change a million rows;
- Why you should not run
mysqldumpon a large active database; - Master-slave replication.
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:
- What are monitoring systems in IT? - theory;
- System log in Linux: Syslog and Journald;
- Running a Zabbix 7 + TimescaleDB monitoring server in docker;
- Breaking down the output of the top utility.
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:
SLO,SLA,SLI;- Breaking down the
topoutput; - How to check the disk load;
- Where to look at a service’s output (
journalctl).
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:
- Creating a VM template with cloud-init in Proxmox;
- Preparing a qcow2 virtual machine image using Debian as an example;
- Installing a Debian 12 server in VirtualBox;
- Arkeep - A centralized Backup server with agents, based on Restic and Rclone;
- Rclone mount - Mounting SFTP, WebDAV, S3 network storage as a local directory in Linux;
- RustFS - Installing and setting up S3-compatible storage;
- Writing a Bash script for backups with tar.
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:
- Reasons for changing jobs. The answer must be honest and without negativity about the previous employer;
- Job preferences. What interests you, how much communication with customers is acceptable (in part two I wrote how that ended), whether you are ready for on-call duty;
- Questions for the employer. The stack, the release process, how on-call is organized, how onboarding goes, what the team is like.
The last one is often underestimated. Questions for the employer show that you choose the company the same way it chooses you.
Materials:
- About IT Interviews - part one;
- About IT Interviews - part two: resume, interview stages, salary size;
- DevOps and job search in IT - an ADV-IT playlist;
- Why does it not work out in IT? - a video by Alek OS.
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.
⚠️ AI agents run commands and change files on your behalf. Practice in a virtual machine or a container, not on a work machine. Do not give the agent access to secrets and do not send your employer’s data to cloud models. Check the model’s answers yourself: it can be confidently wrong.
Videos
The videos will help you get a bit into the essence of the matter:
- AI for the very small: how an LLM and an AI agent work - it is better to start with this one;
- Paid LLMs versus a local model on an everyday laptop - is the difference big?;
- Learning to think right in the age of AI. How and why to study formal logic;
- Local AI without limits: installing Hermes Agent locally on Windows/Ubuntu;
- What is OpenClaw | How to install | Free and safe on a laptop.
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:
- Ollama - local AI on your Linux PC;
- ShellGPT - an AI assistant in your Linux terminal;
- Automatic Ollama updates.
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
- ADV-IT - full course playlists: GitLab CI/CD, Prometheus, Terraform, Kubernetes, Jenkins, job search in IT and local AI agents;
- Alek OS - how everything works under the hood: memory, processor, TCP/IP, file systems, ELF, encryption. A good base for answering “how does it work” questions;
- Digitalize! - materials about databases, primarily PostgreSQL, as well as about how LLMs and AI agents work;
- GOLDEN PLAY - the history of Unix and operating systems. For an interview it is more of a background, but it helps to understand why Linux is built the way it is.
Also Useful
- Artem Shumeiko - Kubernetes, CI/CD and development tools in simple words, with examples;
- Artem Matyashov - big practical episodes (Docker, Git, OpenVPN);
- Merion Academy;
- Prosto Devops.
For Variety
- DistroTube;
- Kirill Semaev - I included the channel here out of respect and sympathy for the author. It still has an excellent Linux foundation, although there have been no new videos for a long time;
- Aleksey Samoilov;
- Ampersand;
- LinuxShef;
- overbafer1 - only old videos about cybersecurity.
How I Studied
A few thoughts about the process itself:
- Do not try to learn everything at once. Go by blocks following the table above: first Linux and networking, then the rest. Reviewing what you already know is also needed, it is not a waste of time;
- Answer the questions out loud. In your head the answer always seems coherent, but out loud it turns out it is not;
- Check everything you can on a virtual machine:
ip,ss,lsof,strace,journalctl,df,du. This is exactly what is expected in live admin tasks; - AI is good as a trainer: ask it to pose questions on a topic and review your answers. But not as a prompter during the interview itself, I wrote about this in part two;
- Do not be afraid of an honest “I don’t remember, but I would check it like this”. It is a normal answer.
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
- Swfuse/devops-interview;
- cyberspacedk/Git-commands;
- An SQL memo/cheat sheet on Habr;
- Ansible Inventory: a complete guide on Habr;
- A series of articles on Docker on Habr.
👨💻And…
Don’t forget about our Telegram channel 📱 and chat
Or maybe you want to become a co-author? Then click here🔗
💬 All the best ✌️
That should be it. If not, check the logs 🙂


