Show pageOld revisionsBacklinksFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Devops ====== <code> 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 и архитектуры отказоустойчивых систем.* </code> devops.txt Last modified: 2026/10/30 10:03by admin