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

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

رفتن به کانال در Telegram

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

نمایش بیشتر
5 544
مشترکین
-624 ساعت
+27 روز
+3730 روز
آرشیو پست ها
Изиоффер переходит в публичное бета-тестирование! 🎉 Что нового: 🟢Анализ IT собеседований на основе 4500+ реальных интервью
Изиоффер переходит в публичное бета-тестирование! 🎉 Что нового: 🟢Анализ IT собеседований на основе 4500+ реальных интервью 🟢Вопросы из собеседований с вероятностью встречи 🟢Видео-примеры ответов на вопросы от Senior, Middle, Junior грейдов 🟢Пример лучшего ответа 🟢Задачи из собеседований 🟢Тестовые задания 🟢Примеры собеседований 🟢Фильтрация всего контента по грейдам, компаниям 🟢Тренажер подготовки к собеседованию на основе интервальных повторений и флеш карточек 🟢Тренажер "Реальное собеседование" с сценарием вопросов из реальных собеседований (скоро) 🟢Автоотклики на HeadHunter 🟢Закрытое сообщество easyoffer 💎 Акция в честь открытия для первых 500 покупателей: 🚀 Скидка 50% на PRO тариф на 1 год 🔥 Акция уже стартовала! 👉 https://easyoffer.ru/pro

🤔 Как примонтировать диск? Чтобы использовать новый диск в Linux, его нужно разметить, создать файловую систему и примонтировать. 🚩Разметить диск (`fdisk`) Запустить fdisk для диска sdb
sudo fdisk /dev/sdb
🚩Создать файловую систему (`mkfs`) Форматировать раздел в ext4
sudo mkfs.ext4 /dev/sdb1
Если нужен xfs
sudo mkfs.xfs /dev/sdb1
🚩Автоматическое монтирование при загрузке (`/etc/fstab`) Найти UUID диска
blkid /dev/sdb1
Вывод
/dev/sdb1: UUID="12345678-abcd-1234-efgh-56789abcdef0" TYPE="ext4"
Добавить в /etc/fstab
echo 'UUID=12345678-abcd-1234-efgh-56789abcdef0 /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab
Применить изменения
sudo mount -a
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какими средствами бэкапили виртуалки или куберовские сущности? Для виртуалок — Veeam, Bacula, Proxmox Backup Server, VMware tools. Для Kubernetes — Velero, Kasten K10, Restic, etcd backup. Также можно использовать kubectl get -o yaml для экспорта манифестов и pv snapshot-менеджеры. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Гайд МТС Линк для HRD и HRBP по улучшению онлайн-встреч Как HRD и HRBP сократить отток на адаптации и повысить конверсию в за
Гайд МТС Линк для HRD и HRBP по улучшению онлайн-встреч Как HRD и HRBP сократить отток на адаптации и повысить конверсию в закрытую вакансию? Гайд МТС Линк: 37 страниц полезных материалов, чек-листов и кейсов для ускорения найма, упрощения адаптации и снижения нагрузки на HR-команду с помощью онлайн-встреч. ✅ В гайде: - Как упростить рекрутинг и снизить нагрузку на HR-команду; - Как ускорить адаптацию новичков и сократить отток на испытательном сроке; - Как экономить время на обсуждение кандидатов с помощью ИИ-расшифровки созвонов в текст; - Как системно прокачивать сотрудников разных уровней и отделов с помощью регулярных онлайн-тренингов; - Как снизить текучесть без лишних затрат. Бонус внутри: 5 способов не выгореть от бесконечных синков. ✨ Скачайте гайд бесплатно по ссылке Скачать #реклама 16+ mts-link.ru О рекламодателе

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

