DevOps | Вопросы собесов
رفتن به کانال در Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv
نمایش بیشتر5 541
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+67 روز
+3430 روز
آرشیو پست ها
🤔 Где находится swap какое устройство использует?
Это область на диске, которую операционная система использует как виртуальную память, если основной оперативной памяти (RAM) не хватает. Swap может быть представлен в виде:
🚩Где находится swap?
🟠Swap-раздел
Swap может быть выделен как отдельный раздел диска. Он создается во время установки системы или вручную и не имеет файловой системы (тип раздела —
swap).
🟠Swap-файл
Swap может быть представлен как обычный файл в файловой системе (например, /swapfile).
🚩Как узнать, где находится swap?
Используйте команды для проверки текущей конфигурации:
Проверка swap через swapon
swapon --show
Пример вывода
NAME TYPE SIZE USED PRIO /dev/sda2 partition 4G 1G -2 /swapfile file 2G 0B -3- NAME: Устройство или файл, используемый для swap. - TYPE: Указывает, является ли swap разделом или файлом. - SIZE: Размер swap. - USED: Сколько swap в данный момент используется. - PRIO: Приоритет использования (меньшее значение — меньший приоритет). Проверка через
free
free -h
🚩Проверка через `fstab`
Если swap является разделом, он обычно прописан в /etc/fstab
cat /etc/fstab | grep swap
Пример
/dev/sda2 none swap sw 0 0🚩Какое устройство использует swap? Если swap — это раздел, то он отображается как устройство, например,
/dev/sda2. Если swap — это файл, его путь будет, например, /swapfile.
Ставь 👍 и забирай 📚 Базу знанийЖивите там, где другие мечтают отдыхать. Квартиры в СПб
До леса 0 метров. Атмосфера курорта, удобство мегаполиса, до центра 40 мин
Узнать больше
Проектная декларация на сайте https://наш.дом.рф/. Застройщик: ООО "СЗ "РАНТА РЕЗИДЕНС". Финансовые услуги оказывает: ПАО Сбербанк.
#реклама
regions.ranta-residence.ru
О рекламодателе
🤔 Что такое PV и PVC?
- PV (PersistentVolume) — ресурс, предоставляющий хранилище в кластере;
- PVC (PersistentVolumeClaim) — запрос пода на нужный объём хранилища и его параметры.
Это механизм абстракции и управления постоянным хранилищем.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как в docker compose вместо yaml файла использовать json файл?
Docker Compose поддерживает использование JSON-файлов вместо стандартного YAML-файла. Формат JSON полностью совместим с YAML, так как YAML является надмножеством JSON. Для этого достаточно создать JSON-файл с описанием конфигурации контейнеров и передать его с помощью опции
-f.
🚩Шаги по использованию
🟠Создайте JSON-файл конфигурации
Файл должен содержать описание сервисов в формате JSON. Например, вместо YAML
version: "3.9"
services:
web:
image: nginx
ports:
- "80:80"
В формате JSON будет так
{
"version": "3.9",
"services": {
"web": {
"image": "nginx",
"ports": ["80:80"]
}
}
}
🟠Запустите Docker Compose с этим файлом
Используйте флаг -f, чтобы указать Docker Compose, какой файл использовать
docker-compose -f docker-compose.json up
🟠Проверка работы
Вы можете проверить статус контейнеров, как обычно:
docker-compose -f docker-compose.json ps
🚩Почему использовать JSON?
🟠Совместимость
JSON часто используется в API, CI/CD-пайплайнах и других инструментах, которые могут генерировать конфигурации автоматически.
🟠Простота обработки
JSON легко парсить программно, что может быть полезно в скриптах и интеграциях.
🟠Стандартизация
Некоторые команды и проекты могут предпочитать JSON как более строгий и распространенный формат.
🚩Пример использования
1⃣Создайте файл docker-compose.json
{
"version": "3.8",
"services": {
"app": {
"image": "python:3.9",
"volumes": ["./app:/app"],
"working_dir": "/app",
"command": "python app.py"
}
}
}
2⃣Запустите
docker-compose -f docker-compose.json up
Ставь 👍 и забирай 📚 Базу знанийRepost from easyoffer
⚡ Официальный релиз easyoffer 2.0 состоится уже в течение нескольких дней.
Напоминаю, что в честь релиза запускаем акцию.
Первые 500 покупателей получат:
🚀 Скидку 50% на PRO тариф на 1 год
🎁 Подарок ценностью 5000₽ для тех, кто подписан на этот канал
🔔 Подпишитесь на этот канал: https://t.me/+b2fZN17A9OQ3ZmJi
В нем мы опубликуем сообщение о релизе в первую очередь
🤔 Какой минимальной сущностью обуславливается существование Docker-контейнера?
Это слой образа (image layer), который содержит файловую систему контейнера и его зависимости.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Какая самая главная питоновская библиотека?
Она идёт в комплекте с Python и включает всё необходимое: работу с файлами, сетью, регулярными выражениями, математикой и т. д.
🚩Примеры важных модулей из `stdlib`
🟠`os`
работа с файловой системой
🟠`sys`
доступ к системным параметрам
🟠`re`
регулярные выражения
🟠`math`
математика
🟠`datetime`
работа с датами
🟠`json`
парсинг JSON
🟠`logging`
логирование
🟠`asyncio`
асинхронность
🟠`http.server`
встроенный HTTP-сервер
Ставь 👍 и забирай 📚 Базу знаний
🤔 Чем firewalld отличается от iptables?
firewalld — это высокоуровневая оболочка над iptables или nftables, предоставляющая динамическое управление зонной политикой. iptables — низкоуровневый инструмент, требующий ручной настройки.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как посмотреть логи в уже работающем контейнере?
Чтобы посмотреть логи работающего контейнера в Docker, используйте команду:
docker logs <container_id>
или
docker logs <container_name>
🚩Основные флаги
🟠`-f` (follow)
следить за логами в реальном времени (как tail -f):
docker logs -f <container_id>
🟠`--tail N`
показать только последние N строк:
docker logs --tail 100 <container_id>
🟠`-t` (timestamps)
добавить метки времени:
docker logs -t <container_id>
🚩Просмотр логов через `docker-compose`
Если контейнер запущен через docker-compose, можно использовать:
docker-compose logs -f
или для конкретного сервиса:
docker-compose logs -f <service_name>
🚩Логи для контейнера с systemd (если Docker пишет в `journald`)
journalctl -u docker -f
Ставь 👍 и забирай 📚 Базу знанийГлавные по контейнеризации в России приглашают на второй митап Deckhouse User Community.
21 августа | Москва
Приходите, если работаете с Kubernetes или планируете начать. Разберём три практических кейса:
→ как DKP управляет узлами кластера — от создания до вывода из кластера;
→ как построить платформу обучения на Community Edition быстрее ванильного Kubernetes;
→ как автоматизировать контроль архитектуры с помощью фитнес-функций.
Будет полезно инженерам эксплуатации, платформенным разработчикам и всем, кто хочет прокачать навыки работы с современными подходами в DevOps.
Только офлайн. Пицца и нетворкинг в программе. Регистрируйтесь!
🤔 Как провести трафик к ingress изнутри кластера?
1. Использовать имя сервиса ingress-контроллера (ingress-nginx-controller, например).
2. Обратиться через DNS:
3. curl http://<ingress-hostname>.<namespace>.svc.cluster.local
4. Или использовать внутренний адрес Ingress через curl/wget прямо по его ClusterIP.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое дешборды в графане?
Это визуальные панели, на которых отображаются метрики, логи и данные, собранные из различных источников. Они используются для мониторинга состояния систем, приложений и инфраструктуры, предоставляя наглядное представление в виде графиков, диаграмм, таблиц и других визуализаций.
🚩Почему нужны дешборды в Grafana?
🟠Мониторинг в реальном времени
Позволяют наблюдать за ключевыми показателями производительности (KPI) систем в реальном времени. Например, загрузка CPU, использование памяти, число запросов в секунду.
🟠Диагностика и устранение проблем
Дешборды помогают быстро находить аномалии или сбои. Например, резкий рост времени отклика или падение уровня доступности.
🟠Простота анализа данных
Объединяют данные из разных источников в одном месте (Prometheus, Elasticsearch, Loki, InfluxDB, PostgreSQL и др.). Упрощают анализ данных благодаря визуализации.
🟠Настраиваемость и удобство
Можно создавать персонализированные панели под конкретные задачи или роли (разработчики, SRE, менеджеры).
🚩Основные элементы дешборда
🟠Панели (Panels)
Каждая панель отображает отдельный набор данных в определенном виде (график, таблица, heatmap, текст и др.). Пример: График использования памяти на сервере.
🟠Источник данных (Data Source)
Данные, отображаемые на панели, поступают из определённого источника (Prometheus, Elasticsearch, MySQL и т.д.). Grafana поддерживает множество интеграций.
🟠Переменные (Variables)
Динамические параметры, которые позволяют изменять отображаемые данные без необходимости редактировать панель. Пример: Переключение между разными серверами или метриками.
🟠Алёрты (Alerts)
Настраиваемые уведомления, которые активируются при достижении определённого порога метрики. Пример: Отправка уведомления в Slack при увеличении загрузки CPU выше 90%.
🟠Теги и аннотации
Обозначают ключевые события на графиках, например, развёртывание нового релиза.
🚩Пример использования дешборда
🟠Панели
1. Время отклика API (Response Time).
2. Число активных пользователей (Active Users).
3. Использование ресурсов (CPU, RAM).
4. Ошибки HTTP (5xx, 4xx).
🟠Источники данных
- Prometheus для метрик.
- Loki для логов.
- MySQL для аналитических данных.
🟠Переменные
- Выбор региона (например, Европа, США).
- Фильтрация по микросервисам.
🚩Создание дешборда в Grafana
🟠Добавление панели
В интерфейсе Grafana создайте новый дешборд. Добавьте панель и выберите тип визуализации (график, таблица, бар-чарт и т.д.).
🟠Настройка источника данных
Укажите источник данных для каждой панели. Например, Prometheus:
rate(http_requests_total[5m]).
🟠Настройка фильтров и переменных
Добавьте переменные, чтобы дешборд был динамичным.
🟠Добавление алертов
Настройте триггеры для уведомлений (например, при высоком времени отклика).
Ставь 👍 и забирай 📚 Базу знанийКак уязвимости в COM-объектах могут быть использованы в атаке на инфраструктуру?
На открытом уроке «COM-объекты в контексте безопасности Windows» мы разберём архитектуру COM-объектов, их роль в системе Windows и как они могут стать точкой входа для вредоносных программ. Углубимся в реальные примеры атак и изучим, как можно защититься от подобных угроз.
Поняв механизмы работы COM-объектов, вы сможете повысить уровень своей защиты и эффективно расследовать инциденты в Windows-средах.
Встречаемся 7 августа в 20:00 МСК! Присоединяйтесь и получите скидку на курс «Пентест. Инструменты и методы проникновения в действии»: https://otus.pw/Ts0b/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Гайд для маркетологов по эффективным онлайн-встречам
Как CMO, PR и digital-маркетологам повысить результативность брейнштормов, совещаний и планерок с командой с помощью онлайн-встреч?
Гайд МТС Линк: 37 страниц полезных материалов, чек-листов и кейсов для эффективных видеовстреч и совещаний.
✅ В гайде:
- Как создать постоянную ссылку на регулярные встречи с подрядчиками, командой или агентствами и подключаться в 2 клика;
- Как управлять встречей и завершить ее четкими договоренностями с ИИ-расшифровкой голоса в текст;
- Как проводить кастдевы, брейнштормы и формулировать гипотезы с помощью 15+ шаблонов в онлайн-досках МТС Линк;
- Как разом пригласить всех участников на синк таким образом, чтобы все пришли.
Бонус внутри: 5 способов не выгореть от бесконечных синков.
✨ Скачайте гайд бесплатно по ссылке
Скачать
#реклама 16+
mts-link.ru
О рекламодателе
🤔 Какие Cloud есть?
- AWS — лидер по функциональности;
- Azure — хорош для интеграции с Microsoft;
- GCP — оптимизирован под Big Data и AI;
- Также: IBM Cloud, Oracle Cloud, DigitalOcean, Hetzner, Yandex Cloud.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое SLA, SLO, SLI?
Эти три термина относятся к управлению надежностью и качеством IT-сервисов. Они помогают определить, измерить и гарантировать уровень обслуживания пользователей.
🚩SLI (Service Level Indicator) – Показатель уровня сервиса
SLI – это метрика, которая показывает, насколько хорошо работает сервис.
- Доступность (например, uptime 99.9%)
- Время ответа API (например, менее 200 мс)
- Ошибки запросов (например, не более 1% 5xx ошибок)
🚩SLO (Service Level Objective) – Целевой уровень сервиса
SLO – это цель, которую компания ставит для SLI.
Доступность 99.9% сервиса в месяц.
Среднее время ответа API ≤ 200 мс.
🚩SLA (Service Level Agreement) – Соглашение об уровне сервиса
SLA – это официальное соглашение между клиентом и провайдером сервиса, которое описывает обязательства и штрафы за их невыполнение.
- Если доступность меньше 99.9%, клиент получает возврат денег.
- Если среднее время ответа API больше 500 мс, клиент получает скидку.
🚩Как они связаны?
SLI (метрика) → измеряет, насколько хорош сервис.
SLO (цель) → устанавливает, каким должен быть сервис.
SLA (договор) → фиксирует обязательства и штрафы.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Как проверять merge request в бесплатном GitLab?
- Использовать pipelines only for MRs:
- only:
- merge_requests
- Включить проверки на наличие:
- mr.labels, mr.title, mr.assignee.
- Автоматизировать через .gitlab-ci.yml с rules и only.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Зачем нужны теги в Ansible?
Теги в Ansible позволяют запускать только определенные задачи или роли, а не весь плейбук. Это ускоряет выполнение и упрощает управление конфигурацией.
🚩Когда использовать теги?
🟠Запуск только нужных задач
если плейбук содержит много шагов, можно выполнить только нужные.
🟠Разделение задач по категориям
например, отдельно установка, обновление, настройка сервиса.
🟠Оптимизация CI/CD
ускорение развертывания, выполняя только измененные задачи.
🚩Как использовать теги?
🟠Теги в задачах (`tasks`)
Простой пример – установка и перезапуск Nginx
yaml
- name: Установить Nginx
apt:
name: nginx
state: present
tags: install
- name: Перезапустить Nginx
service:
name: nginx
state: restarted
tags: restart
Запуск только установки (install)
sh
ansible-playbook playbook.yml --tags install
Запуск только перезапуска (restart)
sh
ansible-playbook playbook.yml --tags restart
🟠Теги в ролях (`roles`)
Если у вас несколько ролей, можно запускать только нужную:
yaml
- hosts: all
roles:
- { role: nginx, tags: web }
- { role: database, tags: db }
Запуск только роли database
sh
ansible-playbook playbook.yml --tags db
🟠Исключение тегов (`--skip-tags`)
Можно пропустить выполнение определенных задач
sh
ansible-playbook playbook.yml --skip-tags restart
Ставь 👍 и забирай 📚 Базу знаний🤔 Как можно увеличить скорость чтения по большой таблице?
- Использовать индексы на полях фильтрации.
- Денормализация или кэширование популярных данных.
- Разбивка на шарды или партиции.
- Чтение batch-ами, а не всё сразу.
- Оптимизация запросов, EXPLAIN PLAN.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое cherry pick?
Это команда в системе контроля версий Git, которая позволяет выбрать отдельные коммиты из одной ветки и применить их к другой ветке. Это полезно, когда вы хотите перенести конкретные изменения (коммиты) в текущую ветку, не выполняя слияние всей ветки.
🚩Когда используется
🟠Применение отдельных изменений
Когда нужно перенести конкретные исправления или функции из одной ветки в другую, не сливая все изменения из исходной ветки.
🟠Быстрое исправление ошибок
Когда найденное исправление в одной ветке нужно срочно применить в другой, например, из ветки разработки в ветку релиза.
🟠Избежание сложного слияния
Когда слияние всей ветки может привести к конфликтам или нежелательным изменениям,
cherry-pick позволяет аккуратно перенести только нужные коммиты.
🚩Примеры использования
🟠Простого `cherry-pick`
Перенос одного коммита из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch
# Выполните cherry-pick коммита
git cherry-pick <commit-hash>
🟠Применения нескольких коммитов
Перенос нескольких коммитов из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch
# Выполните cherry-pick нескольких коммитов
git cherry-pick <commit-hash-1> <commit-hash-2> <commit-hash-3>
🟠Применения диапазона коммитов
Перенос диапазона коммитов из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch
# Выполните cherry-pick диапазона коммитов
git cherry-pick <start-commit-hash>..<end-commit-hash>
🚩Разрешение конфликтов
1⃣Разрешите конфликты в файлах.
2⃣Добавьте изменения в индекс
git add <filename>
3⃣Завершите процесс cherry-pick
git cherry-pick --continue
🚩Прерывание
Если вы хотите прервать процесс cherry-pick, можно использовать команду
git cherry-pick --abort
Ставь 👍 и забирай 📚 Базу знаний