uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

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

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

Kanalga Telegram’da o‘tish

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads

Ko'proq ko'rsatish
5 567
Obunachilar
-124 soatlar
-67 kun
+230 kun
Postlar arxiv
🤔 Сколько дефолтно историй есть? По умолчанию Kubernetes хранит 10 ревизий (revisionHistoryLimit = 10) для ресурсов типа Deployment. Это значит, ты можешь откатиться на одну из 10 предыдущих версий. Это значение можно изменить в манифесте деплоймента. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие есть метрики для измерения качества системы? Для измерения качества системы (особенно в DevOps, SRE и разработке) используют различные метрики производительности, надежности и доступности. 🚩Основные метрики качества системы 🟠Метрики "Четырёх ключевых показателей" (DORA) Эти метрики помогают оценить эффективность процессов DevOps: Lead Time for Changes (Время доставки изменений) — время от написания кода до его выхода в прод. Deployment Frequency (Частота развертываний) — как часто изменения попадают в прод. Mean Time to Restore (MTTR) (Среднее время восстановления) — как быстро исправляются инциденты. Change Failure Rate (Процент неудачных изменений) — доля развертываний, вызывающих сбои. 🟠Метрики надежности и доступности (SRE) Эти метрики помогают измерять надежность системы: SLA (Service Level Agreement) — договорное время доступности (например, 99.9%). SLO (Service Level Objective) — целевое значение доступности (например, 99.95%). SLI (Service Level Indicator) — фактические измеренные показатели (например, 99.93%). Error Rate — процент ошибок в системе (HTTP 500, таймауты и т. д.). Latency (Задержка) — время ответа системы на запросы. 🟠Метрики производительности Они показывают, насколько быстро работает система: CPU Utilization — загрузка процессора. Memory Usage — использование оперативной памяти. Disk I/O — скорость чтения/записи на диск. Network Throughput — пропускная способность сети. Response Time — время отклика системы. 🟠Метрики пользовательского опыта Оценивают удобство работы пользователей с системой: Apdex (Application Performance Index) — индекс удовлетворенности пользователей (0–1). TTFB (Time to First Byte) — время до получения первого байта ответа от сервера. Page Load Time — время полной загрузки страницы. Bounce Rate — процент пользователей, покинувших сайт без взаимодействия. Ставь 👍 и забирай 📚 Базу знаний

🤔 В чём разница synchronized и Lock? - synchronized — встроенный механизм блокировки: - Прост в использовании. - Автоматически освобождает монитор. - Lock (ReentrantLock): - Предоставляет гибкость: можно попытаться захватить (tryLock), установить таймаут, прерывание. - Требует явного освобождения — unlock(). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Из чего состоит ELK стек? ELK (Elasticsearch, Logstash, Kibana) – это стек для сбора, обработки, хранения и визуализации логов. Он помогает DevOps-инженерам анализировать логи в реальном времени и выявлять проблемы в системе. 🚩Elasticsearch – хранилище и поиск логов - Хранит структурированные и неструктурированные данные (логи, метрики) - Поддерживает быстрый полнотекстовый поиск - Использует кластеризацию для высокой доступности
json  
GET /logs/_search  
{  
  "query": {  
    "match": { "message": "error" }  
  }  
}  
🚩Logstash – обработка и отправка логов - Собирает логи из файлов, TCP, Kafka, Beats - Фильтрует и преобразует данные перед отправкой в Elasticsearch - Поддерживает шифрование и маршрутизацию
yaml  
input {  
  file {  
    path => "/var/log/nginx/access.log"  
    start_position => "beginning"  
  }  
}  
filter {  
  grok { match => { "message" => "%{COMBINEDAPACHELOG}" } }  
}  
output {  
  elasticsearch {  
    hosts => ["http://elasticsearch:9200"]  
  }  
}  
🚩Kibana – визуализация и анализ - Позволяет строить дашборды и графики - Делает поиск по логам и метрикам - Визуализирует реальное время работы системы
  