🤔 Назови инструменты для развернутого окружения и настройки серверов В DevOps используются разные инструменты для автоматизации развертывания и конфигурации серверов. 🟠Инструменты управления конфигурацией (Configuration Management) Используются для настройки ОС, пакетов, сервисов и приложений. Ansible – прост в освоении, использует SSH, без агентов Puppet – декларативный подход, работает по клиент-серверной модели Chef – использует Ruby DSL, сложнее в настройке SaltStack – быстрый, поддерживает master-minion и режим без мастера
yaml  
- name: Установка Nginx  
  hosts: web  
  tasks:  
    - name: Установить Nginx  
      apt:  
        name: nginx  
        state: present  
🟠Инструменты инфраструктуры как код (IaC) Используются для автоматического развертывания серверов и облачной инфраструктуры. Terraform – лучший выбор для облаков (AWS, GCP, Azure) CloudFormation – инструмент от AWS для управления ресурсами Pulumi – позволяет писать инфраструктуру на Python, TypeScript
hcl  
resource "aws_instance" "web" {  
  ami           = "ami-123456"  
  instance_type = "t2.micro"  
}  
🟠Инструменты управления образами серверов (Image-based Deployment) Используются для создания готовых образов ОС с предустановленным ПО. Packer – создает образы для AWS AMI, Docker, VMware Docker – контейнеризация для изолированных окружений Vagrant – для локального тестирования инфраструктуры
json  
{  
  "builders": [{  
    "type": "amazon-ebs",  
    "region": "us-east-1",  
    "source_ami": "ami-123456",  
    "instance_type": "t2.micro",  
    "ssh_username": "ubuntu"  
  }]  
}  
🟠Инструменты оркестрации и контейнеризации Используются для управления контейнерами и кластеризацией. Docker Compose – для локального запуска нескольких контейнеров Kubernetes – для управления контейнерами в продакшене Nomad – альтернатива Kubernetes от HashiCorp
yaml  
version: '3'  
services:  
  web:  
    image: nginx  
    ports:  
      - "80:80"
Ставь 👍 и забирай 📚 Базу знаний

🤔 Расскажи про идею фреймворка Hibernate Hibernate — это ORM-фреймворк, задача которого: - Преобразовывать объекты Java в строки таблиц БД и обратно. - Скрывать SQL и управлять данными через сущности. - Управлять сессиями, кэшами, транзакциями, ленивой/жадной загрузкой. Позволяет сосредоточиться на бизнес-логике, а не на SQL. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как посмотреть размер папки на диске? Для того чтобы узнать размер папки на диске, можно воспользоваться различными методами в зависимости от операционной системы. Вот несколько способов для наиболее распространённых ОС: 🚩Windows 🟠Использование проводника (Explorer) Откройте Проводник Windows. Наведите на папку, размер которой вы хотите узнать. Кликните правой кнопкой мыши и выберите "Свойства". В открывшемся окне "Свойства" вы увидите размер папки в разделе "Размер". 🟠Использование командной строки Откройте командную строку (Cmd) или PowerShell. Введите следующую команду, заменив ПутьКПапке на путь к интересующей вас папке:
du -sh ПутьКПапке   
Для PowerShell можно использовать
      Get-ChildItem ПутьКПапке -Recurse | Measure-Object -Property Length -Sum
   
🚩macOS и Linux Использование терминала Откройте терминал. Введите команду du, чтобы узнать размер папки. Вот пример команды, которая показывает размер папки в читаемом виде (суммарный размер всех файлов)
du -sh /путь/к/папке
Ставь 👍 и забирай 📚 Базу знаний

REKONFA Live 6 ноября приглашаем рекламодателей, агентства и рекламные площадки обсудить технологии, маркетинговые инструмент
REKONFA Live 6 ноября приглашаем рекламодателей, агентства и рекламные площадки обсудить технологии, маркетинговые инструменты и актуальные новинки. Ключевые участники рынка поделятся опытом и расскажут: — О ситуации на рынке рекламы — Как продвигать и продавать в интернете в 2025 году — Как бизнесу адаптироваться к меняющимся условиям Вас ждут доклады на актуальные темы, классный нетворкинг, вдохновляющая атмосфера для творчества и креатива. Встречаемся 6 ноября в Москве. Для тех, кто не сможет приехать, организуем интерактивное digital-шоу. Мероприятие бесплатное, нужно только зарегистрироваться. Зарегистрироваться #реклама 18+ ya.rekonfa.ru О рекламодателе

