DevOps | Вопросы собесов
Kanalga Telegram’da o‘tish
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+2P7cpjeyfDVlZjcy Вакансии t.me/+i5KFWEWJ21hhYWEy
Ko'proq ko'rsatish5 502
Obunachilar
-324 soatlar
-107 kunlar
-530 kunlar
Postlar arxiv
🤔 Чем 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 пайплайнов, чтобы каждая итерация разработки могла быть быстро и надежно развернута на серверы.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Какие протоколы знаешь?
Протоколы: TCP (надежная передача данных), UDP (быстрая и ненадёжная), HTTP/HTTPS (веб-протоколы), FTP (передача файлов), SMTP/IMAP/POP3 (почтовые протоколы), WebSocket (двусторонняя связь) и DNS (разрешение имён).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как вы думаете почему редис используют с mongobd, а не постгрес например?
Redis часто используется вместе с MongoDB по нескольким причинам, связанным с их совместимостью, функциональными возможностями и типами данных, которые они поддерживают. Ниже приведены основные причины, почему эта комбинация предпочтительнее в некоторых сценариях.
🟠Совместимость и дополнение функциональности
MongoDB — это документно-ориентированная база данных, оптимизированная для хранения и управления JSON-подобными документами. Она хорошо подходит для хранения сложных данных и поддерживает гибкую схему.
Redis — это база данных в памяти, которая используется для высокопроизводительного кэширования и обработки данных. Она поддерживает различные структуры данных, такие как строки, списки, множества и хэши. Эти два инструмента дополняют друг друга, предлагая сочетание долговременного хранения данных (MongoDB) и быстрого доступа к данным (Redis).
PostgreSQL — это реляционная база данных с расширенными возможностями, такими как поддержка транзакций, строгая схема и ACID-соответствие. Она хорошо подходит для сложных запросов и аналитики.
🟠Типы данных и схемы
Гибкая схема MongoDB позволяет легко изменять структуру данных без сложных миграций. MongoDB отлично работает с JSON-документами, что делает его удобным для хранения полуструктурированных данных.
Redis поддерживает различные структуры данных, такие как списки, множества, сортированные множества и хэши, что делает его идеальным для использования в качестве кэша и обработки данных в реальном времени.
🟠Производительность и масштабируемость
Redis работает в памяти, что обеспечивает очень высокую скорость чтения и записи. Это делает его идеальным для кэширования и временного хранения данных, которые требуют быстрого доступа. Redis может обрабатывать большое количество операций в секунду, что делает его подходящим для высоконагруженных систем.
MongoDB масштабируется горизонтально, что позволяет эффективно управлять большими объемами данных. Поддержка шардинга в MongoDB позволяет распределять данные по нескольким узлам, улучшая производительность и отказоустойчивость.
🟠Кэширование и обработка данных в реальном времени
Redis часто используется для кэширования результатов запросов из MongoDB. Это снижает нагрузку на MongoDB и улучшает производительность системы. Redis может использоваться для хранения сессий пользователей, очередей задач и других временных данных, которые требуют быстрого доступа и обновления.
🚩Примеры использования
🟠Кэширование
Использование Redis для кэширования часто запрашиваемых данных из MongoDB. Например, результаты сложных запросов или часто используемые документы могут храниться в Redis для быстрого доступа.
import redis
from pymongo import MongoClient
# Подключение к Redis и MongoDB
redis_client = redis.StrictRedis(host='localhost', port=6379, db=0)
mongo_client = MongoClient('localhost', 27017)
db = mongo_client['example_db']
collection = db['example_collection']
# Получение данных из Redis
data = redis_client.get('key')
if not data:
# Если данных нет в Redis, получить их из MongoDB
data = collection.find_one({'_id': 'key'})
# Сохранить данные в Redis для кэширования
redis_client.set('key', data)
Ставь 👍 и забирай 📚 Базу знаний🤔 Где лучше всего хранить state?
State лучше хранить в управляемых внешних хранилищах, таких как базы данных или распределённые системы (Redis, Consul). Это упрощает масштабирование и сохраняет данные при перезапуске контейнеров. Использование локального хранилища не рекомендуется из-за рисков потери данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
📺 Уникальная база записей IT собеседований
300+ записей реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы.
Записи собесов от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д.
🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство!
У тебя есть запись собеседования? Мы готовы ее купить и заплатим до 3000 руб. за каждую
+5
Надежная IT-инфраструктура для бизнеса от Selectel.
Комплексные IaaS-решения для всех уровней бизнеса.
- Выделенные серверы
- Облачные серверы
- Объектное хранилище
- Мобильная ферма
- DBaaS и Managed Kubernetes
- 1С в облаке
Перейти на сайт
#реклама 16+
selectel.ru
О рекламодателе
🤔 Что нужно сделать чтобы после того как вы создали репозиторий с этим репозиторием можно было работать?
После создания нового репозитория, будь то локальный или удаленный, необходимо выполнить несколько шагов для начала полноценной работы с ним. Эти шаги включают инициализацию репозитория, настройку удаленного репозитория, добавление файлов, коммит и настройку синхронизации с удаленным репозиторием.
🚩Основные шаги
1⃣Создание нового репозитория
Перейдите на GitHub и войдите в свой аккаунт. Нажмите на кнопку "New" для создания нового репозитория. Введите имя репозитория, описание (опционально), выберите публичный или приватный доступ, инициализируйте с README (если нужно). Нажмите "Create repository".
2⃣Клонирование или инициализация репозитория
Если репозиторий уже существует на GitHub
git clone https://github.com/yourusername/your-repository.git
cd your-repository
Если вы создаете новый локальный репозиторий
mkdir your-repository
cd your-repository
git init
3⃣Добавление файлов и коммит начального состояния
Создайте или добавьте файлы
echo "# Your Repository" > README.md
Добавьте файлы в индекс
git add README.md
Сделайте первый коммит
git commit -m "Initial commit"
4⃣Настройка удаленного репозитория
Если вы инициализировали локальный репозиторий, вам нужно настроить удаленный репозиторий.
git remote add origin https://github.com/yourusername/your-repository.git
5⃣Пуш изменений в удаленный репозиторий
Отправьте ваши изменения в удаленный репозиторий
git push -u origin master
🚩Дополнительные шаги для совместной работы
1⃣Создание веток
Для разработки новых функций или исправлений багов рекомендуется создавать отдельные ветки
git checkout -b feature-branch
2⃣Создание Pull Request (PR)
После завершения работы в ветке создайте Pull Request на GitHub для обзора и слияния.
3⃣Настройка файлов `.gitignore`
Добавьте файл .gitignore для исключения ненужных файлов из коммитов.
echo "node_modules/" > .gitignore
git add .gitignore
git commit -m "Add .gitignore"
4⃣Настройка CI/CD
Подключите сервисы Continuous Integration/Continuous Deployment, такие как GitHub Actions, Travis CI или Jenkins, для автоматизации тестирования и развертывания.
# Пример файла .github/workflows/ci.yml для GitHub Actions
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- run: npm install
- run: npm test
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое Kubernetes?
Kubernetes — это система оркестрации контейнеров, автоматизирующая развертывание, управление и масштабирование приложений. Она управляет группами контейнеров (подами) и их состоянием. Kubernetes позволяет эффективно использовать ресурсы и обеспечивает высокую доступность.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Откройте подписку на Кинопоиск и Музыку за 1₽
Ответьте на 1 вопрос и получите в подарок доступ к Кинопоиску, Музыке и Книгам на 60 дней за 1 рубль.
✨ Сервисы будут доступны не только для Вас, но и для трёх ваших близких
Попробовать
#реклама 18+
kinopoisk.ru
О рекламодателе
Реклама на Яндексе
🤔 В каких случаях будете использовать foreach а в каких count приведите пример?
В Terraform,
for_each и count используются для создания нескольких экземпляров ресурсов на основе списка значений или карты (map). Выбор между ними зависит от структуры данных и конкретного сценария использования.
🚩count
count используется для создания фиксированного количества экземпляров ресурса на основе числового значения. Это простой способ создания ресурсов, если количество экземпляров известно заранее и не зависит от ключей или других атрибутов.
Сценарий: Создание трех экземпляров виртуальных машин с одинаковой конфигурацией.
resource "aws_instance" "example" {
count = 3
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "example-instance-${count.index}"
}
}
🚩for_each
for_each используется для создания ресурсов на основе ключей карты (map) или множества (set). Это позволяет более гибко управлять созданием ресурсов и ссылаться на конкретные экземпляры по их ключам.
Сценарий: Создание экземпляров виртуальных машин с разными конфигурациями на основе карты значений.
locals {
instances = {
instance1 = { ami = "ami-0c55b159cbfafe1f0", instance_type = "t2.micro" }
instance2 = { ami = "ami-0c55b159cbfafe1f0", instance_type = "t2.small" }
instance3 = { ami = "ami-0c55b159cbfafe1f0", instance_type = "t2.medium" }
}
}
resource "aws_instance" "example" {
for_each = local.instances
ami = each.value.ami
instance_type = each.value.instance_type
tags = {
Name = each.key
}
}
🚩Когда использовать `count`
🟠Фиксированное количество ресурсов
Если количество экземпляров известно заранее и одинаково для всех экземпляров.
🟠Простые сценарии
Когда все экземпляры имеют одинаковую конфигурацию или различия минимальны.
Создание трех одинаковых экземпляров S3 бакетов.
resource "aws_s3_bucket" "example" {
count = 3
bucket = "example-bucket-${count.index}"
}
🚩Когда использовать `for_each`
🟠Динамическое создание ресурсов
Если количество экземпляров и их конфигурация зависят от динамически определяемых данных.
🟠Работа с ключами
Когда нужно использовать ключи для идентификации и управления экземплярами ресурсов.
Создание IAM пользователей с различными именами и политиками.
locals {
users = {
alice = "arn:aws:iam::aws:policy/AdministratorAccess"
bob = "arn:aws:iam::aws:policy/ReadOnlyAccess"
}
}
resource "aws_iam_user" "example" {
for_each = local.users
name = each.key
path = "/users/"
}
resource "aws_iam_user_policy_attachment" "example" {
for_each = local.users
user = aws_iam_user.example[each.key].name
policy_arn = each.value
}
Ставь 👍 и забирай 📚 Базу знанийМосквич 3
Современный городской кроссовер Москвич 3 за 17 500 рублей в месяц. Подробности уточняйте на официальном сайте moskvich.ru
Перейти на сайт
#реклама
moskvich.ru
О рекламодателе
🤔 Что вы выберете между Terraform и opentofu?
Это инструменты для управления инфраструктурой как кодом (IaC), которые помогают автоматизировать развертывание, управление и масштабирование ресурсов в облачных и локальных средах. Оба инструмента имеют свои сильные и слабые стороны. Выбор между ними зависит от конкретных требований и контекста использования.
🚩Terraform
Плюсы
➕Популярность и сообщество
Terraform — это один из самых популярных инструментов IaC с большим сообществом и обширной документацией. Множество готовых модулей и примеров, что облегчает начало работы.
➕Поддержка множества провайдеров
Terraform поддерживает широкий спектр облачных провайдеров и сервисов (AWS, Azure, Google Cloud, и т.д.). Разработчики активно добавляют новые провайдеры и обновляют существующие.
➕Мощная и гибкая конфигурация
Использование HashiCorp Configuration Language (HCL) для написания инфраструктурного кода. Поддержка сложных сценариев развертывания с использованием модулей, переменных и терраформ-рабочих областей.
Минусы
➖Коммерциализация
Некоторые функции доступны только в коммерческой версии Terraform Enterprise. Переход на платные функции может быть дорогостоящим для небольших команд.
➖Сложности с масштабированием
В некоторых случаях могут возникнуть проблемы с производительностью при управлении очень большими инфраструктурами.
🚩OpenTofu (ранее OpenTF)
OpenTofu — это форк Terraform, который возник в ответ на изменения в лицензионной политике HashiCorp.
Плюсы
➕Открытость
OpenTofu полностью открыт и не требует коммерческих лицензий для использования всех функций. Активное сообщество, которое стремится сохранить инструмент полностью свободным.
➕Совместимость с Terraform
OpenTofu сохраняет совместимость с конфигурациями и модулями Terraform, что позволяет легко перейти с Terraform на OpenTofu.
➕Быстрое развитие
Открытое сообщество разработчиков может быстрее внедрять новые функции и исправления.
Минусы
➖Меньшее сообщество
Хотя OpenTofu быстро растет, его сообщество и экосистема пока меньше, чем у Terraform. Ограниченное количество документации и примеров по сравнению с Terraform.
➖Потенциальные риски совместимости
Хотя OpenTofu совместим с Terraform на текущий момент, в будущем могут возникнуть различия в функциональности и поддержке провайдеров.
🚩Выбор инструмента
🟠Когда выбрать Terraform
Если вам нужна стабильность и зрелость инструмента с широким сообществом и обширной документацией. Если ваша инфраструктура уже использует Terraform и вы не хотите менять инструмент. Если вам нужны коммерческие функции Terraform Enterprise для управления и обеспечения безопасности инфраструктуры.
🟠Когда выбрать OpenTofu
Если вы хотите использовать полностью открытый инструмент без коммерческих ограничений. Если вас беспокоят изменения в лицензионной политике HashiCorp и вы хотите избежать потенциальных проблем в будущем. Если вы хотите поддержать открытое сообщество и активно участвовать в развитии инструмента.
Ставь 👍 и забирай 📚 Базу знаний
🤔 Как покрываете Ansible тестами?
Для тестирования Ansible используют инструменты, такие как Molecule, который позволяет создавать тестовые сценарии, запускать плейбуки и проверять их результаты. Также используются статические анализаторы, такие как ansible-lint, для проверки кода на соответствие стандартам. Кроме того, можно применять интеграционные тесты с помощью Docker или виртуальных машин.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Миграция в облако? Это легко!
Собственная инфраструктура устарела или не справляется с нагрузками? Используйте облачные ресурсы! Эксперты Yandex Cloud помогут перейти в облако быстро, легко и безопасно.
✅ Мы полностью сопровождаем процесс.
✅ От вас — только инженер с доступом к инфраструктуре.
✅ Архитектура под ваши задачи, миграция и поддержка на каждом шагу — всё включено.
⚡Переходите в Yandex Cloud и забудьте о старом железе. А если успеете подать заявку до 31 декабря, мы покроем расходы на инженеров и тестовую инфраструктуру.
Подать заявку
#реклама 16+
yandex.cloud
О рекламодателе
Реклама на Яндексе
🤔 Как linux выбирает, какой из процессов завершить?
Она использует механизм, известный как OOM Killer (убийца процессов при нехватке памяти), для завершения процессов с целью освобождения памяти. Выбор процесса для завершения базируется на ряде критериев, чтобы минимизировать влияние на работу системы.
🚩Как работает OOM Killer?
🟠Очки OOM (OOM Score)
Каждому процессу присваиваются очки OOM, которые рассчитываются на основе нескольких факторов, таких как: Объем памяти, используемой процессом. Приоритет процесса. Важность процесса для системы (например, системные демоны имеют более низкие очки).
🟠Формула расчета OOM Score
Основной фактор при расчете очков - это объем потребляемой процессом памяти. Чем больше памяти потребляет процесс, тем выше его OOM Score. Операционная система также учитывает приоритет процесса (nice value) и некоторые другие параметры.
🟠Принудительное завершение
Процесс с наибольшим OOM Score считается наименее критичным для системы и завершается первым.
🚩Пример расчета OOM Score
🟠Вот пример того, как может быть рассчитан OOM Score (упрощенный)
Процесс A использует 1 ГБ памяти.
Процесс B использует 2 ГБ памяти.
Процесс C использует 500 МБ памяти, но это критический системный процесс.
🟠OOM Score для этих процессов может выглядеть так
Процесс A: 300
Процесс B: 600
Процесс C: 100 (низкий, так как процесс критический)
🚩Настройка OOM Killer
Администраторы могут влиять на работу OOM Killer, настраивая параметры OOM Score для конкретных процессов с помощью файлов в каталоге
/proc. Например, для изменения приоритета процесса:
echo -1000 > /proc/<PID>/oom_score_adj
🚩Логирование и мониторинг
При срабатывании OOM Killer соответствующие сообщения записываются в системный журнал (обычно /var/log/syslog или /var/log/messages), что позволяет администраторам анализировать причины и предпринимать меры по предотвращению в будущем.
Ставь 👍 и забирай 📚 Базу знанийПо прогнозам, к 2027 году дефицит ИБ-специалистов достигнет 60 000 человек.
Это сложная ситуация для компаний, которые не могут конкурировать в найме с «гигантами» рынка. Кажется, ИБ-специалиста можно только «перекупить», предложив зарплату побольше.
Можно ли обойтись без «жирных» офферов? Один из путей — подготовка молодых кадров.
Делимся подкастом о том, как начать карьеру в ИБ и почему это сложно:
- Почему вузы не готовят к реальной работе в ИБ?
- Почему выпускники часто не знают, чем заниматься?
- Кто выиграет борьбу молодых — ИБ или разработка?
- Где карьерный рост быстрее: в ИТ или ИБ?
Проблема глазами провайдера SECaaS (Владимир Зайцев из NGENIX) и ИБ-компании (Дмитрий Федоров из Positive Technologies).
Если вы уже столкнулись с дефицитом ИБ-кадров или хотите попасть в кибербез, но не знаете, с чего начать — смотрите видеоподкаст.
#реклама
О рекламодателе
erid: LjN8KG9Ui
🤔 Что такое firewall?
Firewall — это сетевой фильтр, который контролирует входящий и исходящий трафик на основе заданных правил безопасности. Он используется для защиты систем от несанкционированного доступа и обеспечения фильтрации вредоносного трафика.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Лицензионные решения Microsoft доступные в России
Доступные решения к продаже на территории России со сроком подписки 12 месяцев:
- Microsoft Office 365 для бизнеса (Basic, Standard, Premium)
- Office E1, E3, E5, Microsoft F1, F3, F5
- Project Plan 5
- Microsoft Power BI
- Microsoft Dynamics 365
Заполните заявку, чтобы подключить продукт Microsoft
Попробовать
#реклама 16+
cloud4y.ru
О рекламодателе
🤔 Как обеспечить достоверность уведомлений которые вы получаете?
Для того чтобы уведомления были достоверными и надежными, необходимо учитывать несколько важных аспектов.
🟠Тщательная настройка правил алертинга
Правильно настроенные правила алертинга помогают избежать ложных срабатываний и пропусков важных событий.Определите четкие пороговые значения для метрик. Настройте правила так, чтобы они учитывали контекст и временные интервалы (например, CPU usage > 80% в течение 5 минут). Используйте тренды и аномалии вместо статических порогов для более точного алертинга.
🟠Корреляция событий
Объединение нескольких метрик и событий для повышения точности алертов. Настройте алерты, которые срабатывают только при наличии нескольких условий. Используйте системы, такие как Prometheus и Alertmanager, для сложной логики алертинга.
🟠Визуализация и проверка метрик
Использование дашбордов и графиков для визуализации метрик и проверки правильности алертов. Настройте дашборды в Grafana или Kibana для постоянного мониторинга метрик. Регулярно проверяйте данные на предмет аномалий и соответствия реальной картине.
🟠Тестирование алертинга
Периодическое тестирование системы алертинга для проверки ее работоспособности. Вручную вызывайте условия, при которых должны сработать алерты. Настройте тестовые сценарии для автоматической проверки системы алертинга.
🟠Настройка систем уведомлений
Убедитесь, что системы уведомлений настроены правильно и доставляют сообщения своевременно. Используйте надежные каналы уведомлений (например, локальный почтовый сервер, локальные мессенджеры). Настройте резервные каналы уведомлений на случай отказа основного канала.
Ставь 👍 и забирай 📚 Базу знаний
А вы знали что?...
🕵️В Windows есть папка, которая собирает на вас компромат!
Посмотрите видео выше — насколько легко узнать всю информацию о вас
Простых способов узнать о вас практически всё — сотни, и если вы хотите соблюдать хотя бы минимум сетевой гигиены — подпишитесь на IT ВЕДОМСТВО
Они рассказывает о признаках майнеров, как удалить трояны и порно-баннеры за 5 минут
Помимо всего этого, сейчас владелец канала проводит розыгрыш умной колонки, для всех новоприбывших подписчиков
💻 Подписываемся на IT ВЕДОМСТВО — выигрываем призы и соблюдаем цифровую гигиену
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
