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

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

الذهاب إلى القناة على Telegram
5 546
المشتركون
لا توجد بيانات24 ساعات
+107 أيام
+4530 أيام
أرشيف المشاركات
Куда срочно перенести рабочие чаты? Битрикс24 — ваш мессенджер для работы и бизнеса. Личные и групповые чаты, видеозвонки и к
Куда срочно перенести рабочие чаты? Битрикс24 — ваш мессенджер для работы и бизнеса. Личные и групповые чаты, видеозвонки и каналы в одном сервисе. Приглашайте коллег и внешние команды. Работает как привычный мессенджер. Есть бесплатный тариф. Начните работать уже сейчас. Битрикс24 — мессенджер для вашей компании. Попробовать #реклама 16+ bitrix24.ru О рекламодателе

🤔 Как узнать причину CrashLoopBackOff? CrashLoopBackOff возникает, когда под постоянно падает и перезапускается. Чтобы понять причину, сначала нужно использовать kubectl describe pod <pod-name> и просмотреть секцию Events. Также важно посмотреть логи последнего запуска перед сбоем: kubectl logs --previous <pod-name>. Обрати внимание на exit code контейнера: код 1 означает, что произошла ошибка в приложении, код 137 — что контейнер был убит из-за нехватки памяти (OOMKilled), 126 или 127 — что команда не найдена или не может быть выполнена. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Зачем нужны теги в Ansible? Теги в Ansible позволяют запускать только определенные задачи или роли, а не весь плейбук. Это ускоряет выполнение и упрощает управление конфигурацией. 🚩Когда использовать теги? 🟠Запуск только нужных задач если плейбук содержит много шагов, можно выполнить только нужные. 🟠Разделение задач по категориям например, отдельно установка, обновление, настройка сервиса. 🟠Оптимизация CI/CD ускорение развертывания, выполняя только измененные задачи. 🚩Как использовать теги? 🟠Теги в задачах (`tasks`) Простой пример – установка и перезапуск Nginx
yaml  
- name: Установить Nginx  
  apt:  
    name: nginx  
    state: present  
  tags: install  

- name: Перезапустить Nginx  
  service:  
    name: nginx  
    state: restarted  
  tags: restart  
Запуск только установки (install)
sh  
ansible-playbook playbook.yml --tags install  
Запуск только перезапуска (restart)
sh  
ansible-playbook playbook.yml --tags restart  
🟠Теги в ролях (`roles`) Если у вас несколько ролей, можно запускать только нужную:
yaml  
- hosts: all  
  roles:  
    - { role: nginx, tags: web }  
    - { role: database, tags: db }  
Запуск только роли database
sh  
ansible-playbook playbook.yml --tags db  
🟠Исключение тегов (`--skip-tags`) Можно пропустить выполнение определенных задач
sh  
ansible-playbook playbook.yml --skip-tags restart
Ставь 👍 и забирай 📚 Базу знаний

🤔 Как тэгировать роли? Для тэгирования ролей применяются Git-теги, указывающие на номер версии (например, v1.0.0). Это позволяет другим разработчикам понимать, какую версию роли они используют. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Для чего используется clickhouse? ClickHouse – это высокопроизводительная колоночная база данных для аналитики. Она предназначена для быстрого выполнения аналитических запросов на больших объемах данных (миллиарды строк). Используется в BI-системах, логировании, мониторинге и обработке событий. 🚩Основные возможности 🟠Очень быстрые запросы за счёт хранения данных по колонкам и сжатия. 🟠Отлично масштабируется работает на одной машине или в кластере. 🟠Поддержка SQL работает с привычными SQL-запросами. 🟠Хорош для real-time аналитики обработка миллионов событий в секунду. 🟠Без индексов использует Primary Key + MergeTree, что упрощает оптимизацию. 🟠Хорошее сжатие данных благодаря специальным алгоритмам хранения. 🚩Где используется? 🟠Аналитика и отчёты BI-системы (анализ продаж, маркетинга, поведения пользователей). Агрегация данных по времени (финансы, реклама, ретеншн). 🟠Логирование и мониторинг Хранение логов (NGINX, Kubernetes, Clickstream). Аналитика событий в реальном времени. 🟠IoT и Big Data Обработка телеметрии с датчиков. Анализ поведения пользователей в приложениях. 🟠Пример работы с ClickHouse 1⃣Создание таблицы
CREATE TABLE visits (
    user_id UInt32,
    url String,
    duration UInt32,
    event_time DateTime
) ENGINE = MergeTree()
ORDER BY event_time;
2⃣Вставка данных
INSERT INTO visits VALUES (1, 'https://example.com', 30, now());
3⃣Аналитический запрос (например, среднее время посещения сайта)
SELECT url, AVG(duration) 
FROM visits 
GROUP BY url 
ORDER BY AVG(duration) DESC;
Ставь 👍 и забирай 📚 Базу знаний

