Про собеседования в IT - часть третья: карта материалов для подготовки
Приветствую!

В третьей части делюсь тем, что обещал: картой материалов, по которым я готовился к собеседованиям на позицию Linux-инженера уровня Middle+. Темы, статьи, шпаргалки, видео и каналы, плюс порядок, в котором всё это лучше изучать 🐧.

Смотрите также: часть первая и часть вторая.

Предисловие

Изначально я планировал уложить всё в одну статью, но материала оказалось слишком много. Поэтому тема разделилась на две части:

В сыром виде мои заметки выглядели как свалка: конспекты, ссылки, диалоги с ChatGPT, видео. Глаза разбегаются. Поэтому здесь я свёл всё по блокам, от общего к частному. К каждому блоку приложены мои статьи с блога, внешние материалы и видео.

Как пользоваться картой

Блоки ниже я разделил на четыре группы по тому, как часто по ним спрашивают. Это моё субъективное ощущение по прошлым техническим интервью, на вашем рынке расклад может отличаться:

Порядок такой, как у меня в плане подготовки: сначала фундамент (Linux, сети, Bash), потом инструменты, которые на нём стоят (Git, Docker, Ansible, Kubernetes), и в конце смежные области.

№БлокПриоритет
1Linux: система и командная строкаОбязательно
2Диски и файловые системыОбязательно
3Сети и SSHОбязательно
4Bash и PythonОбязательно
5GitЧасто
6Docker и контейнерыЧасто
7Ansible и TerraformЧасто
8Kubernetes и CI/CDЧасто
9Базы данныхЧасто
10Мониторинг и логиПо вакансии
11Виртуализация, бэкапы, хранилищаПо вакансии
12Софтскиллы и резюмеОбязательно
13ИИ и агентыПо желанию

Главный источник вопросов

Основная часть вопросов у меня взята из открытого репозитория Swfuse/devops-interview, в котором добрый человек собрал все темы, с вопросами по которым сталкивался сам + то, что ему прислали читатели. Файл interview.md - это огромный, около 7,5 тысячи строк, список вопросов и ответов по таким разделам: железо и IPMI, Linux, диски и файловые системы, Debug, Docker, сети, Ansible, СУБД, Python, Kubernetes, GitLab CI/CD, AWS, Git, Terraform и рабочий процесс.

Учить его подряд нет смысла, а вот как банк вопросов (далее просто банк) для самопроверки он хорош. Обратите внимание, что вопросы там не отсортированы по приоритету и местами повторяются. Ответы тоже стоит читать критически: где-то они устарели, где-то поверхностные.

Я использовал файл так: читаю вопрос, пытаюсь ответить, потом сверяюсь. Если ответ вышел путаным, тема идёт в список для повторения. Именно этот список и ляжет в основу четвёртой части.

В блоках ниже я дал ссылки на конкретные разделы и вопросы из этого файла, чтобы не искать их вручную.

1. Linux: система и командная строка

Обязательно. Ядро любого такого собеседования. Как я писал во второй части, в одном из интервью спрашивали только Linux, причём и на практике, и в теории.

Что входит в блок: командная строка, иерархия каталогов, процесс загрузки (BIOS и UEFI, загрузчик, ядро, initramfs, PID 1), systemd и его юниты, процессы и потоки, сигналы, права доступа, память и swap, load average, системные вызовы.

Мои статьи: цикл про командную строку

Это мой цикл для тех, кто осваивает консоль с нуля, но он же отлично подходит для повторения базы. Лучше проходить по порядку:

Мои статьи: разбор и теория

Видео

Хорошо объясняют, как всё устроено под капотом (подробнее о каналах будет в конце):

Вопросы для самопроверки

Раздел Linux из главного банка вопросов. Здесь собраны вопросы по загрузке, процессам, памяти и правам:

Диагностика и производительность

Типовая задача: “сервер тормозит, что делать?” В моей карте под неё не было отдельного блока, поэтому собрал вопросы здесь. Раздел Debug целиком полезен, плюс вопросы из раздела Linux:

В банке нет вопросов про SELinux, AppArmor и PAM. Если эти технологии есть в вакансии, смотрите документацию вашего дистрибутива.

Возможно будет полезно

Как пример по теме PXE, из моих статей: netboot.xyz - установка Linux онлайн с USB флешки.

2. Диски и файловые системы