message: "error" AND @timestamp:[now-24h TO now]  
🚩Как ELK-стек работает вместе? Logstash собирает и обрабатывает логи Отправляет их в Elasticsearch Kibana визуализирует данные
yaml  
version: "3"  
services:  
  elasticsearch:  
    image: docker.elastic.co/elasticsearch/elasticsearch:8.5.0  
    environment:  
      - discovery.type=single-node  
    ports:  
      - "9200:9200"  

  logstash:  
    image: docker.elastic.co/logstash/logstash:8.5.0  
    depends_on:  
      - elasticsearch  
    volumes:  
      - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf  
    ports:  
      - "5044:5044"  

  kibana:  
    image: docker.elastic.co/kibana/kibana:8.5.0  
    depends_on:  
      - elasticsearch  
    ports:  
      - "5601:5601"
Ставь 👍 и забирай 📚 Базу знаний

🤔 Почему при проверке командой, ранее заполненный, но после очищенный раздел, все равно выглядит, как заполненный? Операционные системы не всегда сразу удаляют данные с диска, а только помечают их как доступные для перезаписи. Причины: - Журналирование (EXT4, XFS) – данные могут оставаться в журнале. - TRIM для SSD не выполнен – стирание на SSD происходит не сразу. - Блоки файловой системы не очищены – команда rm удаляет ссылки, но не сами данные. - Кеширование и lazy-write – система может отложить освобождение пространства. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Где хранятся данные о группах которые существуют в системе? В Linux информация о группах пользователей хранится в файле: /etc/group — основной файл, содержащий список всех групп системы. 🚩Как посмотреть список групп? Вывести содержимое файла /etc/group
cat /etc/group
Формат строк в файле
имя_группы:x:GID:пользователи
Пример
root:x:0:
sudo:x:27:alice,bob
developers:x:1001:john,mary
Найти группу по имени
grep '^sudo:' /etc/group
Выведет
sudo:x:27:alice,bob
Узнать, в каких группах состоит пользователь
groups alice
или
id -Gn alice
Выведет
alice sudo developers
🚩Где ещё хранятся группы? 🟠Файл `/etc/gshadow` хранит пароли групп Если у группы есть пароль (редкость), он хранится здесь. Формат:
  имя_группы:пароль:GID:админы_группы
Пример:
sudo:!:27:
developers:!:1001:john
Посмотреть содержимое
sudo cat /etc/gshadow
🟠LDAP или Active Directory (если система подключена к домену) Если используется корпоративный домен, данные о группах могут храниться в LDAP или Active Directory.
getent group
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как первоначально оценить размер ноды, не зная как работает приложение? 1. Стартовая гипотеза: - CPU: 0.5–1 core - RAM: 512Mi–1Gi - Подняться с requests по минимуму и оставить limits пустыми. 2. Понаблюдать: - Метрики пода (kubectl top pod, Grafana). - Поведение при запуске, пике и в простое. 3. Использовать Goldilocks или VPA: - Эти инструменты подскажут оптимальные requests/limits на основе истории. 4. Снять perf-профиль: - Если есть возможность — замерить поведение через нагрузочное тестирование. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Repost from easyoffer
База 1000+ реальных собеседований теперь встроена в easyoffer Смотрите, как другие кандидаты отвечают на вопросы, решают зада
База 1000+ реальных собеседований теперь встроена в easyoffer Смотрите, как другие кандидаты отвечают на вопросы, решают задачи и проходят этапы на реальных собеседованиях от топовых компаний. Подготовьтесь к своему собеседованию с двойной уверенностью. Напоминаем, что сегодня последний день Чёрной Пятницы 👉 Забрать PRO со скидкой 70%: https://easyoffer.ru/

🤔 Как сделать 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
Ставь 👍 и забирай 📚 Базу знаний

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

🤔 Как посмотреть историю изменения деплоймента? Для этого используют: - kubectl rollout history deployment <имя> — показывает историю версий (ревизий). - Можно увидеть, какие изменения конфигурации были внесены и когда. Это полезно для отслеживания конфигурационных изменений и откатов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

DLL hijacking остаётся одной из самых недооценённых техник атаки в Windows. Для злоумышленника это возможность исполнить свой
DLL hijacking остаётся одной из самых недооценённых техник атаки в Windows. Для злоумышленника это возможность исполнить свой код под видом легитимного приложения, получить доступ к данным и эскалировать привилегии. Для специалистов по ИБ это риск, который многие замечают слишком поздно. Именно поэтому мы проводим открытый урок в преддверие старта курса «Пентест. Инструменты и методы проникновения в действии». 3 декабря в 20:00 МСК мы разберём, как Windows ищет DLL, почему этот механизм становится вектором атаки и какие ошибки разработчиков и администраторов открывают путь для подмены библиотек. Покажем реальные кейсы, работу техники вживую и способы защиты: от явных путей загрузки до цифровых подписей и Safe DLL Search Mode. После урока вы сможете оценивать собственные системы и приложения на уязвимость к DLL hijacking и понимать, где именно возникают риски. Формат подойдёт специалистам по ИБ, SOC-аналитикам и администраторам, которым важно укрепить контроль над средой Windows. Зарегистрируйтесь и получите чёткую, практическую инструкцию по защите: https://otus.pw/niJA/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

