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

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

Open in Telegram

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

Show more
5 541
Subscribers
No data24 hours
-77 days
+1330 days
Posts Archive
🤔 Какие утилиты в 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 <имя процесса>. Ставь 👍 и забирай 📚 Базу знаний

🤔 Почему сейчас systemd используется чаще, чем init? 1. systemd быстрее загружает системы благодаря параллельному запуску сервисов. 2. Поддерживает улучшенную обработку зависимостей и состояние служб. 3. Предоставляет универсальные команды для управления процессами (systemctl). 4. Является стандартом в большинстве современных дистрибутивов Linux. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем DevOps отличается от Agile? Это два различных подхода в разработке и доставке программного обеспечения, которые имеют разные цели и методы, но могут взаимодополнять друг друга. Давайте рассмотрим основные различия и связи между ними. 🚩Agile Увеличение гибкости и адаптивности разработки программного обеспечения. 🟠Итеративная разработка Разработка проходит в коротких циклах (итерациях), что позволяет регулярно представлять работающее программное обеспечение. 🟠Непрерывная обратная связь Регулярные встречи (например, ежедневные стендапы, спринт-ревью) для получения обратной связи от команды и заинтересованных сторон. 🟠Кросс-функциональные команды Команды, состоящие из разработчиков, тестировщиков, аналитиков и других специалистов, работают вместе над проектом. 🟠Фокус на клиенте Постоянное взаимодействие с клиентами для уточнения требований и проверки соответствия продукта их ожиданиям. Фреймворки: Scrum, Kanban, XP (Extreme Programming). 🚩DevOps Увеличение скорости и качества доставки программного обеспечения через автоматизацию и улучшение сотрудничества между разработчиками и операционными командами. 🟠Непрерывная интеграция и доставка (CI/CD) Автоматизация сборки, тестирования и развертывания кода, чтобы изменения могли быстро и надежно попасть в рабочую среду. 🟠Инфраструктура как код (IaC) Использование кода для управления и автоматизации инфраструктуры, что делает процессы повторяемыми и предсказуемыми. 🟠Мониторинг и логирование Постоянное отслеживание состояния приложений и инфраструктуры для быстрого обнаружения и устранения проблем. 🟠Сотрудничество и обмен знаниями Улучшение взаимодействия между разработчиками и операционными инженерами через общие инструменты и процессы. Инструменты: Jenkins, Docker, Kubernetes, Ansible, Terraform, Prometheus, Grafana. 🚩Сравнение и различия 🟠Фокус Agile: Сфокусирован на процессе разработки и управлении проектами, улучшая гибкость и адаптивность команды разработки. DevOps: Сфокусирован на процессе доставки и эксплуатации, улучшая автоматизацию и сотрудничество между разработчиками и операционными командами. 🟠Команды Agile: Включает кросс-функциональные команды, которые работают вместе над созданием программного обеспечения. DevOps: Включает команды разработчиков и операций, которые совместно работают над автоматизацией и улучшением процессов развертывания и эксплуатации. 🟠Методы и инструменты Agile: Методы Scrum, Kanban и другие Agile-практики, которые улучшают процесс управления проектами. DevOps: Инструменты и практики для автоматизации развертывания, мониторинга и управления инфраструктурой. 🚩Связь между Agile и DevOps 🟠Agile Помогает улучшить процесс разработки, делая его более гибким и отзывчивым к изменениям. 🟠DevOps Дополняет Agile, автоматизируя развертывание и эксплуатацию программного обеспечения, что позволяет быстрее доставлять изменения пользователям. 🟠Agile команда Может использовать Scrum для управления спринтами и задачами. 🟠DevOps практики Могут быть использованы для автоматизации CI/CD пайплайнов, чтобы каждая итерация разработки могла быть быстро и надежно развернута на серверы. Ставь 👍 и забирай 📚 Базу знаний

– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с тру
– Помощь с pet-проектом – Составление roadmap – Общая консультация – Проведение код-ревью и mock-собеседования – Помощь с трудоустройством Все это и многое другое может Ментор. Он обеспечит вам необходимый boost, ускорит и упростит вход в IT. 🔥 Здесь размещен список менторов, и многие из них предлагают бесплатную первую консультацию

🤔 Чем отличается процесс от потока? 1. Процесс: независимая единица выполнения с собственной памятью. 2. Поток: часть процесса, использующая его общую память. 3. Потоки легче создавать и переключать, но сложнее синхронизировать из-за доступа к общим данным. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Где находится 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. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что есть Docker, а что Docker Daemon? 1. Docker: инструмент для создания, управления и развертывания контейнеров. 2. Docker Daemon: фоновый процесс, отвечающий за управление контейнерами, сетями и образами. 3. Docker CLI взаимодействует с Docker Daemon через API для выполнения задач. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

📺 Уникальная база IT собеседований 370+ реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы. Е
📺 Уникальная база IT собеседований 370+ реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы. Есть собесы от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д. 🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!

🤔 Как найти запущенный процесс? В операционных системах на базе Unix и Linux для поиска запущенных процессов используются различные команды. 🟠Команда `ps` Команда ps отображает список текущих процессов. Часто используемые опции: ps aux: Показывает все процессы в системе. ps -ef: Альтернативный формат вывода всех процессов.
ps aux | grep <имя_процесса>
🟠Команда `top` Команда top показывает список процессов в реальном времени, обновляя его каждые несколько секунд. Это удобно для мониторинга системы и поиска процессов с высокой загрузкой CPU или памяти.
top
🟠Команда `htop` Команда htop — это улучшенная версия top, предоставляющая более удобный интерфейс для мониторинга процессов. Она должна быть установлена отдельно.
sudo apt-get install htop
htop
🟠Команда `pgrep` Команда pgrep используется для поиска процессов по имени. Она возвращает идентификаторы (PID) процессов, соответствующих критериям поиска. Пример использования:
pgrep <имя_процесса>
🟠Команда `pidof` Команда pidof возвращает идентификаторы (PID) процессов с указанным именем.
pidof <имя_процесса>
🟠Команда `ps` с фильтрацией Для более точного поиска можно использовать команду ps с фильтрацией через grep.
ps aux | grep <имя_процесса> | grep -v grep
🟠Команда `lsof` Команда lsof отображает список открытых файлов и может использоваться для поиска процессов, открывающих определенные файлы.
sudo lsof -i :<номер_порта>
🚩Пример поиска конкретного процесса Допустим, вам нужно найти процесс с именем nginx. Вот несколько способов сделать это Использование ps
ps aux | grep nginx | grep -v grep
Использование pgrep
pgrep nginx
Использование pidof
pidof nginx
🚩Использование `top` или `htop` Запустите top или htop и найдите процесс nginx в интерактивном режиме. Ставь 👍 и забирай 📚 Базу знаний