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

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

Open in Telegram

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

Show more
5 542
Subscribers
+124 hours
+87 days
+3330 days
Posts Archive
🖥 Ты теряешь месяцы на YouTube, когда всё можно было бы уместить в один PDF 📄 Senior разработчик Pythonl написал подробный
+5
🖥 Ты теряешь месяцы на YouTube, когда всё можно было бы уместить в один PDF 📄 Senior разработчик Pythonl написал подробный PDF-гайд, в котором всё по-человечески: • без воды • очень наглядные иллюстрации, которые помогают понять сложные концепции • коротко и по делу • ускорение кода в 2–10 раз • снижение потребления памяти • антипаттерны и как их избегать • инструменты: py-spy, cProfile, Scalene • приёмы из Big Tech и реальные кейсы Отлично подходит для новичков Понял → Применил → Пошёл дальше Скачать полностью бесплатный гайд можно здесь.

🤔 Как разделять элементы 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
Ставь 👍 и забирай 📚 Базу знаний

Высшее образование дистанционно в Московском ВУЗе Вы мечтаете получить высшее образование, но не сдали ЕГЭ или получили низки
Высшее образование дистанционно в Московском ВУЗе Вы мечтаете получить высшее образование, но не сдали ЕГЭ или получили низкие баллы? У нас есть решение для вас! Институт Международных Экономических Связей предлагает дистанционное обучение , которое позволяет получать качественные знания из любой точки мира по 10+ направлениям обучения. ✅ Государственный диплом без отметки о дистантеУдобный личный кабинет студентаПоддержка кураторов на каждом этапе обученияМожно поступить без ЕГЭ Узнать больше #реклама 16+ imes.su О рекламодателе

🤔 Из чего состоит worker node? Worker-нода содержит: - kubelet — агент, управляющий подами. - kube-proxy — сетевое взаимодействие и балансировка. - container runtime — Docker, containerd, CRI-O. - Мгновенный доступ к данным. - Уменьшение нагрузки на RDS. - TTL для автоочистки. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Подключите корпоративный ДМС в Совкомбанк Страхование Позаботьтесь о своей команде! ✨ ДМС от Совкомбанк Страхование – это решения под любой бюджет и потребности. 25 лет опыта, телемедицина, офисный врач и доступ к 10 000+ клиник по России. Сэкономьте до 30% с ДМС с франшизой и получите налоговые льготы. Собственная диспетчерская служба 24/7 всегда на связи. Здоровые сотрудники – успешный бизнес! Узнайте больше на сайте и оформите ДМС уже сегодня! 🏃‍♂️⚡ Перейти на сайт Финансовые услуги оказывает: ПАО "Совкомбанк", АО "Совкомбанк Страхование". #реклама sovcomins.ru О рекламодателе

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

🤔 Как сделать донастройку контейнера? Донастройка контейнера может понадобиться, если: Нужно изменить файлы конфигурации. Установить дополнительные пакеты. Задать переменные среды. Подключить тома или сети. Варианты донастройки: через Dockerfile, docker-compose, exec, тома и Entrypoint/CMD. 🟠Донастройка через Dockerfile (Лучший способ) Если контейнер нужно модифицировать перед запуском, создаем свой Dockerfile на основе существующего образа.
FROM nginx:latest
COPY my-nginx.conf /etc/nginx/nginx.conf
CMD ["nginx", "-g", "daemon off;"]
Собираем новый образ
docker build -t my-nginx .
docker run -d -p 80:80 my-nginx
🟠Донастройка через `docker-compose` (Гибкость) Можно задать окружение, тома, команды.
version: '3'
services:
  db:
    image: postgres:15
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: mydb
    volumes:
      - ./custom-postgres.conf:/etc/postgresql/postgresql.conf
    command: postgres -c config_file=/etc/postgresql/postgresql.conf
