DevOps | Вопросы собесов
رفتن به کانال در Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
نمایش بیشتر5 567
مشترکین
+124 ساعت
+17 روز
-1230 روز
آرشیو پست ها
👩💻 Программирование теперь в телеграм!
Вот обширная база материалов, которая ежедневно обновляется, выбирай своё направление:
Обучение JavaScript с нуля
Обучение Python с нуля
Обучение Java с нуля
Обучение HTML/CSS с нуля
Обучение C/С++ с нуля
Обучение С# с нуля
Обучение SQL/GO/PHP с нуля
Обучение Kotlin/Swift с нуля
⛓ Архив на 3489ГБ: Курсы, книги, шпаргалки, статьи, видео, ресурсы — всё собрано в одном месте: @roadmap_ready
Как ценности компании находят воплощение в офисе
Современный офис транслирует философию бренда на всех уровнях: хорошо ли освещены рабочие зоны, есть ли места для разговоров по телефону, как гостя встречают на ресепшене, а удобно ли заказать себе кофе не тратя время в очереди. Всё это - про комфорт человека и вокруг человека. 😊
Главный секрет: думать, делать и говорить одно и то же. Если в офисе честно, то и внутреннего конфликта нет. В таком пространстве не возникает желания поскорее сбежать домой 🏃♂️ А перед уходом хочется просто взять и проехаться по офису на самокате или почиллить на крыше.
Какие решения в офисе деликатно приобщают сотрудника к ценностям бренда - в канале Pridex. Все об офисах.
Подписаться
#реклама
О рекламодателе
📌 Что такое OOM ?
💬 Спрашивают в 13% собеседований
OOM (Out of Memory) — это состояние, в котором операционная система или приложение сталкивается с нехваткой оперативной памяти для выполнения текущих задач или запросов. Когда система исчерпывает доступную память, она не может выделить необходимое количество памяти для новых или уже работающих процессов.
🤔 Что происходит при OOM?
Когда система сталкивается с ним, она может попытаться освободить память, завершив некоторые процессы. В Linux, например, существует специальный процесс под названием OOM Killer, который запускается, когда система испытывает критическую нехватку памяти.
Основные шаги:
1️⃣ Выделение памяти:
➕ Приложения запрашивают память у операционной системы для выполнения своих задач. Если доступной памяти недостаточно, система начинает испытывать нехватку.
2️⃣ Использование swap:
➕ Если оперативная память заканчивается, система может использовать swap (файл или раздел на диске, используемый как дополнительная память). Однако, swap медленнее, чем оперативная память, и при интенсивном использовании swap производительность системы может существенно снизиться.
3️⃣ Активация:
➕ Если свободной памяти и swap все равно недостаточно, в Linux запускается OOM Killer. Это механизм, который выбирает и завершает один или несколько процессов для освобождения памяти.
4️⃣ Завершение процессов:
➕ Делает это, основываясь на различных метриках, таких как использование памяти, приоритет процесса и т.д. Обычно он выбирает процессы с наибольшим использованием памяти или процессы с низким приоритетом.
Причины возникновения
1️⃣ Неоптимизированное программное обеспечение:
➕ Приложения могут потреблять больше памяти, чем необходимо, из-за утечек памяти или неправильного управления ресурсами.
2️⃣ Недостаток ресурсов:
➕ Физическая память системы может быть недостаточной для текущей рабочей нагрузки.
3️⃣ Непредвиденные рабочие нагрузки:
➕ Внезапное увеличение рабочих нагрузок или запуск ресурсовоемких приложений может привести к исчерпанию памяти.
Примеры предотвращения и решения
1️⃣ Мониторинг использования памяти:
➕ Регулярное наблюдение за использованием памяти позволяет своевременно выявлять проблемы. Инструменты, такие как
top, htop, free и vmstat, помогают отслеживать использование памяти.
2️⃣ Настройка swap:
➕ Увеличение размера swap раздела или файла может помочь временно компенсировать нехватку оперативной памяти.
3️⃣ Оптимизация приложений:
➕ Оптимизация кода для снижения потребления памяти и устранение утечек памяти может предотвратить возникновение OOM.
4️⃣ Настройка OOM Killer:
➕ В Linux можно настроить поведение OOM Killer, используя /proc файловую систему и такие параметры, как /proc/sys/vm/oom_adj и /proc/<pid>/oom_score_adj, чтобы контролировать приоритеты завершения процессов.
Пример
Команда free показывает использование оперативной памяти и swap:
free -h
Пример вывода:
total used free shared buff/cache available Mem: 16G 12G 1.5G 512M 2.5G 3G Swap: 4G 2G 2GКоманда
top позволяет наблюдать за процессами в реальном времени и их использованием памяти:
top
OOM (Out of Memory) — это состояние нехватки оперативной памяти, когда система не может выделить память для новых или существующих процессов. Для решения этой проблемы используется OOM Killer, который завершает процессы для освобождения памяти.
ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых🤔 Какой инструмент позволяет централизованно управлять логами в системе?
🌊 Водоворот знаний в Кодовороте
🤿 Погружайся в мир лучших видео уроков по программированию. Каждый день на канале выходит полезный контент. Кодируй своё будущее вместе с нами!
⛓ Подпишись
Как повысить эффективность вебинаров?
Организация продающего вебинара - не простая задача, ведь необходимо предусмотреть множество деталей: удобную дату, вовлекающий контент, методы продвижения и взаимодействия с участниками.
Вебинары от МТС Линк помогают привлекать новых клиентов и увеличивать конверсию из участника в лид. В сервисе доступен анализ поведения пользователей во время вебинара, синхронный перевод, автовебинары и интерактивные инструменты для вовлечения участников.
Делимся методичкой с кейсами, чек-листами и инструкциями для маркетологов, PR и event-менеджеров, чтобы сделать вебинары эффективным инструментом для лидогенерации.
Получите методичку бесплатно на сайте.
Скачать
#реклама 16+
mts-link.ru
О рекламодателе
📌 Какая файловая система бывает с динамическими inode ?
💬 Спрашивают в 13% собеседований
Одной из файловых систем с динамическим управлением inodes является XFS.
XFS и динамическое управление inodes
Это высокопроизводительная файловая система, разработанная для использования в ситуациях, требующих высокой производительности и масштабируемости. Она использует динамическое управление inodes, что позволяет избежать проблем с нехваткой inodes, которые могут возникать в других файловых системах, где количество inodes фиксировано при создании файловой системы.
🤔 Как работает динамическое управление inodes
1️⃣ Динамическое выделение inodes:
➕ В отличие от файловых систем, таких как ext2/ext3/ext4, где количество inodes задается при создании файловой системы и не может быть изменено, XFS выделяет inodes по мере необходимости. Это значит, что файловая система XFS не имеет фиксированного числа inodes при создании.
2️⃣ Адаптация к рабочей нагрузке:
➕ Поскольку inodes выделяются динамически, XFS может лучше адаптироваться к рабочей нагрузке. Например, если на файловой системе создается много мелких файлов, XFS может выделить больше inodes по мере необходимости.
3️⃣ Использование свободного пространства:
➕ Использует свободное пространство файловой системы для хранения inodes. Это позволяет эффективно использовать доступное дисковое пространство и предотвращает ситуацию, когда место на диске еще есть, но новые файлы создать невозможно из-за нехватки inodes.
Для создания файловой системы XFS на диске
/dev/sdX1 используется утилита mkfs.xfs:
mkfs.xfs /dev/sdX1
Проверка использования inodes на XFS
Для этого на файловой системе XFS можно использовать команду df -i:
df -i /mnt/myxfs
Пример вывода:
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sdX1 0 0 0 - /mnt/myxfsНа XFS файловых системах команда
df -i может показывать значения inodes как 0, что указывает на динамическое управление inodes.
Файловая система XFS использует динамическое управление inodes, выделяя их по мере необходимости и позволяя эффективно использовать дисковое пространство. Это предотвращает проблемы с нехваткой inodes, которые могут возникать в файловых системах с фиксированным числом inodes.
ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовыхОчная онлайн-магистратура ИТМО: станьте DevOps-инженером
Онлайн-магистратура «DevOps-инженер облачных сервисов» от Яндекс Практикум
Вы сможете работать DevOps-инженером или SRE в крупных IT-компаниях
В магистратуре вы глубоко погрузитесь в программирование и научитесь создавать стабильную облачную инфраструктуру.
А ещё будете заниматься английским, чтобы было проще устроиться в международную компанию.
Фундаментальные знания, льготы очного студента и практический опыт Яндекса
Подать заявку
#реклама 16+
practicum.yandex.ru
О рекламодателе
🤔 Какой из следующих инструментов используется для управления конфигурациями?
👨💻 Чтобы стать более востребованным перцем в IT индустрии неплохо бы знать английский.
Канал Hello Word в игровом стиле поможет улучшить твой English skill.
🤓У нас ты найдешь:
🟡 Тесты с пропуском слов
🟡 Мемы на английском
🟡 Полезные шпаргалки для изучения
😎 Расширяй свои навыки и покоряй начинай покорять западную индустрию.
Испытай свои знания и попробуй пройти тест.
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
📌 Чем DevOps отличается от Agile ?
💬 Спрашивают в 13% собеседований
DevOps и Agile — это два различных подхода к разработке и доставке программного обеспечения, хотя они часто используются вместе. Оба подхода имеют свои цели и методы, которые могут дополнять друг друга, но фокусируются на разных аспектах разработки.
Agile
Это методология разработки программного обеспечения, которая акцентирует внимание на гибкости, скорости и итеративном подходе к разработке. Основные принципы Agile изложены в Манифесте Agile, который включает четыре ключевых ценности и двенадцать принципов.
Основные характеристики:
1️⃣ Итеративный и инкрементальный подход:
➕ Проект делится на небольшие итерации, каждая из которых заканчивается выпуском работающего программного продукта.
2️⃣ Коллективная работа и коммуникация:
➕ Акцент на тесное взаимодействие между членами команды и с заказчиком.
3️⃣ Адаптивное планирование:
➕ Возможность быстро адаптироваться к изменениям требований в ходе проекта.
4️⃣ Постоянное улучшение:
➕ Регулярные ретроспективы для анализа и улучшения процесса разработки.
Примеры:
➕ Scrum: Подход, основанный на спринтах, регулярных встречах (ежедневные stand-up, спринт-планирование, ретроспективы) и определенных ролях (Scrum Master, Product Owner, команда разработки).
➕ Kanban: Метод, ориентированный на визуализацию рабочего процесса и управление потоком задач.
DevOps
Это культурный и методологический подход, направленный на интеграцию и сотрудничество между командами разработки (Dev) и эксплуатации (Ops) для более быстрой и надежной доставки программного обеспечения.
Основные характеристики:
1️⃣ Автоматизация:
➕ Автоматизация процессов сборки, тестирования, развертывания и мониторинга.
2️⃣ Непрерывная интеграция и доставка (CI/CD):
➕ Практика частой интеграции кода и его автоматического развертывания на различных средах (разработка, тестирование, продакшн).
3️⃣ Инфраструктура как код (IaC):
➕ Управление инфраструктурой через код для обеспечения репликации и масштабирования сред.
4️⃣ Мониторинг и логирование:
➕ Постоянный мониторинг приложений и инфраструктуры для быстрого обнаружения и устранения проблем.
5️⃣ Культурное изменение:
➕ Сдвиг в культуре организации для улучшения сотрудничества между командами разработки и эксплуатации.
Примеры:
➕ Jenkins: Инструмент для автоматизации CI/CD.
➕ Docker: Платформа для контейнеризации приложений.
➕ Kubernetes: Система оркестрации контейнеров.
➕ Terraform: Инструмент для управления инфраструктурой как кодом.
➕ Prometheus и Grafana: Инструменты для мониторинга и визуализации данных.
Основные различия
1️⃣ Фокус:
➕ Agile: Сосредоточен на процессе разработки и управлении изменениями требований через итерации и инкременты.
➕ DevOps: Сосредоточен на всей цепочке создания стоимости — от разработки до развертывания и эксплуатации, обеспечивая быструю и стабильную доставку программного обеспечения.
2️⃣ Команды и роли:
➕ Agile: Включает роли, такие как Product Owner, Scrum Master и команда разработки.
➕ DevOps: Включает разработчиков, специалистов по эксплуатации, инженеров по автоматизации и других, кто работает над интеграцией и доставкой.
3️⃣ Процессы и инструменты:
➕ Agile: Использует методологии, такие как Scrum и Kanban, для управления процессом разработки.
➕ DevOps: Использует инструменты и практики для автоматизации и мониторинга всего жизненного цикла приложения.
4️⃣ Цели:
➕ Agile: Ускорить процесс разработки, улучшить взаимодействие внутри команды и с заказчиком.
➕ DevOps: Ускорить и автоматизировать процесс доставки программного обеспечения, улучшить качество и надежность выпускаемых продуктов, а также обеспечить непрерывное развертывание и мониторинг.
Agile — это методология разработки, фокусирующаяся на итеративном подходе и гибкости, а DevOps — это культурный и методологический подход, направленный на интеграцию разработки и эксплуатации для обеспечения быстрой и надежной доставки программного обеспечения.
ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых
🤔 Какой инструмент CI/CD используется для автоматизации тестирования и развертывания?
📌 Как сирота отличается от зомби процесса ?
💬 Спрашивают в 13% собеседований
Сиротский процесс (orphan process) и зомби-процесс (zombie process) представляют собой два разных состояния процессов в операционной системе Unix/Linux. Давайте рассмотрим, в чем их отличие.
Сиротский процесс
Это процесс, чей родительский процесс завершился до того, как завершился сам процесс. В этом случае сиротский процесс автоматически принимается на попечение процессом
init (PID 1) или systemd, который становится его новым родителем. init или systemd затем отслеживает такие процессы и выполняет wait(), чтобы предотвратить появление зомби-процессов.
1️⃣ Процесс A создает процесс B.
2️⃣ Процесс A завершается, пока процесс B еще выполняется.
3️⃣ Процесс B становится сиротским и его родителем становится init или systemd.
Зомби-процесс
Это процесс, который завершился, но его запись в таблице процессов все еще существует, потому что его родительский процесс не вызвал системный вызов wait() для получения кода завершения и других данных. Зомби-процессы не используют системные ресурсы, кроме записи в таблице процессов, но если родительский процесс не выполняет wait(), то такие записи могут накапливаться.
1️⃣ Процесс A создает процесс B.
2️⃣ Процесс B завершается.б
3️⃣ Процесс A не вызывает wait(), чтобы забрать статус завершения процесса B.
4️⃣ Процесс B остается в состоянии зомби.
Отличия:
1️⃣ Состояние родительского процесса:
➕ Сиротский процесс: Родительский процесс завершился до завершения дочернего процесса
➕ Зомби-процесс: Дочерний процесс завершился, но родительский процесс не вызвал wait(), чтобы забрать статус завершения.
2️⃣ Состояние дочернего процесса:
➕ Сиротский процесс: Процесс продолжает выполняться и получает нового родителя (init или systemd).
➕ Зомби-процесс: Процесс уже завершился, но запись о нем все еще существует в таблице процессов.
3️⃣ Ресурсы:
➕ Сиротский процесс: Использует системные ресурсы как обычный процесс.
➕ Зомби-процесс: Не использует системные ресурсы, кроме записи в таблице процессов.
Сиротский процесс — это процесс, чей родитель завершился, и он был передан под управление init или systemd. Зомби-процесс — это завершившийся процесс, запись о котором все еще существует, потому что родительский процесс не вызвал wait().
ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовыхОптимизируйте свой бизнес с Электропогрузчиками YETT!
⚡Электрические погрузчики YETT: Ваш новый стандарт в логистике!
Столкнулись с шумом, загрязнением и затратами на обслуживание дизельных погрузчиков?
Ваши сотрудники жалуются на неудобства и плохое качество воздуха в закрытых помещениях?
✅Вилочные электропогрузчики YETT! Бесшумные двигатели, отсутствие выхлопных газов и долгий срок службы аккумуляторов. Удобное управление, надежность и высокая производительность. Аварийный выключатель, звуковой сигнал и регулируемое сиденье оператора обеспечат комфорт и безопасность.
✅Замените устаревшую технику на YETT и наслаждайтесь тишиной и чистотой!
📞Закажите сейчас и почувствуйте разницу!
Перейти на сайт
#реклама
advanta-m.ru
О рекламодателе
🤔 Какой инструмент используется для управления инфраструктурой в виде кода (IaC)?
📌 Как убить зомби процесс ?
💬 Спрашивают в 13% собеседований
Зомби-процесс (или дефункциональный процесс) — это процесс, который завершился, но его запись еще не была удалена из таблицы процессов, так как родительский процесс не прочитал его статус с помощью системного вызова
wait(). Не используют системные ресурсы, кроме записи в таблице процессов, но могут стать проблемой, если их слишком много.
Удаление зомби-процесса
Напрямую это сделать невозможно, так как он уже завершен. Вместо этого необходимо воздействовать на его родительский процесс, чтобы тот выполнил wait() и освободил запись зомби-процесса.
Шаги:
1️⃣ Найти родительский процесс зомби-процесса:
Сначала нужно определить идентификатор (PID) и его родительского процесса (PPID).
ps aux | grep 'Z'
Пример вывода:
user 1234 0.0 0.0 0 0 ? Z 13:00 0:00 [my_zombie_process] <defunct>
В данном примере 1234 — это PID зомби-процесса. 2️⃣ Найти родительский процесс (PPID): Чтобы узнать родительский процесс, используйте команду ps -o ppid=:
ps -o ppid= -p 1234
Пример вывода:
5678
Здесь 5678 — это PID родительского процесса. 3️⃣ Перезапустить или завершить родительский процесс: ➕ Если родительский процесс важен и его нельзя завершить, попробуйте его перезапустить. Это может вызвать выполнение wait(), и зомби-процесс будет очищен. ➕ Если перезапуск невозможен или не помогает, можно попытаться завершить родительский процесс. Используйте команду kill для этого:
sudo kill -HUP 5678
Команда kill -HUP отправляет сигнал перезапуска родительскому процессу, что может вызвать выполнение wait(). Если это не помогает, можно использовать сигнал SIGTERM или SIGKILL:
sudo kill -TERM 5678
sudo kill -KILL 5678
Внимание: Прежде чем завершать родительский процесс, убедитесь, что это не повредит системе или важным службам.
1️⃣ Найти все зомби-процессы:
ps aux | grep 'Z'
2️⃣ Для каждого зомби-процесса найти его PPID:
ps -o ppid= -p <PID_зомби>
3️⃣ Перезапустить или завершить родительский процесс:
sudo kill -HUP <PPID>
Если это не помогает:
sudo kill -TERM <PPID>
sudo kill -KILL <PPID>
Зомби-процесс — это завершившийся процесс, запись которого не удалена, так как родительский процесс не выполнил wait(). Чтобы удалить зомби-процесс, нужно воздействовать на его родительский процесс.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых