uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

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

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

Відкрити в Telegram

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

Показати більше
5 565
Підписники
-124 години
-57 днів
-1030 днів
Архів дописів
🤔 Как задать права на всё? В Linux права доступа к файлам и папкам регулируются с помощью команд chmod и chown. 🟠Назначение всех прав (777) Если вам нужно дать полный доступ ко всем файлам и папкам, используйте
chmod -R 777 /путь/к/папке
-R (recursive) — применяет права ко всем вложенным файлам и каталогам. 777 означает: 7 (чтение, запись, выполнение) для владельца 7 (чтение, запись, выполнение) для группы 7 (чтение, запись, выполнение) для всех остальных 🟠Передача владения (если нет прав) Если текущий пользователь не владеет файлами, назначьте нового владельца
chown -R username:group /путь/к/папке
username — новый владелец group — новая группа 🟠Лучший вариант — более безопасные права Вместо 777 лучше дать только нужные права: Для исполняемых файлов: chmod 755 Для конфигураций и данных: chmod 644 Для приватных ключей и чувствительных файлов: chmod 600 Ставь 👍 и забирай 📚 Базу знаний

🤔 Где хранится название файла? Название файла хранится в записи каталога, который указывает на соответствующий inode, содержащий метаданные файла. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 На каких принципах работает докер? Это платформа для автоматизации развертывания, масштабирования и управления приложениями в контейнерах. Контейнеры позволяют изолировать приложения и их зависимости, обеспечивая легкую переносимость и консистентность окружения. Основные принципы работы Docker включают в себя контейнеризацию, использование образов, контейнеров, оркестрацию и сетевую инфраструктуру. 🚩Основные принципы 🟠Контейнеризация Контейнеризация позволяет запускать приложения и их зависимости в изолированных окружениях. Контейнеры предоставляют легкие и эффективные среды, которые включают все необходимое для запуска приложений. Контейнеры: Легковесные, изолированные окружения, которые работают поверх ядра хостовой операционной системы. Namespace: Механизм ядра Linux, обеспечивающий изоляцию процессов, сети, PID, пользовательских идентификаторов и монтирования файловых систем. Cgroups: Контрольные группы в Linux, которые ограничивают и отслеживают использование ресурсов контейнерами, включая процессорное время, память и I/O. 🟠Использование образов Образы Docker являются шаблонами для создания контейнеров. Образ включает в себя все необходимые компоненты, такие как код приложения, библиотеки, зависимости и конфигурационные файлы. Dockerfile: Скрипт, содержащий инструкции по созданию образа. Используется для автоматизации создания образов. Слойность: Каждый образ состоит из нескольких слоев, которые кэшируются и могут использоваться повторно, что ускоряет процесс сборки и уменьшает использование ресурсов. 🟠Изоляция и безопасность Docker обеспечивает изоляцию приложений, что позволяет запускать несколько контейнеров на одном хосте без взаимного влияния. Изоляция процессов: Каждый контейнер имеет свой собственный процессорный контекст, что исключает конфликты между приложениями. Изоляция файловой системы: Контейнеры имеют свои собственные файловые системы, изолированные от файловой системы хостовой операционной системы. Безопасность: Docker использует механизмы, такие как AppArmor, SELinux и seccomp, для обеспечения безопасности контейнеров. 🟠Управление сетями Docker предоставляет гибкие возможности управления сетями для контейнеров, включая создание изолированных сетей и подключение контейнеров к различным сетям. Bridge Network: Создает изолированную сеть для контейнеров на одном хосте. Host Network: Контейнер использует сетевые интерфейсы хостовой операционной системы. Overlay Network: Позволяет контейнерам на разных хостах взаимодействовать друг с другом. Macvlan Network: Контейнеры получают собственные MAC-адреса и ведут себя как физические устройства в сети. 🟠Хранение данных Docker поддерживает различные механизмы хранения данных для обеспечения сохранности и доступности данных контейнеров. Volumes: Независимые от контейнеров хранилища данных, которые могут быть подключены к одному или нескольким контейнерам. Bind Mounts: Позволяют монтировать директории хостовой файловой системы в контейнеры. Tmpfs: Использует память хоста для хранения данных контейнера, что полезно для временных данных. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое umask? Это маска прав доступа, определяющая, какие права будут убраны при создании новых файлов и директорий. Например, umask 022 удаляет права записи для группы и других пользователей. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое дешборды в графане? Это визуальные панели, на которых отображаются метрики, логи и данные, собранные из различных источников. Они используются для мониторинга состояния систем, приложений и инфраструктуры, предоставляя наглядное представление в виде графиков, диаграмм, таблиц и других визуализаций. 🚩Почему нужны дешборды в 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]). 🟠Настройка фильтров и переменных Добавьте переменные, чтобы дешборд был динамичным. 🟠Добавление алертов Настройте триггеры для уведомлений (например, при высоком времени отклика). Ставь 👍 и забирай 📚 Базу знаний