Запуск
docker-compose up -d
🟠Донастройка запущенного контейнера (`docker exec`) Если контейнер уже работает, можно внести изменения прямо в него.
docker exec -it my-container bash
apt update && apt install -y vim
🟠Донастройка через тома (Volumes) Если нужно изменять файлы без пересборки образа, подключаем тома.
docker run -d -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf nginx
🟠Использование `ENTRYPOINT` или `CMD` Можно задать скрипт донастройки, который выполнится при старте контейнера.
FROM postgres:15
COPY setup.sh /docker-entrypoint-initdb.d/setup.sh
RUN chmod +x /docker-entrypoint-initdb.d/setup.sh
В setup.sh:
#!/bin/bash
psql -U postgres -d mydb -c "CREATE TABLE test (id SERIAL PRIMARY KEY);"
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как в Docker Compose вместо YAML-файла использовать JSON-файл? Docker Compose принимает на вход YAML-файл по умолчанию, но JSON тоже поддерживается, так как JSON является допустимым подмножеством YAML. Для этого нужно просто создать файл с расширением .json, содержащий валидную структуру, аналогичную docker-compose.yml, и передать его явно: docker-compose -f docker-compose.json up. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое data source в графане? Это источник данных, с которым Grafana может взаимодействовать для построения графиков, панелей мониторинга (dashboards) и выполнения запросов. Data Source определяет, как Grafana подключается к внешним системам мониторинга, базам данных или API для получения метрик, логов или другой информации. 🚩Основные аспекты 🟠Типы Data Source Grafana поддерживает множество типов источников данных, включая: Системы мониторинга: Prometheus Zabbix InfluxDB Graphite Лог-агрегаторы: Loki Elasticsearch Splunk Облачные сервисы: AWS CloudWatch Google Cloud Monitoring Azure Monitor Реляционные базы данных: MySQL PostgreSQL API или внешние плагины: JSON API OpenTelemetry 🟠Функции Data Source Подключение: Определяет параметры для соединения с внешним хранилищем данных, такие как URL, токены аутентификации, логин/пароль. Выполнение запросов: Обеспечивает интерфейс для написания запросов к данным через встроенный редактор запросов Grafana. Форматирование данных: Конвертирует данные из формата, предоставляемого источником, в формат, понятный Grafana. 🟠Добавление Data Source Добавление источника данных выполняется через веб-интерфейс Grafana: Зайдите в Settings → Data Sources. Нажмите кнопку Add data source. Выберите нужный тип источника (например, Prometheus). Настройте параметры подключения (например, URL, токен, порт). Нажмите Save & Test, чтобы проверить соединение. 🟠Примеры запросов Для Prometheus:
rate(http_requests_total[5m])
Для MySQL
SELECT time, value FROM metrics WHERE time > NOW() - INTERVAL 1 HOUR;
🚩Особенности Data Source 🟠Кастомизация Вы можете устанавливать плагины для подключения к нестандартным источникам данных. Grafana Marketplace предлагает плагины для расширения функциональности. 🟠Мульти-сорсинг Один дашборд может использовать несколько источников данных, что позволяет объединять данные из разных систем. 🟠Глобальные переменные Источники данных могут использовать глобальные параметры, такие как время ($__timeFilter), для унификации запросов. 🟠Безопасность Поддержка различных методов аутентификации: токены, ключи API, OAuth. Ставь 👍 и забирай 📚 Базу знаний

Подскажем, где остановиться на день или больше В путешествии, отпуске или поездке в соседний город. На Циан.Посуточно вы може
Подскажем, где остановиться на день или больше В путешествии, отпуске или поездке в соседний город. На Циан.Посуточно вы можете забронировать как квартиру и дом, так и отель — выбирайте, что удобнее. ✅ Онлайн-бронирование. Календарь в приложении покажет свободные даты и итоговую стоимость проживания. ✅ Безопасная предоплата. Всего 10% в приложении — можно вернуть, если планы поменяются. Остальное оплачивайте при заезде. ✅ Идеи для путешествий. Собрали рекомендации наших пользователей — что посмотреть и что попробовать — в путеводителе Циана. Перейти на сайт #реклама 16+ cian.ru О рекламодателе