🤔 Когда используется UDP? UDP используется, когда важна скорость и допустима потеря данных, например, в стриминге, видеозвонках, DNS-запросах и онлайн-играх. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 По какой причине inode могут закончиться? Это структуры данных, которые хранят информацию о файлах и каталогах. Каждый файл или каталог на диске ассоциируется с одним inode, который содержит метаданные файла, такие как его размер, разрешения, временные метки, ссылки на блоки данных и т.д. Количество inode на файловой системе обычно определяется в момент её создания и не может быть изменено без переформатирования или значительных изменений в файловой системе. 🚩Причины исчерпания 🟠Большое количество мелких файлов Одной из наиболее частых причин исчерпания inode является наличие очень большого количества маленьких файлов на файловой системе. Поскольку каждый файл использует как минимум один inode, системы с большим количеством мелких файлов могут исчерпать доступные inode, даже если дисковое пространство по-прежнему доступно. 🟠Недостаточное количество выделенных inode При создании файловой системы, если количество выделенных inode было рассчитано неправильно (слишком мало для предполагаемого использования), это может привести к раннему их исчерпанию. Это особенно актуально для серверов или систем, где ожидается большое количество файлов. 🟠Особенности файловой системы Некоторые файловые системы, такие как Ext3 или Ext4, имеют фиксированное соотношение inode к объёму файловой системы, которое задаётся при их создании. Если создать файловую систему с недостаточным количеством inode для конкретного случая использования, то в дальнейшем это может стать проблемой. 🚩Решения проблемы исчерпания 🟠Проверка использования С помощью команды df -i можно проверить, сколько inode используется и сколько ещё доступно в вашей файловой системе. 🟠Очистка файловой системы Удаление ненужных или временных файлов может освободить inode. 🟠Изменение файловой системы Если возможно, можно увеличить количество inode путём изменения файловой системы или пересоздания файловой системы с более высоким количеством inode. Для файловых систем, таких как XFS или некоторые конфигурации Btrfs, можно динамически добавлять inode. 🟠Использование других файловых систем Переход на другую файловую систему, которая не имеет строгих ограничений на количество inode (например, Btrfs или ZFS), может быть решением для систем с большим количеством маленьких файлов. 🟠Архивирование Программы и процессы, которые создают большое количество мелких файлов, могут модифицироваться для хранения данных в формате архивов вместо отдельных файлов, что снижает потребление inode. Ставь 👍 и забирай 📚 Базу знаний

Samsung Galaxy S26 | S26+ Баланс высоких технологий и элегантного дизайна в смартфонах с умной камерой, встроенным ИИ и мощны
Samsung Galaxy S26 | S26+ Баланс высоких технологий и элегантного дизайна в смартфонах с умной камерой, встроенным ИИ и мощным аккумулятором Узнать больше #реклама market.yandex.ru О рекламодателе

🤔 Что происходит, когда вбиваешь запрос в Google и нажимаешь Enter? Процесс включает: 1. Разбор URL — браузер определяет домен и путь. 2. DNS-запрос — получение IP-адреса сервера Google. 3. Установка TCP/SSL-соединения. 4. Отправка HTTP-запроса — GET /search?q=.... 5. Обработка запроса на стороне Google — ранжирование, подбор результатов. 6. Получение HTTP-ответа — HTML-страница с результатами. 7. Отрисовка в браузере — вместе со скриптами, изображениями и т.п. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