Нужен человек, для сбора вопросов из собеседований на должность DevOps. Что надо делать: 1. Смотреть записи собеседований (список будет дан) 2. Выписывать вопросы, которые задают кандидату Ставка: 450 руб. / час Примерная ЗП: 54 000 руб. / месяц (4 часа в день) Если интересно и можешь уделять работе от 4 часов / день, то отправь сообщение https://t.me/niniafd и сразу напиши какие языки программирования знаешь и какие лучше всего?

🤔 Что за команда truncate? truncate изменяет размер файла, обрезая или увеличивая его. Например, можно обрезать файл до определённого размера или создать пустой файл заданной длины. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 В чем отличие девопс-инженера от sre-инженера? DevOps-инженер и SRE (Site Reliability Engineer) — это роли, которые пересекаются в своих задачах, но имеют разные акценты и подходы. 🚩Определение ролей 🟠DevOps-инженер Основная цель: Ускорить и автоматизировать процесс разработки, тестирования и развертывания приложений. Подход: Сосредоточен на создании и поддержке CI/CD, инфраструктуры как кода (IaC) и инструментах автоматизации. Фокус: Эффективность процессов разработки. Улучшение взаимодействия между командами разработки (Dev) и эксплуатации (Ops). 🟠SRE-инженер Основная цель: Обеспечение стабильности, надежности и производительности системы в продакшене. Подход: Применяет инженерные подходы и автоматизацию для управления операциями и масштабированием. Фокус: Стабильность и надежность системы. Мониторинг, устранение сбоев и управление инцидентами. Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие утилиты в Linux обычно используете для траблшутинга? - top/htop: мониторинг процессов. - iotop: анализ ввода-вывода. - strace: трассировка системных вызовов. - lsof: открытые файлы и сокеты. - netstat/ss: состояние сети. - dmesg: системные сообщения ядра. - journalctl: просмотр логов systemd. - ping, traceroute: диагностика сети. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Из чего состоит control plane? В Kubernetes Control Plane — это набор компонентов, которые управляют всей кластерной системой. Он отвечает за контроль над состоянием кластера, управлением узлами (nodes) и развертыванием приложений. 🟠kube-apiserver Что делает: Это центральный компонент, предоставляющий API для управления кластером. Почему нужен: Все взаимодействия, включая добавление/удаление узлов, создание подов и настройку сетей, проходят через API-сервер. Как работает: Принимает запросы от пользователей, kubectl, и других компонентов. Проверяет подлинность запросов и валидирует данные. Передает команды другим компонентам через REST API. 🟠etcd Что делает: Это распределённое key-value хранилище, которое сохраняет все данные о состоянии кластера. Почему нужен: Все данные о конфигурации, статусе и метаданных кластера сохраняются в etcd. Если etcd выходит из строя, кластер теряет свою управляемость. Как работает: Хранит информацию о подах, конфигурации сетей и статусе всех компонентов. Поддерживает консенсус между узлами, обеспечивая надёжность данных. 🟠kube-scheduler Что делает: Назначает поды на доступные узлы. Почему нужен: Без планировщика поды не смогут быть развернуты на узлах. Как работает: Считывает незапланированные поды из API-сервера. Анализирует доступные узлы на основе их ресурсов (CPU, память и т.д.). Назначает узел для каждого пода на основе алгоритмов (например, минимальная загрузка). 🟠kube-controller-manager Что делает: Управляет контроллерами, которые следят за состоянием ресурсов в кластере. Почему нужен: Контроллеры — это "надсмотрщики", которые автоматически исправляют отклонения от желаемого состояния. Как работает: Включает несколько встроенных контроллеров: Node Controller: Следит за доступностью узлов. Replication Controller: Поддерживает нужное количество реплик подов. Endpoint Controller: Обновляет Endpoints-объекты. Service Account Controller: Создает учетные записи для сервисов. 🟠cloud-controller-manager Что делает: Управляет интеграцией с облачными провайдерами (например, AWS, GCP). Почему нужен: Позволяет использовать облачные функции, такие как балансировка нагрузки, управление дисками и маршрутизацией. Как работает: Отвечает за создание LoadBalancer. Управляет постоянными томами (Persistent Volumes), связанными с облачными хранилищами. Ставь 👍 и забирай 📚 Базу знаний

