ru
Feedback
DevOps | Вопросы собесов

DevOps | Вопросы собесов

Открыть в Telegram
5 505
Подписчики
-324 часа
-107 дней
-530 день
Архив постов
28 млн конверсий результат медийной рекламы за 2025 год Медийная реклама давно вышла за рамки имиджевых задач. Новое исследов
28 млн конверсий результат медийной рекламы за 2025 год Медийная реклама давно вышла за рамки имиджевых задач. Новое исследование Яндекса показало: в 2025 году она принесла бизнесу 28 млн конверсий. Вот что ещё важно: 📊 Всё больше компаний пробуют медийную рекламу: в прошлом году больше половины рекламодателей запустили её впервые; 📊 Алгоритмы становятся эффективнее по сравнению с 2024 годом: +29% к поисковому интересу, +13% к посещаемости и +19% к целевым действиям. 📊 Растёт интерес к новым форматам: число кампаний на Connected TV выросло в 4 раза, а рекламодателей — в 6 раз. Кроме того, постоянно появляются разные возможности размещения: от ТВ-билбордов до брендирования в Картах. Подробнее — в исследовании Яндекса Узнать больше #реклама 16+ yandex.ru О рекламодателе

🤔 Какие виды метрик в Prometheus знаешь? В Prometheus есть 4 типа метрик, которые используются для мониторинга и сбора данных. 🚩Counter (Счетчик) – только увеличивается Используется для подсчета событий, ошибок, запросов Значение только увеличивается (нельзя уменьшить)
promql  
http_requests_total  
Как вывести количество запросов за последние 5 минут
promql  
rate(http_requests_total[5m])  
Пример экспозиции в приложении
go  
httpRequests := prometheus.NewCounter(  
    prometheus.CounterOpts{  
        Name: "http_requests_total",  
        Help: "Total number of HTTP requests",  
    })  
🚩Gauge (Измеритель) – может расти и уменьшаться Используется для измерения текущего состояния (температура, RAM, CPU) Значение может расти и уменьшаться
promql  
node_memory_usage_bytes  
Как вывести среднюю загрузку CPU за 5 минут
promql  
avg(node_cpu_seconds_total)  
Пример экспозиции в коде
go  
cpuUsage := prometheus.NewGauge(  
    prometheus.GaugeOpts{  
        Name: "cpu_usage_percentage",  
        Help: "Current CPU usage",  
    })  
🚩Histogram (Гистограмма) – распределение значений Используется для измерения длительности, размера запросов Делит данные по диапазонам (buckets)
promql  
http_request_duration_seconds_bucket  
Как вычислить среднее время отклика
promql  
histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))  
Пример в коде
go  
requestDuration := prometheus.NewHistogram(  
    prometheus.HistogramOpts{  
        Name:    "http_request_duration_seconds",  
        Help:    "Histogram of response time for HTTP requests",  
        Buckets: prometheus.DefBuckets,  
    })  
🚩Summary (Сводка) – квантильные метрики Показывает среднее, медиану, квантильное распределение Используется для измерения задержек, времени отклика
promql  
http_request_duration_seconds{quantile="0.99"}  
Пример в коде:
go  
requestSummary := prometheus.NewSummary(  
    prometheus.SummaryOpts{  
        Name:       "http_request_duration_seconds",  
        Help:       "Summary of response time for HTTP requests",  
        Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},  
    })
Ставь 👍 и забирай 📚 Базу знаний

Бесплатный курс диджитал-дизайна На бесплатном курсе ты сможешь: ✨попробовать себя в диджитал-дизайне: афиши, сайты, UX/UI-ди
Бесплатный курс диджитал-дизайна На бесплатном курсе ты сможешь: ✨попробовать себя в диджитал-дизайне: афиши, сайты, UX/UI-дизайн (дизайн интерфейсов) ✨сделать 3 проекта для портфолио с обратной связью от наставника ✨понять, как устроена работа дизайнера ✨получить доступ к закрытой базе материалов и пошаговым инструкциям по профессии Попробовать #реклама 18+ study.logomachine.ru О рекламодателе

