https://www.youtube.com/watch?v=ycZRFijhZvs
[youtube] Extracting URL: https://www.youtube.com/watch?v=ycZRFijhZvs
[youtube] ycZRFijhZvs: Downloading webpage
[youtube] ycZRFijhZvs: Downloading tv samsung player API JSON
[youtube] ycZRFijhZvs: Downloading visionos player API JSON
[youtube] ycZRFijhZvs: Downloading player 11a45ffb-main
[youtube] [jsc:deno] Solving JS challenges using deno
[youtube] ycZRFijhZvs: Downloading m3u8 information
[info] ycZRFijhZvs: Downloading subtitles: ru, en
[info] ycZRFijhZvs: Downloading 1 format(s): 399+251-3
[info] Writing video subtitles to: /downloads/sub.ru.vtt
[download] Destination: /downloads/sub.ru.vtt
[download] 100% of 406.80KiB in 00:00:00 at 450.41KiB/s
[info] Writing video subtitles to: /downloads/sub.en.vtt
[download] Destination: /downloads/sub.en.vtt
[download] 100% of 353.78KiB in 00:00:01 at 243.65KiB/s
[SubtitlesConvertor] Converting subtitles
Deleting original file /downloads/sub.en.vtt (pass -k to keep)
Deleting original file /downloads/sub.ru.vtt (pass -k to keep)
# Обзор видео
Видео представляет собой запись технического собеседования на позицию **Senior DevOps** с вилкой заработной платы от 300 000 рублей. В ходе интервью кандидату задают вопросы по ключевым DevOps-инструментам, администрированию Linux, работе с Kubernetes, Docker, CI/CD и базами данных.
---
## 1. Введение и самопрезентация кандидата
* **[00:00:00]** Объявление темы видео: собеседование на Senior DevOps с зарплатой от 300K.
* **[00:00:27]** Начало интервью, согласование плана беседы (самопрезентация, технические вопросы, вопросы от кандидата).
* **[00:00:52]** Кандидат рассказывает о своем опыте: настройка Alertmanager, написание пайплайнов в **GitLab CI**, создание ролей и плейбуков для **Ansible**, а также работа с **Argo CD** и **Terraform**.
---
## 2. Обсуждение инструментов и управления секретами
* **[00:03:33]** Вопрос о хранении секретов. Кандидат объясняет, что секреты (пароли к БД) хранятся в **HashiCorp Vault**, а приложения запрашивают их во время запуска с помощью сервисного аккаунта или оператора.
* **[00:05:56]** Обсуждение обновления секретов и конфигураций в Kubernetes с помощью Helm и синхронизации через хэши в **Argo CD**.
---
## 3. Администрирование Linux и диагностика проблем
* **[00:07:10]** Обсуждение метрики **Load Average (LA)** в Linux и ее связи с количеством логических ядер процессора.
* **[00:07:48]** Используемые консольные утилиты: `nano`, `vim`, `ss`, `netcat`, `socat`, `top`, `htop`, `iostat`, `dig`.
* **[00:09:36]** Диагностика ошибки **"too many open files"** и проверка свободного места через команды `df -h` и `df -i`.
* **[00:10:41]** Восстановление случайно удаленного конфига Nginx через каталог `/proc` и файловые дескрипторы (`lsof`).
* **[00:11:22]** Определение **C-groups** (контрольных групп) как механизма ограничения ресурсов для процессов.
* **[00:12:05]** Основные используемые дистрибутивы Linux: Arch, Debian, Ubuntu и Alt Linux.
* **[00:12:46]** Разница между **символьными (symlink)** и **жесткими (hardlink)** ссылками.
---
## 4. Kubernetes (Kubera) и контейнеризация
* **[00:15:26]** Общие знания о Kubernetes: развертывание, административная поддержка и написание чартов.
* **[00:15:54]** Различия между Pod, ReplicaSet и **Deployment** (последний поддерживает политики обновления).
* **[00:16:59]** Политики обновления: Rolling Update, Recreate, Blue/Green, Canary.
* **[00:18:02]** Типы проверок контейнеров (**probes**): Startup, Readiness, Liveness.
* **[00:18:56]** Обсуждение количества контейнеров в поде и роли вспомогательных контейнеров (**sidecars**).
* **[00:22:01]** Понятие **kube-dns** и принципы межподового взаимодействия через службы (services).
* **[00:23:48]** Установка Ingress-контроллеров и проверка доступности апстримов.
* **[00:27:00]** Пошаговый разбор сетевого запроса от ввода домена в браузере до получения страницы из Kubernetes (DNS, Load Balancer, Ingress, Service, Pod).
* **[00:28:55]** Разница между ошибками HTTP **4xx** (проблемы на стороне клиента) и **5xx** (проблемы на стороне сервера).
---
## 5. Docker, CI/CD и Базы данных
* **[00:29:26]** Языки программирования и скриптинга: Bash, Python, Go. Разница между одинарными и двойными кавычками в Bash.
* **[00:30:17]** CI/CD системы: основное внимание уделено **GitLab CI** и немного Jenkins.
* **[00:31:34]** Структура «идеального» пайплайна: статический анализ кода, модульные тесты, сборка, интеграционные/QA тесты, отправка в реестр и деплой через Argo CD.
* **[00:33:36]** Разница между виртуализацией и контейнеризацией.
* **[00:34:13]** Слои Docker-образа, команды, создающие слои (`FROM`, `RUN`, `COPY`, `ADD`), и концепция **multi-stage** сборки с использованием образов `scratch`.
* **[00:37:10]** Опыт работы с базами данных: **PostgreSQL**, **Redis**, Qdrant. Администрирование Postgres, индексы, статистика (`pg_stat`), анализ запросов (`EXPLAIN`) и настройка кластеров с помощью **Patroni**.
* **[00:38:37]** Инструменты мониторинга и observability: **Prometheus**, VictoriaMetrics, **Grafana**, Alertmanager и различные экспортеры.
---
## 6. Заключение
* **[00:39:17]** Обсуждение любимых задач кандидата (масштабные задачи, приносящие видимый результат и улучшающие общую производительность системы).
* **[00:43:08]** Завершение собеседования, благодарность кандидату и обещание предоставить обратную связь позже.
---
*Основной посыл видео — демонстрация реального технического интервью на Senior-позицию, где кандидату проверяют глубокие знания Linux, Kubernetes, сетей, CI/CD и архитектуры отказоустойчивых систем.*