🤔 Что сейчас больше используется — ingress класс в ingress или указывается ingress контроллер непосредственно в приложении? Наиболее распространённый способ — использовать ingressClassName в ресурсе Ingress. Это современный подход с Kubernetes 1.19+. Указание через аннотации контроллера (kubernetes.io/ingress.class) всё ещё встречается, но считается устаревшим. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

VK Weekend Offer для бэкенд-разработчиков 28–29 июня VK проведёт Weekend Offer для бэкендеров с опытом от трёх лет. Участнико
VK Weekend Offer для бэкенд-разработчиков 28–29 июня VK проведёт Weekend Offer для бэкендеров с опытом от трёх лет. Участников со знанием Java, Go, Python или C++ ждут технические собеседования, знакомство с продуктами и, если всё сложится, офер уже в конце выходных. Ребята много лет создают облачные решения, системы рекомендаций и поисковые движки — всё с миллионами пользователей в проде — и сейчас ищут новых коллег. Поэтому оставляйте заявку до 25 июня, чтобы попасть в команду за выходные! Подробности — на сайте. Подать заявку #реклама 16+ team.vk.company О рекламодателе

🤔 Что такое лямбда выражение в Phyton? В Python лямбда-выражение — это анонимная (безымянная) функция, создаваемая с помощью ключевого слова lambda. Синтаксис
lambda аргументы: выражение
🚩Примеры Простая лямбда-функция
add = lambda x, y: x + y
print(add(3, 5))  # Выведет: 8
Эквивалентно обычной функции
def add(x, y):
    return x + y
Лямбда внутри map()
nums = [1, 2, 3, 4]
squares = list(map(lambda x: x ** 2, nums))
print(squares)  # [1, 4, 9, 16]
Лямбда внутри sorted()
words = ["apple", "banana", "kiwi"]
sorted_words = sorted(words, key=lambda w: len(w))
print(sorted_words)  # ['kiwi', 'apple', 'banana']
Ставь 👍 и забирай 📚 Базу знаний

Почему вы не используете Битрикс24 CRM с AI? 1- не знал 2- забыл Рассказываем и напоминаем! ✅Битрикс24 CRM с AI помогает увел
+5
Почему вы не используете Битрикс24 CRM с AI? 1- не знал 2- забыл Рассказываем и напоминаем! ✅Битрикс24 CRM с AI помогает увеличивать продажи, работать с постоянными клиентами и сохранять все важные данные. AI-помощник CoPilot внутри сервиса расшифрует телефонные разговоры и автоматически заполнит карточки клиента в CRM. Битрикс24 можно использовать бесплатно для всех команд, независимо от их размера. ⚡Не тратьте время на рутину. Узнать больше #реклама 16+ bitrix24.ru О рекламодателе

🤔 К чему применяется UNIQUE? UNIQUE: - Применяется для гарантии уникальности значений в столбце или группе столбцов. - Можно использовать одновременно с NULL, но NULL не считается повтором (в большинстве СУБД). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Получи грант до 1,2 млн руб. на обучение в магистратуре Хочешь развиваться в сфере ИТ и получить фундаментальные знания с пра
Получи грант до 1,2 млн руб. на обучение в магистратуре Хочешь развиваться в сфере ИТ и получить фундаментальные знания с практикой? Поступай в магистратуру Центрального университета! - 4 офлайн программы по востребованным направлениям ИТ - Онлайн-программа по машинному обучению - 300 мест с грантами до 1,2 млн руб. - Вечерние занятия и учеба по выходным — удобно совмещать с работой - Обучение по модели STEM-образования: на стыке науки, технологий и бизнеса - Возможность стажировок и трудоустройства в ведущих компаниях - Государственный диплом за 2 года Магистратура в Центральном университете — это современный подход к образованию, сильный преподавательский состав и актуальные кейсы от индустрии. Оставляй заявку на грант уже сейчас! Подать заявку #реклама 16+ apply.centraluniversity.ru О рекламодателе