🤔 Как решать проблему, если ваш коллега удалил /usr/bin/chmod, и нет ОС-донора? - Если chmod удалён, изменить права файла невозможно стандартным способом. - Возможные варианты: - Найти бинарник chmod в другой директории (например, в /bin, /sbin, /usr/local/bin). - Использовать busybox chmod, если busybox установлен. - Если есть root-доступ — попробовать выполнить через python, perl или bash: - python -c 'import os; os.chmod("file", 0o755)' - Или через find с -exec (если chmod встроен туда). - В крайнем случае — смонтировать диск на другой системе (если физически возможно). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Пожизненный PRO доступ на easyoffer — по цене одного года! До 31 марта вы можете купить PRO навсегда. Запускаем акцию, чтобы
Пожизненный PRO доступ на easyoffer — по цене одного года! До 31 марта вы можете купить PRO навсегда. Запускаем акцию, чтобы ускорить развитие сервиса. Что добавим в PRO в ближайшие полгода: – Автоотклики – Агрегатор вакансий – Проход ATS без отсева – Уникальные резюме и письма под каждую вакансию Покупаешь один раз — пользуешься всю жизнь. 👉 Купить PRO со скидкой 70%: https://easyoffer.ru/pro

Новый смартфон vivo X300 FE ✅ Компактный размер ✅ Фокус на важном Купить #реклама market.yandex.ru О рекламодателе
Новый смартфон vivo X300 FE ✅ Компактный размер ✅ Фокус на важном Купить #реклама market.yandex.ru О рекламодателе

🤔 Как настраивать графики на панели графаны? Настройка графиков на панели Grafana позволяет визуализировать данные из подключенных источников в удобной и наглядной форме. 1⃣Создание новой панели (Panel) Откройте существующий дашборд или создайте новый: Перейдите в раздел Dashboards → New Dashboard. Нажмите Add new panel для добавления панели. 2⃣Выбор источника данных В интерфейсе панели в разделе Query выберите источник данных (Data Source) из выпадающего списка. Например, Prometheus, InfluxDB, MySQL, Elasticsearch. Подключение источника данных настраивается через Configuration → Data Sources. 3⃣Написание запроса для графика Каждый источник данных имеет свой язык запросов. Примеры: Prometheus
rate(http_requests_total[5m])
MySQL
SELECT time, value FROM metrics WHERE time > NOW() - INTERVAL 1 HOUR;
Elasticsearch: Используйте Lucene или Elasticsearch Query DSL. 4⃣Настройка визуализации В разделе Visualization выберите тип графика: Time series (график по времени). Bar chart (столбчатая диаграмма). Gauge (гейдж/индикатор). Table (таблица). Pie chart (круговая диаграмма, доступна через плагин). Настройте параметры визуализации: Линии, точки, области (lines, points, fill). Цвета линий, область графика. Подписи данных. 5⃣Форматирование данных В разделе Transform: Преобразуйте данные (группировка, сортировка, вычисления). Добавьте фильтры или агрегируйте данные. В разделе Overrides: Настройте специфичные параметры для отдельных рядов данных (цвета, форматы отображения). 6⃣Настройка временного интервала Выберите временной диапазон панели в правом верхнем углу дашборда: Например, последние 5 минут, 1 час, 24 часа. Установите параметры временного сдвига, если нужно отображать данные за конкретный период. 7⃣Настройка подписей и описаний В разделе Panel settings: Укажите название панели. Добавьте описание для контекста. 8⃣Сохранение дашборда Нажмите Save dashboard. Укажите имя дашборда и добавьте теги (опционально) для удобного поиска. 🚩Полезные фишки 🟠Панели Variables Позволяют создавать динамические фильтры. Например, добавьте переменную для выбора имени хоста:
label_values(node_cpu_seconds_total, instance)
🟠Плагины визуализации Установите дополнительные плагины из Grafana Marketplace (например, Pie Chart, Worldmap Panel). Ставь 👍 и забирай 📚 Базу знаний