SIEM нового класса: строим SOC в условиях оптимизации Бюджеты урезают, кадров не хватает, а угрозы растут. 25 марта в 11:00 р
SIEM нового класса: строим SOC в условиях оптимизации Бюджеты урезают, кадров не хватает, а угрозы растут. 25 марта в 11:00 расскажем, как SIEM нового класса помогает снижать трудозатраты и автоматизировать 90% рутины. Обсудим: Почему детектирование без реагирования не работает и как современные SIEM решают эту задачу. Как выстроить полный и управляемый цикл работы с инцидентом в рамках единой платформы. Как Solar SIEM объединяет SIEM, SOAR и другие компоненты SOC-экосистемы, ускоряя поиск угроз в 3 раза. Для кого: Архитекторов и руководителей SOC — спланировать развитие ИБ-архитектуры Аналитиков и инженеров — сократить рутину Руководителей ИБ — оптимизировать бюджет без потери качества Зарегистрироваться #реклама 16+ rt-solar.ru О рекламодателе

🤔 Для чего используются иниь контейнеры? Init-контейнеры (init containers) – это специальные контейнеры в поде, которые запускаются перед основным приложением. Они выполняют подготовительные задачи, а затем завершаются. 🚩Основные сценарии использования Init-контейнеров 🟠Подготовка окружения Создание директорий, загрузка конфигураций или файлов перед запуском основного контейнера. 🟠Ожидание зависимостей Проверка доступности БД, API или других сервисов перед запуском приложения. 🟠Миграции БД Выполнение migrations перед стартом веб-приложения. 🟠Проверка и валидация данных Убеждаемся, что все файлы и настройки корректны. 🚩Как работают Init-контейнеры? Запускаются последовательно (поочередно). Должны завершиться успешно, иначе весь под не стартует. Не перезапускаются после завершения. Не делят volume'ы с основным контейнером (могут передавать данные через shared volumes). 🚩Пример: Init-контейнер, проверяющий доступность БД
apiVersion: v1
kind: Pod
metadata:
  name: my-app
spec:
  containers:
  - name: main-app
    image: my-app:latest
    ports:
    - containerPort: 8080
  initContainers:
  - name: wait-for-db
    image: busybox
    command: ['sh', '-c', 'until nc -z db-service 5432; do echo waiting for DB; sleep 2; done;']
Ставь 👍 и забирай 📚 Базу знаний

Бесплатная конференция по PostgreSQL — уже 19 марта! Регистрируйся на бесплатную конференцию по PostgreSQL — 19.03.2026. В фо
Бесплатная конференция по PostgreSQL — уже 19 марта! Регистрируйся на бесплатную конференцию по PostgreSQL — 19.03.2026. В фокусе — практический опыт эксплуатации PostgreSQL, ее внутреннее устройство, производительность, взаимодействие с другими системами и реальные кейсы из highload-среды. Мероприятие в формате онлайн+офлайн, 25+ тематических докладов, 3 потока. Вот некоторые темы конференции: ✅ Опыт выноса OLAP-нагрузки на реплику ✅ Временные таблицы в PostgreSQL: почему это критично для платформы 1С и что можно улучшить ✅ Разделение Compute и Storage: архитектурный прорыв для PostgreSQL в облаке ✅ Highload «из ниоткуда»: когда узкое место — не в СУБД, а в клиентской архитектуре ✅ Работа с логами PostgreSQL Регистрируйся, будет интересно! И бесплатно! Зарегистрироваться #реклама 16+ pgbootcamp.ru О рекламодателе

