devops

This is an old revision of the document!


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 и архитектуры отказоустойчивых систем.*

  • devops.1793336475.txt.gz
  • Last modified: 2026/10/30 10:01
  • by admin