🤔 Поды висят в Pending. В чём проблема? Основные причины: - Нет доступных нод, удовлетворяющих требованиям (resources, affinity, taints). - Недостаточно ресурсов (CPU или памяти). - Ошибки в StorageClass или PVC, если поду нужен диск. - Проблемы с сетью или CNI-плагином. - Неверные ограничения в nodeSelector, tolerations, affinity. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как сделать rebase на main branch? Выполнить rebase на main в Git означает "перенести" ваши изменения поверх актуального состояния основной ветки (main). 🟠Переключаемся на вашу текущую ветку Допустим, вы работаете в ветке feature-branch:
git checkout feature-branch
🟠Выполняем rebase на `main` Сначала убедимся, что main обновлена:
git checkout main
git pull origin main
Теперь выполняем сам rebase:
git checkout feature-branch
git rebase main
🟠Разрешение конфликтов (если есть) Если у вас есть конфликты, Git остановит процесс и попросит их решить. Откройте файлы с конфликтами, исправьте их. Добавьте исправленные файлы:
   git add <файл>
   
Продолжите rebase:
   git rebase --continue
   
🟠Обновление удалённого репозитория Если rebase прошёл успешно, вам нужно форсированно обновить удалённую ветку (так как история изменилась):
git push origin feature-branch --force
Ставь 👍 и забирай 📚 Базу знаний

Нужны актуальные вопросы с собеседований ? DevOps | Собеседования - твой незаменимый помощник в подготовке к собеседованиям.
Нужны актуальные вопросы с собеседований ? DevOps | Собеседования - твой незаменимый помощник в подготовке к собеседованиям. 🔊Обзоры собеседований c вилками на позиции: 🔵DevOps инженеров (Junior, Middle, Senior). 🔵С комментариями автора, как человека, который активно собеседует кандидатов. 🔊В ближайшее время: 🔵Записи реальных собеседований (не моки и открытые собеседования). 🔵Гайды и рекомендации по обходу частых ошибок при выступлении на техническом интервью. ➡️ Подписаться

Виртуальный сервер в аренду в Турции или России. Отказоустойчивый виртуальный облачный сервер на базе виртуализации VMWARE по
Виртуальный сервер в аренду в Турции или России. Отказоустойчивый виртуальный облачный сервер на базе виртуализации VMWARE по модели подписки. - Бесплатная миграция инфраструктуры в Турцию - Размещайте ресурсы в Турции или России и оплачивайте в рублях, турицких лирах или евро. - Храните резервные копии данных за рубежом для минимизации рисков - Продолжайте использовать импортное ПО, скачивайте обновления и патчи, общайтесь с техподдержкой - Доступность сервиса — от 99,982% SLA - Дата центры Tier III в России и Турции - Почасовой биллинг и постоплата Подключите услугу сегодня со скидкой 50% на инфраструктуру. Подать заявку #реклама cloud4y.ru О рекламодателе

🤔 Что такое OpsWorks? AWS OpsWorks — это сервис управления конфигурациями, который: - Поддерживает Chef и Puppet. - Используется для автоматизации серверной инфраструктуры. - Позволяет управлять слоями, версиями, скриптами и зависимостями. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 На
Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 Начните прямо сейчас ⚡ Зарегистрироваться #реклама direct.yandex.ru О рекламодателе

🤔 Какие join бывают? В реляционных базах данных, операции объединения (JOIN) позволяют объединить строки из двух или более таблиц на основе связанных между собой столбцов. Существует несколько типов JOIN, каждый из которых имеет свои особенности и применим для разных ситуаций. Рассмотрим основные типы JOIN: 🟠INNER JOIN Объединяет строки из обеих таблиц, если они удовлетворяют условию объединения. Когда необходимо выбрать только те строки, которые имеют соответствующие значения в обеих таблицах.
SELECT *
FROM таблица1
INNER JOIN таблица2
ON таблица1.ключ = таблица2.ключ;
🟠LEFT JOIN (или LEFT OUTER JOIN) Возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если соответствующей строки в правой таблице нет, в результирующем наборе данных для столбцов правой таблицы будут значения NULL. Когда необходимо выбрать все строки из одной таблицы и соответствующие данные из другой таблицы, если они существуют.
SELECT *
FROM таблица1
LEFT JOIN таблица2
ON таблица1.ключ = таблица2.ключ;
🟠RIGHT JOIN (или RIGHT OUTER JOIN) Возвращает все строки из правой таблицы и соответствующие строки из левой таблицы. Если соответствующей строки в левой таблице нет, в результирующем наборе данных для столбцов левой таблицы будут значения NULL. Когда необходимо выбрать все строки из одной таблицы (правой) и соответствующие данные из другой таблицы (левой), если они существуют.
SELECT *
FROM таблица1
RIGHT JOIN таблица2
ON таблица1.ключ = таблица2.ключ;
🟠FULL JOIN (или FULL OUTER JOIN) Возвращает все строки, когда есть совпадения либо в левой, либо в правой таблице. Если строки не соответствуют в одной из таблиц, для этой таблицы будут значения NULL. Когда необходимо выбрать все строки из обеих таблиц, независимо от того, есть ли соответствующие строки в другой таблице.
SELECT *
FROM таблица1
FULL JOIN таблица2
ON таблица1.ключ = таблица2.ключ;
🟠CROSS JOIN Возвращает декартово произведение двух таблиц, то есть все возможные комбинации строк из обеих таблиц. Когда необходимо создать комбинации всех строк из обеих таблиц. Используется редко и с осторожностью, так как может привести к очень большому количеству строк.
SELECT *
FROM таблица1
CROSS JOIN таблица2;
🟠SELF JOIN Применяется для объединения таблицы самой с собой. Обычно используется для сравнения строк внутри одной и той же таблицы. Когда необходимо сопоставить строки одной таблицы друг с другом, например, для анализа иерархий или поиска парных записей.
SELECT A.*
FROM таблица A, таблица B
WHERE A.ключ = B.ключ;
🟠NATURAL JOIN Автоматически объединяет таблицы по всем столбцам с одинаковыми именами и типами данных. Когда у таблиц есть столбцы с одинаковыми именами, и нужно объединить их без явного указания условий объединения.
SELECT *
FROM таблица1
NATURAL JOIN таблица2;
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что является критикал, а что нет? Это то, что влияет на работоспособность, доступность, безопасность или данные системы: - Падение сервиса, от которого зависят другие. - Потеря или повреждение данных. - Утечка доступа, компрометация ключей. - Сбой в CI/CD, блокирующий релиз. - Отказ прод-сервера, отказ балансировки, перегрузка очереди. Некритикал (non-critical) — сбои, которые не мешают работе системы в целом: - Ошибки в логах, не влияющие на функционал. - Временная недоступность второстепенного сервиса. - Глюки в UI без влияния на бекенд. - Тестовые среды, non-prod проблемы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

МТС Линк 2.0 — большое демо для ИТ-руководителей Как IT-руководителю разгрузить отдел, отказаться от "зоопарка" решений и пер
МТС Линк 2.0 — большое демо для ИТ-руководителей Как IT-руководителю разгрузить отдел, отказаться от "зоопарка" решений и перенести рабочие коммуникации, корпоративное обучение и онлайн-встречи в единое приложение? Регистрируйтесь на большое демо МТС Линк 2.0. Вы узнаете: — как обновились сервисы для онлайн-встреч и вебинаров — новые инструменты интерактива и вовлечения — как ускорить рутину с помощью встроенных таск-трекера, ИИ, чат-ботов и интеграций — как сервисы для обучения и рабочих коммуникаций эволюционировали в единое суперапп-решение. А еще в программе: • Планы на 2026, • FAQ-сессия с лидерами продуктов • Кейсы миграции действующих клиентов Кому полезно: CTO и IT-директорам, CEO, руководителям по ИБ, цифровизации и импортозамещению. Регистрируйтесь на демо. Увидимся 25 марта в 15:00 мск Зарегистрироваться #реклама 16+ mts-link.ru О рекламодателе

🤔 Как версионируете чарты? Helm-чарты должны быть версионированы, чтобы отслеживать изменения и управлять развертываниями. Версии чарта (Chart.yaml) Версии приложения (appVersion) Репозиторий Helm (helm repo) Git-теги и CI/CD 🚩Версия чарта (`Chart.yaml`) Каждый Helm-чарт содержит Chart.yaml, где указывается версия чарта.
yaml  
apiVersion: v2  
name: my-app  
description: Helm chart for my application  
version: 1.2.3  
appVersion: 2.0.1  
🚩Хранение и обновление чарта в репозитории Helm Helm-чарты можно хранить в локальном или удаленном репозитории.
sh  
helm package my-chart/  
Обновить индекс в репозитории
sh  
helm repo index .  
Добавить новый чарт в Helm-репозиторий
sh  
helm repo add my-repo https://charts.example.com  
helm push my-app-1.2.3.tgz my-repo  
🚩Автоматическое версионирование через Git и CI/CD Обычно чарты хранятся в Git, и версии обновляются автоматически через CI/CD. Пример автоматического увеличения версии (version) в Chart.yaml через helm/chart-releaser-action
yaml  
name: Release Helm Chart  