🤔 Что внутри директории Linux: /proc? Это виртуальная файловая система, предоставляющая доступ к информации о процессах и системе в реальном времени. Она не занимает место на диске, так как данные в ней формируются ядром Linux динамически. Эта файловая система называется procfs (процессная файловая система). 🚩Основное назначение `/proc` Предоставляет информацию о запущенных процессах, ресурсах системы и конфигурации ядра. Позволяет взаимодействовать с ядром, изменять параметры системы и получать данные о состоянии процессов. 🚩Ключевые элементы внутри `/proc` 🟠Каталоги с идентификаторами процессов (`/proc/[PID]`) Каждый процесс в системе имеет каталог в /proc, название которого соответствует его PID (Process ID). В этих каталогах содержится информация о конкретном процессе: /proc/[PID]/cmdline: Команда, запустившая процесс. /proc/[PID]/cwd: Символическая ссылка на текущую рабочую директорию процесса. /proc/[PID]/exe: Символическая ссылка на исполняемый файл процесса. /proc/[PID]/fd: Директория с открытыми файловыми дескрипторами. /proc/[PID]/status: Детализированная информация о состоянии процесса (UID, GID, память и т.д.). 🟠Файлы системы /proc/cpuinfo Информация о процессоре (модель, частота, количество ядер).
cat /proc/cpuinfo
/proc/meminfo Информация о памяти (доступная память, кэш, использованная память).
cat /proc/meminfo
/proc/diskstats: Статистика ввода-вывода для дисков. /proc/uptime: Время работы системы с момента загрузки. /proc/loadavg: Средняя нагрузка на систему за последние 1, 5 и 15 минут. 🟠Конфигурационные файлы ядра /proc/sys: Содержит настраиваемые параметры ядра. Например, можно изменить значение максимального количества открытых файлов:
echo 100000 > /proc/sys/fs/file-max
Некоторые популярные настройки /proc/sys/net/ipv4/ip_forward: Управление пересылкой IPv4-пакетов. /proc/sys/kernel/pid_max: Максимальный PID, который может быть назначен процессу. 🟠Сетевые интерфейсы /proc/net: Информация о сетевых соединениях и интерфейсах. Примеры: /proc/net/dev: Статистика сетевых интерфейсов. /proc/net/tcp: Состояние TCP-соединений. 🟠Информация об устройствах /proc/devices: Список всех зарегистрированных устройств (символьных и блочных). /proc/partitions: Информация о разделах жесткого диска. Ставь 👍 и забирай 📚 Базу знаний

Вы отстаете от рынка Каждая пятая компания уже внедрила ИИ в свои бизнес-процессы Пока одни присматриваются, другие автоматиз
Вы отстаете от рынка Каждая пятая компания уже внедрила ИИ в свои бизнес-процессы Пока одни присматриваются, другие автоматизируют отделы. Обсудим как не выпасть из обоймы 24-26 июня. Зарегистрироваться #реклама 16+ ai-practicum.bitrix24.events О рекламодателе

🤔 Есть URL, тело и ...? Кроме URL и тела (body), у HTTP-запроса есть: - заголовки (headers) — содержат метаинформацию (тип данных, авторизация, длина и т.д.); - метод (method) — GET, POST и т.д.; - параметры запроса (query parameters); - статус ответа (в ответе сервера). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Мы сделали это — SWG-система с функционалом DPI Что на самом деле скрывается внутри HTTPS? Приложения, удаленный доступ или облачные сервисы? Раскрываем все тайны! Solar webProxy 4.3 — первая отечественная SWG-система с поддержкой DPI, которая позволяет анализировать веб-трафик на уровне приложений и протоколов. Теперь можно точно определить, какие сервисы реально используются при выходе в интернет, и учитывать это при настройке политик доступа. А чтобы не тратить время на рутину, мы обновили webCAT: теперь категоризация ресурсов и загрузка фидов угроз происходят автоматически Рассказываем все детали на вебинаре: Реальные сценарии применения DPI. Автоматизация категорий ресурсов и фидов от 4RAYS в webCAT. Бесплатное демо с базовыми функциями Solar webProxy на 60 дней. Присоединяйтесь! Зарегистрироваться #реклама 16+ rt-solar.ru О рекламодателе

DevOps | Вопросы собесов - Statistics & analytics of Telegram channel @easy_devops