🤔 Может ли быть оверкоммит при виртуализации и при контейнеризации? Это выделение больше ресурсов, чем физически доступно. - При виртуализации – возможен в KVM, VMware, Hyper-V через memory ballooning, swap или динамическое выделение CPU. Это может привести к Out-Of-Memory (OOM) при нехватке физической памяти. - При контейнеризации – возможен, если cgroups и limits настроены неправильно. Например, если память не ограничена, контейнеры могут использовать больше RAM, чем доступно системе. Решение – настройка overcommit_memory=2, swapiness и OOM-killer для защиты системы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое нормализация баз данных? Нормализация баз данных - это процесс организации данных в базе данных для минимизации избыточности данных и обеспечения их целостности. Цель нормализации - структурировать таблицы таким образом, чтобы устранить аномалии обновления, вставки и удаления данных. Нормализация достигается путем разбиения больших таблиц на более мелкие, связанных между собой отношениями, что упрощает управление данными и делает их более логически связанными. 🚩Зачем нужна нормализация 🟠Устранение избыточности данных Нормализация позволяет минимизировать дублирование данных, что экономит пространство и упрощает управление базой данных. 🟠Обеспечение целостности данных Нормализация помогает поддерживать целостность данных, обеспечивая правильное и единообразное хранение данных. 🟠Упрощение структуры базы данных Разделение данных на логические таблицы делает структуру базы данных более понятной и удобной для использования. 🟠Избежание аномалий данных Нормализация предотвращает возникновение аномалий при обновлении, вставке и удалении данных. 🚩Основные формы нормализации 🟠Первая нормальная форма (1NF) Удаление повторяющихся групп в таблице. Каждый столбец должен содержать только атомарные (неделимые) значения. Все записи в таблице должны быть уникальными. 🟠Вторая нормальная форма (2NF) Таблица должна быть в 1NF. Удаление частичной функциональной зависимости: каждый неключевой атрибут должен быть полностью зависим от первичного ключа. 🟠Третья нормальная форма (3NF) Таблица должна быть в 2NF. Удаление транзитивной зависимости: все неключевые атрибуты должны быть напрямую зависимы от первичного ключа, а не от других неключевых атрибутов. 🟠Бойс-Кодд нормальная форма (BCNF) Усиление 3NF: каждая детерминанта должна быть кандидатом на ключ, что означает, что в любой нетривиальной функциональной зависимости X -> Y, X должно быть суперключом. 🟠Четвертая нормальная форма (4NF) Таблица должна быть в BCNF. Устранение многозначных зависимостей: таблица не должна содержать многозначных зависимостей, когда один атрибут зависит от нескольких значений другого атрибута. 🟠Пятая нормальная форма (5NF) Таблица должна быть в 4NF. Устранение соединительных зависимостей: данные должны быть разбиты так, чтобы каждая зависимость сохранялась. 🚩Примеры применения нормализации 🟠Первая нормальная форма Если у вас есть таблица с повторяющимися группами, такими как несколько телефонных номеров для одного клиента, вы создаете отдельную таблицу для телефонов и связываете ее с таблицей клиентов. 🟠Вторая нормальная форма Если у вас есть таблица заказов с колонками "номер заказа", "название товара" и "цена товара", вы можете создать отдельные таблицы для заказов и товаров, чтобы цена товара зависела только от товара, а не от комбинации заказа и товара. 🟠Третья нормальная форма Если у вас есть таблица сотрудников с колонками "идентификатор сотрудника", "название отдела" и "имя начальника отдела", вы можете создать отдельные таблицы для сотрудников и отделов, чтобы имя начальника отдела зависело только от отдела, а не от сотрудника. Ставь 👍 и забирай 📚 Базу знаний

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких. Кинопоиск и Яндекс Кни
Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка ваша для вас и 3-х ваших близких. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте бесплатно❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

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

🤔 Когда вы создаёте файл какие права создаются по умолчанию? Права доступа по умолчанию зависят от базовых прав доступа и значения 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. Ставь 👍 и забирай 📚 Базу знаний

Wink AI Challenge — хакатон на стыке IT и кино. Участников ждут задачи, которые ускорят производство фильмов и сериалов за сч
Wink AI Challenge — хакатон на стыке IT и кино. Участников ждут задачи, которые ускорят производство фильмов и сериалов за счёт прикладных AI-решений. Призовой фонд соревнования — 1 125 000 рублей. Регистрация до 31 октября: https://cnrlink.com/winkaichallengeeasydevops Приглашаем на первый в России хакатон, посвящённый применению ИИ в кинопроизводстве, ML-инженеров, backend- и frontend-разработчиков, специалистов в DevOps, MLOps, а также инженеров в сфере мультимедиа. Вы сможете: 🔸 Разработать ML-модель, которую оценят и будут использовать продюсеры популярных российских фильмов и сериалов.   🔸 Решить кейсы, основанные на реальных задачах, с которыми продюсеры сталкиваются каждый день. 🔸 Использовать настоящие сценарии и видеоматериалы для анализа текстов, извлечения сущностей и генерации структуры съёмок. 🔸 Попрактиковаться в применении NLP, NER и мультимодальных данных в задачах кинопроизводства. Регистрируйтесь на Wink AI Challenge, чтобы разработать ИИ-ассистента, который станет частью производства фильмов и сериалов: https://cnrlink.com/winkaichallengeeasydevops

Гайд для CEO по подготовке и проведению вебинаров Как CEO оптимизировать бизнес-процессы с помощью вебинаров и повысить прибы
Гайд для CEO по подготовке и проведению вебинаров Как CEO оптимизировать бизнес-процессы с помощью вебинаров и повысить прибыль компании? Гайд от МТС Линк по подготовке и проведению эффективных вебинаров. ✅ В гайде: - Как выбрать день и время для вебинаров, чтобы максимизировать ROI; - Как улучшить коммуникацию с клиентами и партнёрами для роста бизнеса; - Как сократить расходы на event-маркетинг и повысить эффективность команды; - Как измерить вклад вебинаров в прибыль компании и масштабировать успех. ✨ Скачайте гайд бесплатно по ссылке Скачать #реклама 16+ mts-link.ru О рекламодателе

🤔 Как делали права доступа в GitHub для агента, который скачивал/разворачивал ECS? Используются: - GitHub Actions OIDC → IAM Role in AWS; - IAM Role for Service Account (IRSA); - IAM policies + ограниченные assume-role. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Где хранить приватный PGP ключ? Приватный PGP-ключ – это чувствительные данные, которые нельзя хранить в незащищенных местах. Потеря или компрометация ключа может привести к утечке зашифрованных данных. 🚩Лучшие способы хранения приватного PGP-ключа 🟠На аппаратном токене (YubiKey, Nitrokey, SmartCard) - Ключ никогда не покидает устройство. - Физическая защита от копирования. - Можно использовать для SSH, GPG, подписи кода. 🟠В защищенном хранилище (Bitwarden, 1Password, KeePassXC) - Хранилище зашифровано и требует пароль или биометрию. - Можно синхронизировать между устройствами без потери безопасности. - Экспортировать ключ в зашифрованный файл:
  gpg --export-secret-keys --armor > private-key.asc
🟠В зашифрованном виде на диске (LUKS, VeraCrypt, EncFS) - Физическая защита – даже если диск украдут, без пароля его не открыть. - Работает на Linux, Windows, MacOS. 1⃣Создать зашифрованный контейнер с LUKS (Linux):
   cryptsetup luksFormat /dev/sdX
   cryptsetup luksOpen /dev/sdX secure_disk
   mkfs.ext4 /dev/mapper/secure_disk