🤔 Чем юниксовая система отличается от линуксовой? Linux — это свободная реализация Unix, основанная на его принципах. Unix — это семейство проприетарных систем, использующих одноядерную архитектуру, тогда как Linux является открытым и более гибким для модификации. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как оптимизировать имедж? Оптимизация Docker-имеджа (или другого контейнерного имеджа) необходима для уменьшения его размера, ускорения сборки, повышения безопасности и повышения производительности контейнеров. 🟠Используйте минимальную базовую ОС Почему: Базовый образ сильно влияет на размер. Например, alpine занимает ~5 МБ, в то время как ubuntu или debian могут превышать сотни мегабайт. Как: Замените базовый образ:
FROM alpine:latest
🟠Удаляйте ненужные файлы Почему: Временные файлы, кэш или артефакты сборки занимают место. Как: Добавьте команды для очистки временных данных:
RUN apt-get update && apt-get install -y curl \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
🟠Используйте многоэтапную сборку (multi-stage builds) Почему: Стадия сборки может содержать инструменты, которые не нужны в финальном образе. Как
# Стадия сборки
FROM golang:1.20 as builder
WORKDIR /app
COPY . .
RUN go build -o app .

# Финальный образ
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/app .
CMD ["./app"]
🟠Минимизируйте количество слоёв Почему: Каждый RUN, COPY, ADD создаёт новый слой. Слишком много слоёв увеличивают размер образа. Как: Объединяйте команды:
RUN apt-get update && apt-get install -y curl wget \
    && apt-get clean && rm -rf /var/lib/apt/lists/*
🟠Не сохраняйте секреты Почему: Переменные окружения с паролями или токенами могут быть случайно унаследованы. Как: Используйте Docker secrets или .env-файлы и исключайте их из COPY
ENV APP_ENV=production
🟠Кэшируйте зависимости Почему: Частое скачивание зависимостей замедляет сборку. Как: Переносите команды загрузки зависимостей ближе к началу:
COPY go.mod go.sum ./
RUN go mod download
🟠Проверяйте зависимости Почему: Устаревшие или ненужные зависимости увеличивают размер и могут содержать уязвимости. Как: Используйте сканеры вроде Trivy или Docker Scan для анализа.
trivy image myimage:latest
🚩Пример полного Dockerfile
# 1. Используем минимальный базовый образ
FROM node:20-alpine as builder

# 2. Устанавливаем зависимости
WORKDIR /app
COPY package*.json ./
RUN npm install

# 3. Копируем код
COPY . .

# 4. Собираем проект
RUN npm run build

# Финальный минимальный образ
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
Ставь 👍 и забирай 📚 Базу знаний

🤔 Когда выполняются пробы? Пробы (liveness, readiness, startup) выполняются периодически в зависимости от настроек initialDelaySeconds, periodSeconds и других параметров. - Readiness: проверяет готовность пода принимать трафик. - Liveness: проверяет, что под работает корректно. - Startup: проверяет успешный старт пода. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Без какой инструкции не может существовать докер файл ? Это текстовый документ, содержащий все команды, которые пользователь может вызвать в командной строке для сборки образа Docker. Эта инструкция обязательна, так как она определяет базовый (родительский) образ, от которого будет строиться ваш собственный образ. 🚩Инструкция Указывает на базовый образ, который используется для сборки нового образа Docker. Без этой инструкции Docker не сможет определить, с какого состояния начать сборку, и, соответственно, сборка образа будет невозможна.
# Использование официального образа Python 3.8 как базового
FROM python:3.8
Ставь 👍 и забирай 📚 Базу знаний

💣 Освойте принципы и популярные инструменты DevOps-инженера, которые помогут повысить вашу востребованность и доход! ➡️Успей
💣 Освойте принципы и популярные инструменты DevOps-инженера, которые помогут повысить вашу востребованность и доход! ➡️Успейте на онлайн-курс «DevOps практики и инструменты» от OTUS с максимальной скидкой по промокоду DevOps01. Группа стартует уже 30 января. 💻 Для кого этот курс? - Для разработчиков. Вы научитесь настраивать системы разворачивания и тестирования приложений, либо плавно перейти в новую профессию. - Для системных администраторов. Сможете разобраться в построении процесса DevOps и оптимизировать нагрузки на системы и сервисы, освоить новые инструменты и подходы, а после сменить профессию. - Для тестировщиков. Станете более востребованным специалистом за счет изучения инструментов DevOps.  ✅За эти годы мы выпустили уже 700 Девопсов, поднявших свой доход до 4 раз. Работодатели - партнёры OTUS уже ждут выпускников. Сделайте шаг вперёд и вы! ➡️ ПРОЙТИ ВСТУПИТЕЛЬНЫЙ ТЕСТ: https://otus.pw/XByU3/?erid=2W5zFHxFRzQ  Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🤔 Какие параметры есть в deployment? Основные параметры: - replicas: количество реплик. - selector: выборка подов по меткам. - template: спецификация подов (контейнеры, ресурсы, переменные окружения). - strategy: стратегия развертывания (например, RollingUpdate или Recreate). - revisionHistoryLimit: количество сохранённых версий для отката. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 С каким максимальным кол-ом адресов ОП может провзаимодействовать процессор? Максимальное количество адресов оперативной памяти (ОП), с которыми может взаимодействовать процессор, зависит от ширины адресной шины процессора. Адресная шина определяет, сколько уникальных адресов памяти процессор может адресовать. 🚩Формула вычисления Количество адресуемых ячеек памяти определяется по формуле: \text{Максимальное количество адресов} = 2^{\text{ширина адресной шины (в битах)}} 🚩Примеры 🟠Процессор с 32-битной адресной шиной Максимально возможное количество адресов: 2^{32} = 4,294,967,296 \, (\approx 4 \, \text{Гбайт}) 🟠Процессор с 64-битной адресной шиной Теоретический максимум 2^{64} = 18,446,744,073,709,551,616 \, (\approx 16 \, \text{эксабайт}) Однако современные процессоры обычно поддерживают меньше, например Архитектура x86-64 (например, Intel и AMD): ограничена 48–57 битами для адресов памяти, что позволяет адресовать от 256 Тбайт до 128 Пбайт. 🚩Почему реальная адресуемая память меньше? 🟠Ограничения архитектуры Производители процессоров могут использовать меньшее количество адресных линий, чтобы снизить сложность и стоимость. Например, современные 64-битные процессоры адресуют только часть 64-битного пространства (например, 48 бит). 🟠Ограничения ОЗУ Даже если процессор поддерживает большое количество адресов, максимальная память ограничивается количеством слотов памяти и их емкостью на материнской плате. 🟠Системные резервы Некоторые адреса зарезервированы для системных нужд (например, для ввода/вывода или BIOS). Ставь 👍 и забирай 📚 Базу знаний

Нужен человек, для сбора вопросов из собеседований на должность DevOps. Что надо делать: 1. Смотреть записи собеседований (список будет дан) 2. Выписывать вопросы, которые задают кандидату Ставка: 450 руб. / час Примерная ЗП: 54 000 руб. / месяц (4 часа в день) Если интересно и можешь уделять работе от 4 часов / день, то отправь сообщение https://t.me/niniafd и сразу напиши какие языки программирования знаешь и какие лучше всего?

🤔 Какую сущность за собой тянет deployment, когда создаёшь его instance? Deployment создаёт ReplicaSet, который отвечает за управление количеством подов. Он гарантирует, что запущено указанное число подов, и пересоздаёт их в случае сбоя. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какой командой можно показать все работающие процессы на Linux? Для отображения всех работающих процессов в Linux можно использовать несколько команд. Самые популярные из них: ps, top, htop и pgrep. Каждая из них имеет свои особенности. 🚩Команда `ps` ps выводит снимок (snapshot) текущих процессов в момент выполнения команды. 🟠`ps aux` Показывает все процессы, запущенные в системе, включая пользователей и системные демоны.
ps aux
🟠`ps -ef` Альтернативный стиль вывода всех процессов с более детальной информацией.
ps -ef
🚩Команда `top` top — интерактивная утилита для отображения всех запущенных процессов в реальном времени. Вывод обновляется автоматически. Запуск
top
🚩Команда `htop` htop — более современная и удобная версия top. Требуется предварительная установка:
sudo apt install htop  # Для Ubuntu/Debian
sudo yum install htop  # Для CentOS/RHEL
Запуск
htop
🚩Команда `pgrep` pgrep используется для поиска процессов по имени, но с дополнительными опциями можно вывести все процессы. Пример
pgrep -a ""
🚩Команда `systemctl` (для сервисов) Если вы хотите посмотреть системные службы
systemctl list-units --type=service
🚩Какую команду выбрать? 🟠Для быстрого снимка ps aux. 🟠Для мониторинга в реальном времени top или htop. 🟠Для поиска конкретного процесса pgrep <имя процесса>. Ставь 👍 и забирай 📚 Базу знаний