DevOps | Вопросы собесов
Open in Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Show more5 560
Subscribers
-124 hours
-147 days
-1230 days
Posts Archive
🤔 Как работает NAT?
NAT (Network Address Translation):
- Преобразует внутренние IP-адреса в один внешний IP.
- Позволяет многим устройствам пользоваться Интернетом через один адрес.
- Типы:
- SNAT — исходящий трафик (от локального к Интернету).
- DNAT / Port forwarding — входящий трафик (от Интернета к устройству).
- Обеспечивает безопасность и экономию IP-адресов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Методичка: как сделать онлайн-встречи эффективнее
Надоело ждать коллег, которые постоянно забывают о встречах, а отсутствие повестки и потерянные договоренности мешают нормально работать?
Команда МТС Линк собрала на 37 страницах полезные материалы, чек-листы и кейсы, которые помогают компаниям проводить эффективные совещания в онлайне с помощью сервиса Встречи.
Из методички узнаете:
- Как создать постоянную ссылку и подключаться на встречи в 2 клика,
- Как делать заметки и работать с файлами, не переживая за качество связи и безопасность данных.
- Как облегчает жизнь ИИ, который расшифровывает созвоны в текст и автоматически отправляет расшифровку на почту.
Еще в методичке описаны 7 способов оценки текущей эффективности ваших онлайн-встреч.
Получить гайд можно бесплатно на сайте.
Скачать
#реклама 16+
mts-link.ru
О рекламодателе
🤔 Какая разница между deployment и stateful set?
Это контроллеры, используемые для управления подами, но они предназначены для различных типов приложений и имеют разные функции. Разница между ними связана с тем, как они управляют жизненным циклом подов, сетевой идентичностью, постоянством данных и порядком развертывания.
🚩Что такое Deployment?
Используется для управления статическими или бесстаточными приложениями, где порядок запуска подов, их идентичность и состояние не имеют значения.
🟠Бесстаточные приложения
Примеры: веб-серверы, микросервисы, обработка очередей. Каждый под одинаков, и потеря одного из них не нарушает работу приложения.
🟠Порядок развертывания
Поды запускаются и удаляются в любом порядке. Если под удаляется, создается новый с другой идентичностью.
🟠Сетевой доступ
Поды доступны через Service, но они не сохраняют фиксированные сетевые имена.
🟠Обновления
Поддерживает обновления без простоя (rolling updates). Умеет откатываться на предыдущую версию.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21.6
🚩Что такое StatefulSet?
Используется для управления состоянием и обеспечивает упорядоченность и идентичность подов. Это важно для приложений, где требуется сохранение данных, стабильные идентификаторы или порядок операций.
🟠Состояние приложения
Примеры: базы данных (MySQL, PostgreSQL), системы очередей (Kafka), распределенные системы (Cassandra, Elasticsearch). Каждый под имеет уникальный идентификатор и связан с определенным хранилищем данных.
🟠Порядок развертывания
Поды запускаются, обновляются и удаляются строго в определенном порядке (0, 1, 2...). Это важно для приложений, где один узел должен быть доступен перед запуском другого.
🟠Сетевой доступ
Каждый под имеет фиксированное имя (например, pod-0, pod-1), что упрощает взаимодействие между подами.
🟠Обновления
Выполняются поэтапно, с учетом порядка.
🟠Постоянство данных
Поды используют PersistentVolumeClaim (PVC) для сохранения данных. Даже если под удален, данные остаются на диске и доступны после повторного запуска.
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql
spec:
serviceName: "mysql-service"
replicas: 3
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
volumeClaimTemplates:
- metadata:
name: mysql-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
🚩Когда использовать что?
🟠Используйте `Deployment`
Бесстаточное. Требует быстрой масштабируемости. Не зависит от порядка запуска подов.
🟠Используйте `StatefulSet`
Требует сохранения данных между перезапусками. Зависит от фиксированной идентичности подов. Требует упорядоченного запуска или удаления.
Ставь 👍 и забирай 📚 Базу знанийКурсы JAVA-разработки Гарантия ЗП от 120 000р в договоре
Jаvа — это язык, на котором строятся банковские системы, мобильные приложения, крупные веб-сервисы и многое другое, а спрос на Jаvа-разработчиков стабильно высок. Благодаря кроссплатформенности и надежности, ты сможешь работать в любой сфере IТ — от финансов до Коммерческой отрасли.📊💰
Почему это работает?✨
- Минимальные вложения.
- Тысячи человек уже в IТ. Наши выпускники работают в крутых компаниях: от стартапов до международных корпораций.
- Наши менторы — это опытные разработчики, которые ежедневно работают в IТ и готовы делиться актуальными знаниями.
P.S. Если всё ещё сомневаешься и думаешь что будет сложно — просто попробуй.😊
Мы берем на себя все риски: ты оплачиваешь основную стоимость обучения только после успешного трудоустройства — это закреплено в договоре.
Подать заявку
#реклама 16+
kata.academy
О рекламодателе
🤔 Почему плохо делать ключом массив байтов в HashMap?
Потому что:
- Массив в Java не переопределяет equals() и hashCode(), сравнение идёт по ссылке.
- Это приведёт к тому, что два массива с одинаковыми значениями будут считаться разными ключами.
- Лучше использовать ByteBuffer.wrap(byte[]) или вручную реализовать equals/hashCode.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
27 мая в 11.00 | Вебинар по миграции на Directum RX
🏃♂️ Бегом на интенсив от экспертов AUXO и Directum!
Расскажем, как мигрировать с иностранной СЭД, избежать ошибок и не потерять данные.
Все подробности по ссылке 👍
Зарегистрироваться
#реклама 16+
auxo-it.ru
О рекламодателе
🤔 Удалил файлы, но место не очищается, в чем дело?
Если вы удалили файлы, но место на диске не освободилось, это может происходить по нескольким причинам.
🚩Файл все еще используется процессом
Если файл удален, но он открыт каким-либо процессом, его содержимое остается в памяти или файловой системе до завершения работы этого процесса. Это называется "удаление с дескриптором".
🟠Как проверить:
Используйте команду
lsof (list open files), чтобы найти процессы, удерживающие файл
lsof | grep deleted
🟠Как исправить
Перезапустите процесс или завершите его с помощью kill:
kill -9 <PID>
🚩Файл удален, но он находился в другом файловом пространстве
Например:
- Файл был удален внутри Docker-контейнера, но место занято в образе.
- Файл находился на смонтированном диске, и удаление произошло в другом контексте.
🟠Как проверить
Убедитесь, что вы работаете в правильной файловой системе:
df -h
🟠Как исправить
Убедитесь, что удаление происходит в нужной директории или файловой системе.
🚩Файл был удален из директории, но находится в другой ссылке (hard link)
Если файл имеет несколько жестких ссылок, удаление одного из них не освободит место до тех пор, пока не удалены все ссылки.
🟠Как проверить
Используйте команду find, чтобы найти оставшиеся ссылки:
find / -samefile <имя_файла>
🟠Как исправить
Удалите все ссылки на файл.
🚩Файл был удален, но находился в файловой системе с квотой
Если используется файловая система с ограничением (например, квоты пользователей или групп), возможно, квота пользователя исчерпана, и это мешает очистке.
🟠Как проверить
Проверьте квоты:
quota -u <username>
🟠Как исправить
Убедитесь, что квоты настроены правильно, или освободите больше места.
🚩Кэшированные данные или временные файлы
Иногда удаленные файлы остаются в виде кэша, временных данных или не удаляются из корзины.
🟠Как проверить
Очистите кэш или проверьте корзину. Например, для очистки временных файлов
sudo du -sh /tmp
sudo rm -rf /tmp/*
🟠Как исправить
Удалите временные файлы, очистите кэш:
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches
Ставь 👍 и забирай 📚 Базу знанийСовременное образование в Moscow Business School
Moscow Business School — это учебный центр, в котором каждый может повысить профессиональные навыки. С 2007 года мы обучаем по авторским курсам и программам МВА, создаем тренинги и проводим тимбилдинги
⚡ О НАС:⚡
--> Ведущая бизнес-школа России с более чем 15-летним опытом
--> Источник новых знаний, смыслов и компетенций
--> 800+ образовательных программ обучения
--> Современные онлайн и оффлайн курсы
--> Команда из 700+ управленцев, менеджеров, тренеров и практиков
--> 40+ программ MBA и Executive MBA с уникальной российской экспертизой
--> ТОПовые направления повышения квалификации
--> 20 000 слушателей ежегодно
Узнать больше
#реклама
mbschool.ru
О рекламодателе
🤔 Одним словом, как называются все сущности в Python?
Объекты. Всё в Python — объект: функции, переменные, типы, модули.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Работа в IT: лучшие проекты на SkillStaff!
Ищешь пространство для творческого роста и новые вызовы в карьере?
✅ SkillStaff – это платформа для IT-специалистов, маркетологов и дизайнеров, которые стремятся найти идеальную работу.
Мы предлагаем тебе возможность работать на интересных проектах и развивать свои навыки 👍
🗒 Регистрация на SkillStaff открывает тебе доступ к сообществу профессионалов, стремящихся к развитию.
👌 Мы поможем тебе находить проекты, которые соответствуют твоим знаниям и интересам.
Не упусти возможность развивать свою карьеру!
Присоединяйтесь к SkillStaff прямо сейчас!
Перейти на сайт
#реклама
skillstaff.ru
О рекламодателе
🤔 Как мы можем поменять последовательное выполнение таски плейбука на машинах в параллельное?
По умолчанию Ansible выполняет задачи последовательно, но можно ускорить выполнение с помощью параметра
forks или асинхронных задач (async).
🚩Увеличение параллельных подключений (`forks`)
forks – это количество серверов, на которых Ansible выполняет задачи одновременно.
ansible-playbook -i inventory.ini playbook.yml --forks=10
Установить forks в ansible.cfg:
[defaults]
forks = 10
🚩Асинхронное выполнение (`async` + `poll`)
Если задача выполняется долго, ее можно запустить асинхронно и не ждать завершения.
Пример асинхронного выполнения установки пакета
- name: Установить nginx параллельно
apt:
name: nginx
state: present
async: 300
poll: 0
async: 300 – запускает задачу и дает ей 300 секунд на выполнение
poll: 0 – не ждет завершения, сразу переходит к следующей
Проверить статус запущенных задач:
ansible all -m async_status -a "jid=1234567890" -i inventory.ini
🚩Использование `&` в Shell-командах (`shell` + `nohup`)
Пример запуска задачи в фоновом режиме
- name: Запустить долгий процесс
shell: "nohup long_script.sh &"
Ставь 👍 и забирай 📚 Базу знанийВысшее образование дистанционно в Московском ВУЗе
Вы мечтаете получить высшее образование, но не сдали ЕГЭ или получили низкие баллы? У нас есть решение для вас!
Институт Международных Экономических Связей предлагает дистанционное обучение , которое позволяет получать качественные знания из любой точки мира по 10+ направлениям обучения.
✅ Государственный диплом без отметки о дистанте
✅ Удобный личный кабинет студента
✅ Поддержка кураторов на каждом этапе обучения
✅ Можно поступить без ЕГЭ
Узнать больше
#реклама 16+
imes.su
О рекламодателе
🤔 Что порождает init-процесс?
Init создаётся ядром ОС после загрузки, и он порождает все остальные процессы, в том числе системные службы и пользовательские сессии. Его PID всегда равен 1. В контейнерах тоже может быть свой init, чтобы обрабатывать сигналы и управлять дочерними процессами.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤖 Топ 4 ИИ-сервиса, которые освободят тебе 30 часов в неделю.
Бесплатно + без регистрации
Попробовать можно тут 👉 t.me/vistehno
Регистрируйтесь на вебинар SIEM UserGate
💻Расскажет о том, как экосистема и SIEM UserGate помогает бороться с фишинговыми атаками в рамках демонстрации конкретного кейса.
На вебинаре будет:
- Вступительное слово
- Экспертиза UserGate и сценарий конкретного кейса
- Демонстрация кейса защиты от фишинговой атаки
- Ответы на вопросы
👌Расскажем, как защитить вашу компанию.
Регистрируйтесь — будет интересно!
Зарегистрироваться
#реклама 16+
webinar.usergate.com
О рекламодателе
🤔 Когда вы создаёте файл какие права создаются по умолчанию?
Права доступа по умолчанию зависят от базовых прав доступа и значения
umask. Базовые права доступа — это значения, которые система использует для определения разрешений перед применением маски umask.
🟠Файлы: 666 (rw-rw-rw-)
Это означает, что по умолчанию все пользователи могут читать и записывать в файл.
🟠Каталоги: 777 (rwxrwxrwx)
Это означает, что по умолчанию все пользователи могут читать, записывать и выполнять (заходить) в каталог.
🚩Значение umask: 022
Это маска, которая определяет, какие права будут отключены при создании нового файла или каталога. Значение umask указывается в восьмеричной системе счисления.
🟠Создание файла
Базовые права доступа: 666
Значение umask: 022
Окончательные права доступа: 666 - 022 = 644 (rw-r--r--)
🟠Создание каталога
Базовые права доступа: 777
Значение umask: 022
Окончательные права доступа: 777 - 022 = 755 (rwxr-xr-x)
🚩Создание файла с umask 0022
1⃣Установка umask
umask 0022
2⃣Создание файла
touch myfile
3⃣Проверка прав доступа
ls -l myfile
Вывод
Права доступа: 644 (rw-r--r--)
-rw-r--r-- 1 user user 0 Jul 26 12:00 myfile
🚩Создание каталога с umask 0027
1⃣Установка umask
umask 0027
2⃣Создание каталога
mkdir mydir
3⃣Проверка прав доступа
ls -ld mydir
Вывод
Права доступа: 750 (rwxr-x---)
drwxr-x--- 2 user user 4096 Jul 26 12:00 mydir
🚩Дополнительные замечания
🟠umask в скриптах
Вы можете установить umask в скрипте для задания прав доступа по умолчанию для всех создаваемых файлов и каталогов.
#!/bin/bash
umask 027
touch file1
mkdir dir1
🟠Проверка прав доступа в разных ситуациях
Для файлов: По умолчанию права доступа 666 минус umask.
Для каталогов: По умолчанию права доступа 777 минус umask.
Ставь 👍 и забирай 📚 Базу знанийCallSmart - контроль качества звонков и встреч с AI
📞 Сотни звонков в день — а конверсии стоят на месте?
CallSmart подключает ИИ к вашим звонкам и встречам: он находит слабые места в скриптах, фиксирует ошибки менеджеров и помогает выстроить процессы, которые приносят продажи.📊
Никакой ручной прослушки, только точная аналитика.
Экономьте ресурсы и масштабируйтесь быстрее.
✅ 20 звонков — бесплатно, чтобы вы сразу увидели эффект.
Перейти на сайт
#реклама 16+
callsmart.ru
О рекламодателе
🤔 Что такое sidecar и зачем он нужен?
Sidecar — это дополнительный контейнер, запускаемый рядом с основным контейнером в одном поде. Он используется для таких задач, как сбор логов, метрик, проксирование трафика, монтирование секретов и шифрование.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Получи грант до 1,2 млн руб. на обучение в магистратуре
Хочешь развиваться в сфере ИТ и получить фундаментальные знания с практикой?
Поступай в магистратуру Центрального университета!
- 4 офлайн программы по востребованным направлениям ИТ
- Онлайн-программа по машинному обучению
- 300 мест с грантами до 1,2 млн руб.
- Вечерние занятия и учеба по выходным — удобно совмещать с работой
- Обучение по модели STEM-образования: на стыке науки, технологий и бизнеса
- Возможность стажировок и трудоустройства в ведущих компаниях
- Государственный диплом за 2 года
Магистратура в Центральном университете — это современный подход к образованию, сильный преподавательский состав и актуальные кейсы от индустрии.
Оставляй заявку на грант уже сейчас!
Подать заявку
#реклама 16+
apply.centraluniversity.ru
О рекламодателе
🤔 Где хранятся данные о группах которые существуют в системе?
В 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
Ставь 👍 и забирай 📚 Базу знаний