2⃣Хранить ключ внутри /mnt/secure_disk/private-key.asc. 🟠4. В HSM или облачном KMS (AWS KMS, HashiCorp Vault, Azure Key Vault) - Подходит для энтерпрайз-решений. - Аппаратное шифрование (HSM) делает взлом практически невозможным. - AWS KMS или Vault можно использовать для PGP.
vault kv put secret/pgp_key key="$(cat private-key.asc)"
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как получить body запрос? Если используется Flask, тело запроса можно получить с помощью request.get_json() — если это JSON-запрос, request.data — если нужны байты тела, или request.form — если данные отправлены в формате формы. Всё зависит от Content-Type запроса. Для чтения обычного тела можно также использовать request.get_data(). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как разделять элементы CI и CD в jenkins? В Jenkins CI (Continuous Integration) и CD (Continuous Delivery/Deployment) можно разделять на разные стадии (stages) или отдельные пайплайны. Это повышает гибкость, упрощает отладку и делает процесс масштабируемым. 🚩Разделение CI и CD внутри одного `Jenkinsfile` Можно использовать разные стадии (stages) в Jenkinsfile: Пример:
pipeline {
    agent any

    stages {
        stage('CI: Build & Test') {
            steps {
                echo "📦 Сборка и тестирование кода"
                sh 'mvn clean package'  // Сборка
                sh 'mvn test'           // Юнит-тесты
            }
        }

        stage('CI: Code Analysis') {
            steps {
                echo "🧐 Анализ кода (SonarQube)"
                sh 'sonar-scanner'
            }
        }

        stage('CD: Staging Deployment') {
            steps {
                echo "🚀 Деплой на стейджинг"
                sh 'kubectl apply -f k8s/staging.yaml'
            }
        }

        stage('CD: Production Deployment') {
            when {
                branch 'main'  // Только для main-ветки
            }
            steps {
                echo "🔥 Деплой в прод"
                sh 'kubectl apply -f k8s/production.yaml'
            }
        }
    }
}
🚩Отдельные пайплайны для CI и CD Можно разделить CI и CD на разные пайплайны, используя Jenkins Multibranch Pipeline. CI-пайплайн (Jenkinsfile.ci)
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }
    post {
        success {
            archiveArtifacts artifacts: '**/target/*.jar'
            build job: 'CD-Pipeline', wait: false  // Запуск CD после успешного CI
        }
    }
}
CD-пайплайн (Jenkinsfile.cd)
pipeline {
    agent any
    stages {
        stage('Deploy to Staging') {
            steps {
                sh 'kubectl apply -f k8s/staging.yaml'
            }
        }
        stage('Manual Approval') {
            steps {
                input message: "Deploy to Production?"
            }
        }
        stage('Deploy to Production') {
            steps {
                sh 'kubectl apply -f k8s/production.yaml'
            }
        }
    }
}
🚩Использование `Jenkins Shared Library` для разделения логики Если много пайплайнов, лучше вынести CI/CD-логику в общую библиотеку (vars/ci.groovy, vars/cd.groovy). Пример CI (vars/ci.groovy)
def call() {
    pipeline {
        agent any
        stages {
            stage('Build & Test') {
                steps {
                    sh 'mvn clean package && mvn test'
                }
            }
        }
    }
}
Пример CD (vars/cd.groovy)
def call() {
    pipeline {
        agent any
        stages {
            stage('Deploy') {
                steps {
                    sh 'kubectl apply -f k8s/production.yaml'
                }
            }
        }
    }
}
Jenkinsfile с использованием библиотек
@Library('my-shared-library') _

ci()  // Запуск CI
cd()  // Запуск CD
Ставь 👍 и забирай 📚 Базу знаний