on:  
  push:  
    tags:  
      - 'v*'  

jobs:  
  release:  
    runs-on: ubuntu-latest  
    steps:  
      - name: Checkout repo  
        uses: actions/checkout@v3  

      - name: Set up Helm  
        uses: azure/setup-helm@v3  
        with:  
          version: 'latest'  

      - name: Package Helm Chart  
        run: helm package my-chart/  

      - name: Upload to Helm Repo  
        uses: helm/chart-releaser-action@v1  
🚩Как установить конкретную версию чарта? Чтобы развернуть определенную версию Helm-чарта, указываем --version
sh  
helm install my-app my-repo/my-app --version 1.2.3  
Или обновить до новой версии:
sh  
helm upgrade my-app my-repo/my-app --version 1.2.4
Ставь 👍 и забирай 📚 Базу знаний

Битва кейсов ИБ: 6 сценариев киберкошмара 7 апреля в поединке сойдутся эксперты «Солара». По одну сторону — кейсы тестировани
Битва кейсов ИБ: 6 сценариев киберкошмара 7 апреля в поединке сойдутся эксперты «Солара». По одну сторону — кейсы тестирований на проникновение, по другую — реальные атаки. Чьи сценарии окажутся страшнее и критичнее — покажет битва. Кому будет полезно: Руководителям ИБ и ИБ-специалистам — получить данные, чтобы обосновать бюджет и построить стратегию защиты. ИТ-руководителям и менеджерам — узнать о текущих рисках и понять, как спланировать ИБ-бюджет. Руководителям компаний и риск-менеджерам — снизить цифровые и финансовые риски, защитить репутацию. Приходите, чтобы на чужих ошибках закрыть пробелы в своей защите. Зарегистрироваться #реклама 16+ rt-solar.ru О рекламодателе

🤔 Чем отличается Docker от LXC? 1. Docker: предоставляет контейнеры с упрощённым API и инструментами для управления, ориентирован на приложения. 2. LXC: предоставляет низкоуровневую контейнеризацию, ближе к виртуализации всей ОС. 3. Docker упрощает работу разработчиков, а LXC больше подходит для системных администраторов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое acl в linux? ACL (Access Control List) – это механизм расширенных прав доступа в Linux, который позволяет задавать более гибкие разрешения для файлов и директорий, чем стандартные chmod и chown. Позволяет назначать дополнительные права для отдельных пользователей и групп Упрощает гранулярный контроль доступа Работает поверх стандартных прав (rwx) 🚩Проверка поддержки ACL Убедимся, что файловая система поддерживает ACL
mount | grep acl
Если ACL не включен, монтируем с поддержкой ACL
mount -o remount,acl /home
🚩Проверка текущих ACL-прав Команда getfacl показывает текущие ACL для файла или папки
getfacl myfile.txt
Пример вывода
# file: myfile.txt
# owner: user1
# group: users
user::rw-
user:john:r--
group::r--
mask::r--
other::---
🚩Добавление новых ACL-прав (`setfacl`) Разрешить пользователю john запись (rw) в myfile.txt
setfacl -m u:john:rw myfile.txt
Разрешить группе developers выполнение (x)
setfacl -m g:developers:x myfile.txt
Дать всем (other) полный доступ (rwx)
setfacl -m o::rwx myfile.txt
Назначить по умолчанию права для всех новых файлов в папке project/
setfacl -d -m u:john:rwx project/
🚩Удаление ACL-прав Удалить ACL для пользователя john
setfacl -x u:john myfile.txt
Очистить все ACL-права файла
setfacl -b myfile.txt
Ставь 👍 и забирай 📚 Базу знаний