DevOps | Вопросы собесов
Відкрити в Telegram
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+2P7cpjeyfDVlZjcy Вакансии t.me/+i5KFWEWJ21hhYWEy
Показати більше5 505
Підписники
-324 години
-107 днів
-530 день
Архів дописів
🤔 Как определить опции запуска пайплайна при редактировании определенных ресурсов в гите?
При работе с 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
О рекламодателе
🤔 Как поставить отличную версию питона от системного на астре?
В Astra Linux (как и в Debian/Ubuntu) системный Python используется для работы ОС, и его обновление может привести к проблемам. Поэтому лучше устанавливать другую версию Python отдельно**, не заменяя системную.
🟠Установка Python через deadsnakes PPA (для Astra на основе Debian 9/10)
Если Astra Linux основана на Debian 9/10 (например, Astra Smolensk или Orlov), можно использовать PPA
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
sudo apt install -y python3.10 # Устанавливаем нужную версию
После установки можно проверить
python3.10 --version
🟠Компиляция Python из исходников (универсальный способ)
Если нужная версия недоступна в репозитории, компилируем Python вручную.
Устанавливаем зависимости
sudo apt update
sudo apt install -y build-essential libssl-dev \
libreadline-dev libsqlite3-dev \
zlib1g-dev libbz2-dev libffi-dev
Скачиваем исходники Python
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz
sudo tar xvf Python-3.11.6.tgz
Компилируем Python
cd Python-3.11.6
sudo ./configure --enable-optimizations
sudo make -j$(nproc)
sudo make altinstall # НЕ make install, чтобы не затереть системный Python
Проверяем
python3.11 --version
🟠Использование pyenv (изолированные версии Python)
Если нужно переключаться между разными версиями Python, лучше использовать pyenv.
curl https://pyenv.run | bash
Добавляем в ~/.bashrc или ~/.profile
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"
Активируем изменения
source ~/.bashrc
Устанавливаем новую версию Python
pyenv install 3.10.12
pyenv global 3.10.12 # Делаем версию по умолчанию
Проверяем:
python --version
Ставь 👍 и забирай 📚 Базу знаний🔍 IT без багов не бывает, но с ними можно жить!
Вы тестировщик, разработчик или просто любите IT? Тогда добро пожаловать в I’m QA, bitch! — канал, который понимает вашу боль.
💥 Что вас ждёт?
✅ Мемы про баги — потому что без смеха в этой профессии не выжить.
✅ Разборы эпичных фейлов — учимся на чужих (и своих) ошибках.
✅ Советы по тестированию — делаем софт стабильнее, а нервы крепче.
✅ Руководство по выживанию в IT — дедлайны, релизы, багрепорты без истерики.
👀 Почему стоит подписаться?
🔸 “Не воспроизводится” — худший ответ на багрепорт, и это здесь понимают.
🔸 Канал поможет стать тем QA, которому доверяют.
🔸 Любовь к IT — с мемами, лайфхаками и порцией иронии в каждом посте.
🔥 Подписывайтесь сейчас — и будьте тем, кто находит баги, а не тем, кто их делает!
👉 Подписаться
P.S. Если не подпишитесь, следующая ошибка в продакшн будет на вашей совести. 😏
Защитите свою сеть с Efros Config Inspector. Вебинар
Обеспечьте безопасность вашей корпоративной сети. Контролируйте конфигурации и состояния оборудования. За лучший вопрос на вебинаре — корпоративный мерч!
Посетить событие будет полезно топ-менеджерам и IT-директорам, руководителям проектов и аналитикам, системным администраторам и специалистам по ИБ.
Старт 11 марта, 12:00–13:30 мск. Участие бесплатное.
Зарегистрироваться
#реклама 16+
sec.ussc.ru
О рекламодателе
🤔 Что такое TTL?
Это ограничение времени жизни данных:
- В кэше – указывает, сколько времени кэшированные данные остаются актуальными.
- В DNS – время перед обновлением записи.
- В пакетах сети – ограничивает время существования пакета, после чего он удаляется (ping -t).
- В базах данных – регулирует автоматическое удаление данных (например, в Redis).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Онлайн-интенсив для ИТ-специалистов в Открытых школах Т1
Открытые школы — это возможность за месяц прокачать свои навыки и получить оффер в ИТ-холдинг Т1.
С тебя — год опыта работы в ИТ, с нас — бесплатный онлайн-интенсив и топовые преподаватели.
Что ты получишь?
✅ Уникальный рыночный опыт. Наши проекты ежегодно получают награды на ИТ-конкурсах: Global CIO, Национальной банковской премии и др.
✅ Быстрый рост в ИТ при экспертной поддержке.
✅ Материалы от HR, которые помогут прокачать резюме и подготовиться к интервью в Т1.
✅ Поддержка опытных преподавателей и уникальный карьерный фаст-трек до мидла в Т1 для выпускников интенсива.
✅ Реальный шанс получить оффер в Т1.
Подавай заявку до 14 марта и приходи учиться! Старт ИТ-интенсива уже 17 марта.
Подать заявку
#реклама 16+
t1.ru
О рекламодателе
🤔 В каких случаях используется multi stage?
Multi-stage (многоэтапная сборка) — это метод создания Docker-образов, позволяющий уменьшить их размер и повысить безопасность.
🚩Когда используется?
🟠Оптимизация размера образа
удаляем ненужные зависимости из финального образа.
🟠Безопасность
не включаем инструменты сборки в рабочий контейнер.
🟠Скорость деплоя
меньший образ быстрее скачивается и запускается.
🟠Кросс-компиляция
собираем приложение в одном окружении, а запускаем в другом.
🚩Пример использования Multi-stage в Docker
Допустим, у нас есть приложение на Go. Мы сначала компилируем его в одном контейнере, а затем создаем минимальный образ для запуска.
# Этап 1: сборка
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Этап 2: минимальный образ для запуска
FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/myapp .
CMD ["./myapp"]
🚩Использование в React / Angular / Vue
При сборке фронтенда мы можем сначала установить зависимости и собрать проект, а затем развернуть его на nginx.
# Этап 1: сборка приложения
FROM node:18 AS builder
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
RUN npm run build
# Этап 2: деплой на nginx
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
Ставь 👍 и забирай 📚 Базу знанийНужен человек, для сбора вопросов из собеседований на должность DevOps.
Что надо делать:
1. Смотреть записи собеседований (список будет дан)
2. Выписывать вопросы, которые задают кандидату
Ставка: 450 руб. / час
Примерная ЗП: 54 000 руб. / месяц (4 часа в день)
Если интересно и можешь уделять работе от 4 часов / день, то отправь сообщение https://t.me/niniafd и сразу напиши какие языки программирования знаешь и какие лучше всего?
Курс по мотивации сотрудников, которые ничего не хотят
Сегодня в Школе Гендира открыт бесплатный трехдневный доступ к онлайн-курсу Ежедневная мотивация. Основа курса – практика руководителей российских компаний.
После обучения вы сможете:
👍 распознавать конфликты в коллективе на начальной стадии и вовремя принимать меры
👍 определить точки роста своего лидерского потенциала
👍 построить систему грейдов в компании
👍 внедрить метод OKR для мотивации ключевых сотрудников
👍 адаптировать для себя один из алгоритмов постановки задач
Оставьте заявку на бесплатный доступ на странице курса.
Подать заявку
#реклама 16+
gd.ru
О рекламодателе
🤔 На одном сервере top показывает LA=20, на другом LA=2. Где ситуация лучше?
LA (Load Average) – среднее число процессов в очереди на выполнение.
- LA=20 – значит, что 20 процессов ждут CPU, что указывает на перегрузку.
- LA=2 – более нормальная нагрузка.
- Оптимальный LA ≈ числу ядер CPU (nproc). Если LA существенно выше количества ядер, сервер перегружен.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
UserGate Open Conf 17 / 04 / 2025
⚡ ИТ-конференция про защиту в открытую.
Здесь мы создаем площадку для открытого диалога между заказчиками, партнерами, экспертами и специалистами в сфере продуктов, технологий и услуг информационной безопасности.
Что мы готовим для вас:
- аналитические данные исследования рынка информационной безопасности;
- обзор новых видов и эволюции киберугроз с разбором кейсов по борьбе с ними;
- планы внедрения новых фич и обновлений продуктов экосистемы UserGate;
- 30+ продуктовых, партнерских и клиентских докладов;
- нетворкинг, продуктовые демо, обмен опытом и консультации экспертов ИБ;
- ответы на любые вопросы и сбор обратной связи о работе продуктов и устройств UserGate.
Зарегистрироваться
#реклама
openconf.usergate.com
О рекламодателе
🤔 Как осуществить версионирование кода инфраструктуры?
Версионирование инфраструктурного кода (Infrastructure as Code, IaC) позволяет отслеживать изменения, управлять конфигурациями и обеспечивать повторяемость развертываний. Основные инструменты: Git, Terraform, Ansible, Pulumi и другие.
🚩Версионирование в Terraform
Terraform — один из ключевых инструментов IaC, позволяет управлять инфраструктурой декларативно.
В
versions.tf указываем конкретную версию Terraform и провайдеров:
terraform {
required_version = ">= 1.3.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
Хранение состояния в S3 или Terraform Cloud
Чтобы избежать конфликтов при одновременной работе, храните состояние в общем месте:
terraform {
backend "s3" {
bucket = "my-terraform-state"
key = "prod/terraform.tfstate"
region = "us-east-1"
encrypt = true
dynamodb_table = "terraform-lock"
}
}
🟠Версионирование с Ansible
В requirements.yml фиксируем версии ролей:
roles:
- name: geerlingguy.nginx
version: "3.1.0"
Применяем роли
ansible-galaxy install -r requirements.yml
🟠Автоматизация версионирования через CI/CD
Подключаем GitHub Actions, GitLab CI, Jenkins или Terraform Cloud.
name: Terraform CI
on:
push:
branches:
- main
jobs:
terraform:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
with:
terraform_version: 1.3.0
- name: Terraform Init
run: terraform init
- name: Terraform Plan
run: terraform plan
Ставь 👍 и забирай 📚 Базу знаний
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