🤔 Что такое service monitor в Kubernetes? ServiceMonitor — это объект в Kubernetes, используемый в связке с Prometheus для мониторинга сервисов. Он определяет, какие эндпоинты и метрики должны собираться Prometheus. Это часть системы мониторинга, которая позволяет автоматизировать сбор данных о состоянии сервисов. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как найти запущенный процесс? В операционных системах на базе Unix и Linux для поиска запущенных процессов используются различные команды. 🟠Команда `ps` Команда ps отображает список текущих процессов. Часто используемые опции: ps aux: Показывает все процессы в системе. ps -ef: Альтернативный формат вывода всех процессов.
ps aux | grep <имя_процесса>
🟠Команда `top` Команда top показывает список процессов в реальном времени, обновляя его каждые несколько секунд. Это удобно для мониторинга системы и поиска процессов с высокой загрузкой CPU или памяти.
top
🟠Команда `htop` Команда htop — это улучшенная версия top, предоставляющая более удобный интерфейс для мониторинга процессов. Она должна быть установлена отдельно.
sudo apt-get install htop
htop
🟠Команда `pgrep` Команда pgrep используется для поиска процессов по имени. Она возвращает идентификаторы (PID) процессов, соответствующих критериям поиска. Пример использования:
pgrep <имя_процесса>
🟠Команда `pidof` Команда pidof возвращает идентификаторы (PID) процессов с указанным именем.
pidof <имя_процесса>
🟠Команда `ps` с фильтрацией Для более точного поиска можно использовать команду ps с фильтрацией через grep.
ps aux | grep <имя_процесса> | grep -v grep
🟠Команда `lsof` Команда lsof отображает список открытых файлов и может использоваться для поиска процессов, открывающих определенные файлы.
sudo lsof -i :<номер_порта>
🚩Пример поиска конкретного процесса Допустим, вам нужно найти процесс с именем nginx. Вот несколько способов сделать это Использование ps
ps aux | grep nginx | grep -v grep
Использование pgrep
pgrep nginx
Использование pidof
pidof nginx
🚩Использование `top` или `htop` Запустите top или htop и найдите процесс nginx в интерактивном режиме. Ставь 👍 и забирай 📚 Базу знаний

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

Бесплатный онлайн-марафон для руководителей Два дня практических онлайн-встреч с топ-экспертами в области управления — на них
Бесплатный онлайн-марафон для руководителей Два дня практических онлайн-встреч с топ-экспертами в области управления — на них расскажем, как выстроить слаженную работу сотрудников и забыть о хаосе с помощью автоматизации. Спикеры Битрикс24, SETTERS EDUCATION, «ВкусВилл» и Максим Батырев расскажут: — как обеспечить рост команды без регламентов и ручного управления — как мотивировать сотрудников и давать обратную связь — как управлять большим потоком задач и контролировать их выполнение — как выстраивать эффективную коммуникацию с командой Бонусы для всех участников: — чек-лист: «Как обезопасить команду от кибермошенников?» — бесплатная консультация по автоматизации командной работы Бесплатно. 17–18 марта. Подробная программа мероприятия и регистрация — на сайте. Узнать больше #реклама 16+ marathon.bitrix24.works О рекламодателе

🤔 Назови инструменты для развернутого окружения и настройки серверов В 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"
Ставь 👍 и забирай 📚 Базу знаний

🤔 Переменные версий, как они подтягиваются, создаются? Переменные обычно задаются в values.yaml, либо передаются через CLI. Примеры: - В values.yaml: - image: - repository: myapp - tag: 1.2.3 - Переопределение из CLI: - helm upgrade my-release ./my-chart --set image.tag=2.0.0 Также можно использовать шаблоны внутри Helm для автоматической подстановки версий. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как сделать rebase на main branch? Выполнить rebase на main в Git означает "перенести" ваши изменения поверх актуального состояния основной ветки (main). 🟠Переключаемся на вашу текущую ветку Допустим, вы работаете в ветке feature-branch:
git checkout feature-branch
🟠Выполняем rebase на `main` Сначала убедимся, что main обновлена:
git checkout main
git pull origin main
Теперь выполняем сам rebase:
git checkout feature-branch
git rebase main
🟠Разрешение конфликтов (если есть) Если у вас есть конфликты, Git остановит процесс и попросит их решить. Откройте файлы с конфликтами, исправьте их. Добавьте исправленные файлы:
   git add <файл>
   
Продолжите rebase:
   git rebase --continue
   
🟠Обновление удалённого репозитория Если rebase прошёл успешно, вам нужно форсированно обновить удалённую ветку (так как история изменилась):
git push origin feature-branch --force
Ставь 👍 и забирай 📚 Базу знаний

Бесплатный курс: веб-дизайн, графика, интерфейсы Научись создавать дизайн сайтов и приложений, инфографику для карточек на ма
Бесплатный курс: веб-дизайн, графика, интерфейсы Научись создавать дизайн сайтов и приложений, инфографику для карточек на маркетплейсах и работать в Figma! Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Этот курс для тебя, если ты: ✅ мечтаешь о новой профессии, но не знаешь, с чего начать; ✅ чувствуешь, что хочешь большего — свободы, самореализации, творчества; ✅ полный новичок и хочешь систему, а не хаос; ✅ хочешь начать зарабатывать удалённо. Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе