DevOps | Вопросы собесов
Open in Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Show more5 565
Subscribers
-324 hours
+27 days
-1030 days
Posts Archive
🤔 Как сделать донастройку контейнера?
Донастройка контейнера может понадобиться, если:
Нужно изменить файлы конфигурации.
Установить дополнительные пакеты.
Задать переменные среды.
Подключить тома или сети.
Варианты донастройки: через Dockerfile, docker-compose, exec, тома и Entrypoint/CMD.
🟠Донастройка через Dockerfile (Лучший способ)
Если контейнер нужно модифицировать перед запуском, создаем свой
Dockerfile на основе существующего образа.
FROM nginx:latest
COPY my-nginx.conf /etc/nginx/nginx.conf
CMD ["nginx", "-g", "daemon off;"]
Собираем новый образ
docker build -t my-nginx .
docker run -d -p 80:80 my-nginx
🟠Донастройка через `docker-compose` (Гибкость)
Можно задать окружение, тома, команды.
version: '3'
services:
db:
image: postgres:15
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
volumes:
- ./custom-postgres.conf:/etc/postgresql/postgresql.conf
command: postgres -c config_file=/etc/postgresql/postgresql.conf
Запуск
docker-compose up -d
🟠Донастройка запущенного контейнера (`docker exec`)
Если контейнер уже работает, можно внести изменения прямо в него.
docker exec -it my-container bash
apt update && apt install -y vim
🟠Донастройка через тома (Volumes)
Если нужно изменять файлы без пересборки образа, подключаем тома.
docker run -d -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf nginx
🟠Использование `ENTRYPOINT` или `CMD`
Можно задать скрипт донастройки, который выполнится при старте контейнера.
FROM postgres:15
COPY setup.sh /docker-entrypoint-initdb.d/setup.sh
RUN chmod +x /docker-entrypoint-initdb.d/setup.sh
В setup.sh:
#!/bin/bash
psql -U postgres -d mydb -c "CREATE TABLE test (id SERIAL PRIMARY KEY);"
Ставь 👍 и забирай 📚 Базу знанийПодключите единое решение для вашего колл-центра
Управляйте вашими звонками, чатами, аналитикой и операторами в одном окне Контакт-центра MANGO OFFICE!
✅Читайте на сайте реальные кейсы повышения CSI, выручки, скорости ответа и найма сотрудников
Попробовать
#реклама 16+
mango-office.ru
О рекламодателе
🤔 Что известно про процесс, каким образом фича доходит до релиза?
1. Разработчик создает feature-ветку от develop, реализует функциональность.
2. Код проходит код-ревью и тестирование (CI/CD pipeline).
3. После успешного тестирования фича вливается в develop.
4. Когда накоплено достаточно изменений, создается release-ветка.
5. Финальное тестирование, исправление багов, деплой на staging.
6. Если все в порядке, release вливается в master, и обновление выкатывается в продакшен.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Какие процессы убивает long killer?
Это системный механизм в Astra Linux (и некоторых других дистрибутивах на базе Debian), который убивает "долгоиграющие" процессы, потребляющие слишком много ресурсов. Он предотвращает зависания системы и защищает от неэффективного использования вычислительных мощностей.
🚩Какие процессы убивает Long Killer?
Long Killer анализирует процессы и завершает те, которые:
Запущены от обычного пользователя (не root).
Работают слишком долго (по умолчанию >10 минут).
Потребляют много CPU (по умолчанию >90% CPU).
Используют много памяти (если система близка к OOM – Out of Memory).
Не имеют активности (зависли, например, ожидание ввода).
Он не убивает root-процессы.
Системные службы (например,
sshd, systemd) остаются нетронутыми.
Если процесс выполняется интерактивно (например, работа в vim или nano), он обычно не трогает его.
🚩Как проверить, что процесс убит Long Killer?
Если подозреваете, что ваш процесс завершился из-за Long Killer, посмотрите логи
journalctl -u long-killer.service --no-pager | tail -n 20
Также можно проверить dmesg
dmesg | grep "killed by Long Killer"
🚩Как отключить или настроить Long Killer?
Файл конфигурации находится здесь
/etc/long-killer.conf
Пример настроек
MAX_CPU_USAGE=90 # Максимальная загрузка CPU (%)
MAX_EXEC_TIME=600 # Максимальное время выполнения (секунды)
EXCLUDE_USERS=root # Не убивать процессы от root
После изменения перезапустите сервис
systemctl restart long-killer.service
Чтобы полностью отключить Long Killer
systemctl stop long-killer.service
systemctl disable long-killer.service
🚩Как избежать убийства процессов?
Запуск от root (если это безопасно):
sudo my_long_process
Снижение приоритета процесса (nice/renice)
nice -n 10 my_process
renice -n 10 -p <PID>
Использование nohup или screen для фоновых задач
nohup my_script.sh &
Ставь 👍 и забирай 📚 Базу знанийПростой тест для выбора профессии в IT
Пройдите тест на профессию и забирайте:
✅ Бесплатную карьерную консультацию с экспертом
✅ Доступ к чат-боту с гайдами по профессиям и заданиями для самопроверки
✅ Мини-курсы для погружения в IT и дизайн, чтобы точнее выбрать направление
✨130 000 человек уже прошли профтестирование и выбрали перспективную профессию в IT или дизайне
Пройдите тест бесплатно за 5 минут!
Начать
#реклама 16+
free.skillfactory.ru
О рекламодателе
🤔 Как осуществляется процесс тестирования кода в pipeline? Делегируете или делаете сами?
Процесс тестирования в CI/CD pipeline может включать:
- Юнит-тесты – проверка отдельных модулей кода.
- Интеграционные тесты – проверка взаимодействия компонентов.
- Линтеры и статический анализ – контроль качества кода.
- Нагрузочные тесты – проверка работы под нагрузкой.
Обычно разработчики пишут тесты, QA проверяют интеграцию, а DevOps настраивают автоматическое тестирование.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Цены на все Серверы онлайн! Удобный конфигуратор!
Серверы STSS Flagman✅
Огромный выбор решений 👍
Консультации лучших экспертов 👌
Непревзойденный сервис ❤️
Получить предложение
#реклама
stss.ru
О рекламодателе
🤔 Где бы хранил tfstate если много разрабов?
Файл
terraform.tfstate содержит текущее состояние инфраструктуры. Если его неправильно хранить, возможны конфликты и повреждение данных.
🚩Плохие решения
Локально (terraform.tfstate в репозитории)
Потеря данных, если разработчик сменит машину.
Конфликты, если несколько человек применяют terraform apply.
Невозможно откатиться к старому состоянию.
Не поддерживает блокировки (terraform lock).
Возможны проблемы с одновременным доступом.
🚩Лучшие решения для хранения `tfstate`
🟠S3 + DynamoDB (AWS) → Самый популярный способ
S3 хранит tfstate, а DynamoDB предотвращает конфликты.
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
encrypt = true
dynamodb_table = "terraform-lock"
}
}
🟠Terraform Cloud/Enterprise → Официальное SaaS-решение
Terraform Cloud хранит tfstate в облаке HashiCorp.
terraform {
backend "remote" {
hostname = "app.terraform.io"
organization = "my-org"
workspaces {
name = "my-workspace"
}
}
}
🟠Google Cloud Storage (GCS) + Firestore (GCP)
Для GCP аналог AWS S3 — это Google Cloud Storage (GCS), а DynamoDB заменяется Firestore.
terraform {
backend "gcs" {
bucket = "my-tfstate-bucket"
prefix = "terraform/state"
}
}
🟠Azure Storage + Azure CosmosDB (Azure)
Для Azure можно использовать Azure Storage и блокировки через Azure CosmosDB.
terraform {
backend "azurerm" {
resource_group_name = "my-rg"
storage_account_name = "myterraformstate"
container_name = "tfstate"
key = "prod.terraform.tfstate"
}
}
Ставь 👍 и забирай 📚 Базу знанийЗапись закрытого вебинара по оптимизации IT-поддержки
Ищете способы оптимизировать работу вашей службы IT-поддержки без ущерба качеству сервиса?
У нас есть решение.
Посмотрите прямо сейчас запись закрытого вебинара «Практические кейсы повышения эффективности службы IT-поддержки на 35% за 3 месяца».
Вы узнаете:
- Как лидеры вашей отрасли перестроили IT-поддержку и добились рекордных показателей эффективности
- Какие 5 метрик помогут вам быстро находить точки роста производительности
- Как современные ITSM/ESM системы сокращают затраты на поддержку на 50%
- Пошаговый план оптимизации, который сработал в 1750+ проектах
- Как получить индивидуальный аудит вашей IT-поддержки бесплатно
Среди спикеров - ТОП-менеджеры, которые добились впечатляющих результатов с помощью Service Desk систем на базе 1С.
Кликайте
Получить предложение
#реклама 16+
promo.itilium.ru
О рекламодателе
🤔 Что такое VPC?
Это изолированная виртуальная сеть в облаке, позволяющая управлять подсетями, маршрутами и подключениями к интернету или локальным ресурсам. Обеспечивает безопасность и гибкость развертывания облачных сервисов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Почему вы не используете Битрикс24 CRM с AI-помощником?
1- не знал
2- забыл
Рассказываем и напоминаем!
✅Битрикс24 CRM с AI помогает увеличивать продажи, работать с постоянными клиентами и сохранять все важные данные. AI-помощник CoPilot внутри сервиса расшифрует телефонные разговоры и автоматически заполнит карточки клиента в CRM.
Битрикс24 можно использовать бесплатно для всех команд, независимо от их размера.
⚡Не тратьте время на рутину.
Узнать больше
#реклама 16+
bitrix24.ru
О рекламодателе
🤔 Как определить опции запуска пайплайна при редактировании определенных ресурсов в гите?
При работе с CI/CD (GitHub Actions, GitLab CI, Jenkins) часто нужно запускать пайплайн только при изменении определенных файлов. Это помогает оптимизировать сборку, экономить ресурсы и время.
🚩В GitHub Actions (on: push, paths)
В GitHub Actions можно указать файлы, изменения в которых запустят пайплайн.
name: Infra Pipeline
on:
push:
paths:
- 'infra/**'
- 'k8s/**'
pull_request:
paths:
- 'infra/**'
- 'k8s/**'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Deploy Infrastructure
run: ./deploy.sh
🚩В GitLab CI/CD (only: changes)
В GitLab можно настроить запуск пайплайна по изменению файлов с помощью only: changes.
stages:
- deploy
terraform:
stage: deploy
script:
- terraform apply -auto-approve
only:
changes:
- terraform/**
🚩В Jenkins (when { changes })
В Jenkins Declarative Pipeline можно использовать when { changes } для проверки измененных файлов.
pipeline {
agent any
stages {
stage('Deploy Ansible') {
when { changes path: 'ansible/**' }
steps {
sh './deploy_ansible.sh'
}
}
stage('Deploy Helm') {
when { changes path: 'helm/**' }
steps {
sh './deploy_helm.sh'
}
}
}
}
Ставь 👍 и забирай 📚 Базу знаний📚Без даунтайма и головной боли: разбираем лучшие стратегии на вебинаре
Обновления без прерывания работы — мечта DevOps-инженера. Но как её реализовать в реальности? Если каждый деплой — это стресс, а сбои случаются слишком часто, пора разобраться в секретах нулевого даунтайма.
На открытом вебинаре 19 марта в 20:00 мск разберем:
- Blue/Green, Canary, Feature Toggles – какую стратегию выбрать?
- Как Kubernetes и Ansible помогают минимизировать простои.
- Как тестировать обновления прямо в продакшене и не бояться откатов.
💬 Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex.
Урок пройдет в преддверии старта курса «DevOps-практики и инструменты». Все участники получат скидку на обучение.
👉Регистрируйтесь и выводите инфраструктуру на новый уровень: https://otus.pw/dZT2/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Как масштабировать команду? — Нанять аутсорс
А как проще всего работать с аутсорсерами?
— В Битрикс24 Коллабах. Это платформа для работы с внешними специалистами внутри вашего Битрикс24.
Выглядит как чат, только удобнее. Встроены задачи, встречи, файлы. Для коротких и долгосрочных проектов. Особенно удобно для взаимодействия команд, где обсуждается несколько параллельных задач.
Узнать больше
#реклама 16+
collabs.bitrix24.ru
О рекламодателе
🤔 Что такое ACL в Linux?
Это механизм расширенного управления правами доступа к файлам и директориям. В отличие от стандартных POSIX-разрешений (rwx), ACL позволяет задавать индивидуальные права для каждого пользователя или группы. Используется для более гибкого контроля доступа.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Как айтишнику быстро получить оффер
Бесплатный воркшоп 20 марта
Почему одному кандидату предлагают оффер после первого интервью, а другому говорят: «Мы вам перезвоним»?
Причина в подаче своего опыта.
Записывайся, чтобы узнать:
— Как подготовиться к собеседованию
— Как презентовать свой опыт так, чтобы тебя запомнили
— Как проверяют hard skills и как к этому подготовиться
— Как произвести хорошее впечатление, запомнится рекрутеру и сделать так, чтобы захотели работать именно с тобой
Приходи на бесплатный воркшоп и узнай, как прокачать навык самопрезентации и получить работу мечты
Зарегистрироваться
#реклама 16+
my.mts-link.ru
О рекламодателе
🤔 В каких случаях удобно использовать kubernetes, а в каких docker-compose?
Оба инструмента управляют контейнерами, но предназначены для разных сценариев.
🚩Когда использовать Docker Compose?
Docker Compose удобен для локальной разработки и небольших проектов.
Разворачиваете приложение на одном сервере.
Нужно быстро поднять несколько сервисов (БД, кэш, бекенд, фронт).
Разработка ведется в команде, и среда должна быть одинаковой.
Нет необходимости в сложном оркестрационном механизме (авто-масштабирование, балансировка нагрузки).
Файл
docker-compose.yml для запуска бэкенда и базы данных локально:
version: '3'
services:
app:
image: my-backend:latest
ports:
- "5000:5000"
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
Команда запуска:
docker-compose up -d
🚩Когда использовать Kubernetes?
Kubernetes удобен для продакшн-окружений, облаков и сложных приложений.
Нужно масштабирование (автоматическое увеличение/уменьшение количества контейнеров).
Требуется автоисправление (если контейнер падает, он перезапускается).
Используется балансировка нагрузки (Kubernetes распределяет трафик между подами).
Нужна развертка в кластере (несколько машин, облако).
Требуется обновление без простоя (rolling updates).
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-backend:latest
ports:
- containerPort: 5000
Разворачиваем в Kubernetes:
kubectl apply -f my-app.yaml
Ставь 👍 и забирай 📚 Базу знанийИмпортозамещение в деле: Depo, Yadro, Гравитон и другие!
Пора обновлять инфраструктуру? Тогда делайте это без привязки к зарубежным вендорам.
Мы поставляем отечественные серверы, СХД и коммутаторы из реестра Минпромторга: Depo, Yadro, Гравитон, GAGARIN, UTINET, Аквариус, Рико, Норси-Транс, OpenYard, Нерпа и ДатаРу. Это производительная и отказоустойчивая альтернатива зарубежным аналогам, проверенная крупными компаниями и ЦОДами. Подходит для импортозамещения КИИ.
Сервер Молл предлагает: ✅
Оборудование от ведущих российских производителей: в наличии на складах
Готовые решения для ЦОДов любой сложности
Гарантию до 5 лет и постпродажное обслуживание
Бесплатную доставку в любую точку России.
Не обещаем, а делаем! Если вам нужно российское оборудование для обновления инфраструктуры, пишите в чат или звоните — 8 800 755-25-51 📞
Перейти на сайт
#реклама
servermall.ru
О рекламодателе
🤔 В чем основные пойнты Git Flow?
Это стратегия управления ветками в Git, предназначенная для удобной командной разработки. Основные ветки:
- master – стабильная версия кода, которая всегда готова к релизу.
- develop – основная ветка для разработки, в которую вливаются новые фичи.
- feature/* – ветки для отдельных функций, которые создаются от develop и сливаются обратно после завершения.
- release/* – ветки для подготовки к релизу, после чего код попадает в master.
- hotfix/* – срочные исправления для master, минуя develop.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+1
Разработка ПО на заказ
Компания Арсис разрабатывает приложения и информационные системы с 1993 года. Реализовано более 200 проктов. Более 50 довольных клиентов из РФ, Германии, Австрии, Великобритании и США. Длительность ряда проектов превышает 25 лет. Мы сертифицированы на соответствие системе менеджмента качества ISO 9001:2015. Будем рады разработать для вас ПО на заказ. Свяжитесь с нами для получения бесплатной консультации!
Получить консультацию
#реклама
arsis.ru
О рекламодателе