🤔 Какая может быть проблема если вы подключаетесь к серверу через ssh а вам приходят тикеты, что другие пользователи не могут подключиться по ssh по одной и той же учётной записи Если вы можете подключиться к серверу по SSH, но другие пользователи, использующие ту же учетную запись, не могут, возможны следующие причины: 🟠Проблема с ограничением количества подключений В файле конфигурации SSH (/etc/ssh/sshd_config) могут быть ограничения на число одновременных подключений. Открываем конфигурацию SSH
sudo nano /etc/ssh/sshd_config
Проверяем параметры
MaxSessions 1
MaxStartups 10:30:60
Решение Увеличьте MaxSessions, например:
MaxSessions 10
Перезапустите SSH:
sudo systemctl restart sshd
🟠Файл .ssh/authorized_keys имеет неверные права Если у вас ключевая авторизация, возможно, права на файлы .ssh/authorized_keys нарушены. На сервере выполните:
ls -l ~/.ssh/authorized_keys
Если права не 600, исправьте
chmod 600 ~/.ssh/authorized_keys
🟠Ограничение по IP (DenyUsers, AllowUsers, TCP Wrappers) Конфигурация SSH может блокировать подключения для определенных IP или пользователей. Откройте /etc/ssh/sshd_config и проверьте параметры
DenyUsers user1
AllowUsers admin
Проверьте /etc/hosts.deny и /etc/hosts.allow
cat /etc/hosts.deny
cat /etc/hosts.allow
🟠Закончились доступные PTY (псевдотерминалы) Если исчерпан лимит доступных PTY, новые сессии не смогут открываться. Запустите
ls /dev/pts
Если там слишком много открытых сессий, попробуйте очистить:
pkill -u user
или увеличьте лимит в /etc/security/limits.conf
* hard nproc 1024
* soft nproc 1024
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как подключить, отформатировать жёсткий диск? 1. Подключение: - Устройство появляется как /dev/sdX - Проверить с помощью lsblk или fdisk -l 2. Форматирование: - Создание раздела: fdisk /dev/sdX - Форматирование: mkfs.ext4 /dev/sdX1 - Монтирование: mount /dev/sdX1 /mnt/mydisk - Добавление в /etc/fstab для автоподключения Обязательно убедиться, что нужный диск выбран, чтобы избежать потери данных. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Repost from easyoffer
Черная пятница на easyoffer Скидка 70% на PRO до 29 ноября. 👉 https://easyoffer.ru/
Черная пятница на easyoffer Скидка 70% на PRO до 29 ноября. 👉 https://easyoffer.ru/

🤔 Что такое basic auth? Basic Auth (Basic Authentication) – это простой метод аутентификации HTTP-запросов. Он используется для ограничения доступа к ресурсам, отправляя логин и пароль в заголовке запроса. 🟠Как работает Basic Auth? Клиент делает запрос к серверу. Сервер отвечает 401 Unauthorized и требует аутентификацию:
   HTTP/1.1 401 Unauthorized  
   WWW-Authenticate: Basic realm="Restricted Area"
   
Клиент кодирует логин и пароль в Base64 и отправляет их в заголовке:
   Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
   
🟠Пример запроса с Basic Auth В curl
curl -u username:password http://example.com/protected
В Python (requests):
import requests
from requests.auth import HTTPBasicAuth

response = requests.get("http://example.com/protected", auth=HTTPBasicAuth("username", "password"))
print(response.text)
В JavaScript (fetch):
fetch("http://example.com/protected", {
  headers: {
    "Authorization": "Basic " + btoa("username:password")
  }
})
.then(response => response.text())
.then(data => console.log(data));
🚩Минусы ➖Не безопасен без HTTPS данные передаются в открытом виде (Base64 — это не шифрование!). ➖Логин и пароль передаются в каждом запросе что делает систему уязвимой. ➖Нет механизма разлогинивания браузеры кэшируют креды, и их сложно сбросить. Ставь 👍 и забирай 📚 Базу знаний