Обязательно. Из этой темы была задача про место на диске из второй части.

Что входит в блок: inode и причины их нехватки, жёсткие и символические ссылки, ext4 и xfs, /etc/fstab и монтирование, LVM, RAID, ситуация “df и du показывают разное”.

Мои статьи по теме:

Из видео:

Вопросы для самопроверки

Раздел Диски и файловая система из банка вопросов закрывает почти весь блок:

Ответ про LVM в банке короткий. Команды (pvcreate, vgcreate, lvcreate, lvextend) и расширение тома вместе с файловой системой (resize2fs, xfs_growfs) разберите по man.

Возможно будет полезно

По теме напрямую не относится, но связано с образами и дисками виртуальных машин:

3. Сети и SSH

Обязательно. Сетевые вопросы задают и на HR-этапе (в упрощённом виде), и на техническом.

Что входит в блок: модели TCP/IP и OSI, адресация и подсети, ARP и VLAN, TCP и UDP, DNS, HTTP, TLS и SNI, SSH, фаервол nftables. Классика, которая встречается почти везде: “Что происходит, когда вы вводите адрес сайта в браузере?”

Мои статьи: SSH

Мои статьи: фаервол, DNS, VPN, TLS

Видео

Вопросы для самопроверки

Раздел Сети из банка вопросов:

Практики с ss и tcpdump в банке нет. Отработайте эти утилиты на виртуалке.

Возможно будет полезно

Примеры по теме из моих статей:

4. Bash и Python

Обязательно (Bash), часто (Python). От системного инженера почти всегда ждут умения писать скрипты. Bash проверяют и вопросами, и задачей на лету.

Что входит в блок: переменные и их экспорт, кавычки, потоки и перенаправление, спецпеременные ($@, $!, $?, $$), set -euo pipefail, конвейеры, grep, sed, awk, find, xargs.

Мои статьи

С чего начать и что почитать:

Разборы конкретных приёмов:

Скрипты целиком, на которых хорошо тренироваться:

С Python проще: достаточно базы (типы данных, функции, работа с файлами, исключения, виртуальные окружения, основные библиотеки) и умения прочитать чужой скрипт и объяснить, что он делает.

Вопросы для самопроверки

Bash, раздел Linux:

Python, раздел Python:

Возможно будет полезно

Из моих статей, про удобное рабочее окружение:

5. Git

Часто. Вопросы обычно простые, но на них любят сыпаться: merge и rebase, reset и revert, fetch и pull, checkout, switch и restore. Плюс stash, cherry-pick и работа с конфликтами.

Вопросы для самопроверки

Раздел Git из банка вопросов:

Про reset, revert и stash в банке вопросов нет. Их можно взять из шпаргалки выше.

6. Docker и контейнеры

Часто. Тут проверяют не умение написать docker run, а понимание того, на чём всё держится: namespaces, cgroups, слои образов, сети, различия между CMD и ENTRYPOINT.

Мои статьи

Сторонние материалы

Цикл статей на Habr от RUVDS. Он не новый, но базовые вещи (образы, контейнеры, сети, тома) за это время не изменились:

Видео

Вопросы для самопроверки

Раздел Docker контейнеры из банка вопросов. Он закрывает главное: namespaces, cgroups, слои образов и сети.

7. Ansible и Terraform

Часто. Если в вакансии есть слова “автоматизация” или “IaC”, эти инструменты почти наверняка прозвучат.

Что входит в блок. Ansible: playbook, play, task, module, role, inventory, handler, template, facts, vault, идемпотентность. Terraform: provider, resource, state и backend, variable, output, plan, apply.

Мои статьи

Сторонние материалы

Видео

Вопросы для самопроверки

Ansible, раздел Ansible:

Terraform, раздел Terraform:

8. Kubernetes и CI/CD

Часто, а для вакансий с “DevOps” в названии почти обязательно. Как я писал в первой части, с Kubernetes так или иначе работают все.

Что входит в блок. Kubernetes: Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet, Job, CronJob, Service, Ingress, ConfigMap, Secret, PV и PVC, RBAC, архитектура Control Plane, kubelet, CNI и CSI. CI/CD: пайплайны, раннеры, стадии, артефакты.

Своих статей по этим темам на блоге пока нет, поэтому здесь опора на видео:

Последние три - от Артёма Шумейко, подробнее о канале ниже.

Вопросы для самопроверки

Kubernetes, раздел Kubernetes:

GitLab CI/CD, раздел GitLab CI/CD:

Если облако есть в вакансии, смотрите раздел Cloud (AWS) (VPC, EC2, Security Group, S3, Route 53, EKS).

9. Базы данных

Часто. Достаточно уверенного SQL и понимания устройства PostgreSQL (или MySQL, смотря что в вакансии).

Что входит в блок. SQL: DDL, DML, DCL, JOIN, GROUP BY, HAVING, подзапросы, ограничения, индексы, транзакции. PostgreSQL: архитектура, WAL, MVCC, VACUUM, типы индексов, чтение EXPLAIN, роли и права, репликация.

Мои статьи: цикл про PostgreSQL

Цикл “Администрирование PostgreSQL”. Рекомендую идти по порядку:

Цикл ещё не закончен: следующие части (в том числе про VACUUM и WAL) появятся позже.

Сторонние материалы

Видео

Канал “Диджитализируй!” (подробнее ниже):

Вопросы для самопроверки

Раздел СУБД из банка вопросов. Несмотря на название, там есть и вопросы по PostgreSQL:

Возможно будет полезно

По теме базы данных, но не по вопросам: Рекомендация видео: интервью с Иваном Панченко, сооснователем компании Postgres Pro.

10. Мониторинг и логи

По вакансии. Здесь расклад зависит от стека. У меня в карте были Zabbix, Prometheus, Loki, journald, rsyslog и auditd.

Мои статьи:

Видео: Prometheus - основы мониторинга - плейлист ADV-IT.

Вопросы для самопроверки

Про Zabbix, Prometheus и Loki в банке вопросов нет. Для этого блока подойдут общие вопросы:

11. Виртуализация, бэкапы, хранилища

По вакансии. Если работа связана с серверным железом, виртуализацией и хранением данных, этот блок обязателен.

Что входит в блок: KVM и QEMU, libvirt, Proxmox, снапшоты, LVM, RAID, rsync, tar, S3-совместимые хранилища.

Мои статьи:

Вопросы для самопроверки

Для серверного железа и виртуализации в банке вопросов есть два раздела: Железячные вопросы и Просмотр информации о железе.

Вопросов про бэкапы (rsync, tar, restic) в банке нет. Эту часть закрывают мои статьи выше.

Возможно будет полезно

Для домашней лаборатории: Установка VirtualBox в Linux Mint 21.

12. Софтскиллы и резюме

Обязательно. Это не техника, но к этому тоже нужно готовиться. У меня в карте были три отдельных списка, которые я продумал заранее:

Последнее часто недооценивают. Вопросы работодателю показывают, что вы выбираете компанию так же, как она выбирает вас.

Материалы:

13. ИИ и агенты

По желанию. Тема сейчас на хайпе. Учиться работать с ИИ и агентами я крайне рекомендую: это уже часть рабочего инструментария. Но при подготовке к собеседованиям на ней не стоит зацикливаться. Фундамент из блоков выше важнее.

Что входит в блок: как устроены большие языковые модели (LLM) и ИИ-агенты, облачные и локальные модели, запуск агентов у себя, базовая логика для проверки ответов модели.

Видео

Видео помогут немного вникнуть в суть дела:

Первые три - от канала “Диджитализируй!”, последние два - от ADV-IT. Подробнее о каналах ниже.

Возможно будет полезно

Из моих статей, если хотите попробовать локальные модели и ИИ в терминале:

Каналы на YouTube

Из видео я брал в основном то, что объясняет базу и устройство систем, а не очередной обзор очередного инструмента.

Основные

Ещё полезные

Для разнообразия

Как я учил

Несколько мыслей про сам процесс:

Послесловие

Карта получилась длинной, и это нормально. Выучить всё нереально и не нужно: цель не в том, чтобы знать каждую директиву Nginx, а в том, чтобы уверенно понимать фундаментальное.

В следующей, четвёртой части соберу всё это в полноценную шпаргалку: темы, типовые вопросы и короткие ответы.

Спасибо, что читаете. Успехов в подготовке и в поиске! 🐧

Используемые материалы

Авторские права

Автор: Иван Чёрный

Ссылка: https://r4ven.me/lyrics/pro-sobesedovaniya-v-it-chast-tretya/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
↵
ESC
⌘K Горячая клавиша