🤔 Отличия IPv4 и IPv6? - Длина адреса: IPv4 — 32 бита (например, 192.168.1.1), IPv6 — 128 бит (например, 2001:0db8::1). - Количество адресов: IPv6 предоставляет намного больше адресов (2¹²⁸ против 2³²). - Формат: IPv4 использует десятичную точечную нотацию, IPv6 — шестнадцатеричную с двоеточиями. - NAT: В IPv6 NAT не обязателен, в IPv4 он широко используется. - Упрощённые заголовки: В IPv6 заголовок легче обрабатывается маршрутизаторами. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как бы организовал хранение и доступ к секретам? В DevOps и Kubernetes важно безопасно хранить секретные данные (пароли, API-ключи, токены). Нельзя хранить их в коде, в Git, в .env файлах без шифрования. 🚩HashiCorp Vault (лучший вариант для масштабных проектов) Полностью управляемое решение для хранения и динамической ротации секретов. Шифрование с поддержкой KMS. API-доступ и интеграция с CI/CD. Как получить секрет через CLI?
vault kv put secret/db password="SuperSecret123"
vault kv get secret/db
Как использовать в Jenkins?
withVault([vaultSecrets: [[path: 'secret/db', secretValues: [['envVar': 'DB_PASS', 'vaultKey': 'password']]]]]) {
    sh 'echo $DB_PASS'  # Переменная доступна только внутри блока
}
🚩Kubernetes Secrets (если приложение в K8s) Интеграция с Kubernetes, управление через kubectl. Доступ через переменные окружения или монтирование в файл. Можно использовать Sealed Secrets или SOPS для шифрования. Как создать секрет?
kubectl create secret generic db-secret --from-literal=password='SuperSecret123'
Как использовать в Deployment?
env:
  - name: DB_PASS
    valueFrom:
      secretKeyRef:
        name: db-secret
        key: password
🚩AWS Secrets Manager / Azure Key Vault / GCP Secret Manager Интеграция с облачными сервисами (IAM, Lambda, RDS). Автоматическая ротация ключей. Как получить секрет в AWS?
aws secretsmanager get-secret-value --secret-id my-secret
Как подключить к Kubernetes? Используем External Secrets Operator:
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: db-secret
spec:
  secretStoreRef:
    name: aws-secrets
    kind: SecretStore
  target:
    name: db-secret
  data:
  - secretKey: password
    remoteRef:
      key: my-db-password
🚩SOPS + GitOps (для хранения в Git, но зашифрованно) Позволяет хранить секреты в Git без утечек. Работает с KMS, PGP, age. Как зашифровать секрет?
sops --encrypt --age YOUR_PUBLIC_KEY secrets.yaml > secrets.enc.yaml
Как расшифровать?
sops --decrypt secrets.enc.yaml
Ставь 👍 и забирай 📚 Базу знаний

📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена» Хотите автоматизировать деплой, управлять инфраструктурой
📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена» Хотите автоматизировать деплой, управлять инфраструктурой как кодом и выстраивать надёжные CI/CD процессы? Этот курс — полный путь DevOps-инженера. • CI/CD: Jenkins, GitLab CI/CD, GitHub Actions, стратегии развёртывания (Blue-Green, Canary), rollback • Контейнеризация: Docker (образы, Compose, networking), Podman, оптимизация и безопасность контейнеров • Kubernetes: архитектура, Pods, Services, Deployments, Helm, RBAC, Service Mesh (Istio/Linkerd) • Infrastructure as Code: Terraform, Ansible (playbooks, vault), Packer, ArgoCD и Flux для GitOps • Облака: AWS (EC2, EKS, Lambda), GCP, Azure, Yandex Cloud, cost optimization• Мониторинг: Prometheus, Grafana, ELK Stack, Jaeger, OpenTelemetry, SLI/SLO/SLA • Безопасность: SAST/DAST, Vault, Zero Trust, Policy as Code, incident response • Продакшен практики: High Availability, Disaster Recovery, Chaos Engineering, on-call management 🎓 Сертификат — добавьте в резюме или LinkedIn 🚀 Скидка 25%, действует 48 часов 👉 Пройти курс на Stepik