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

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

Open in Telegram
5 508
Subscribers
-324 hours
-77 days
-530 days
Posts Archive
🤔 В чём разница в директориях /var и /default? - /var — стандартная директория Linux для хранения изменяемых данных: логи, спулы, кэш, временные данные; - /default — не является стандартной и может быть частью прикладных настроек, например, конфигураций по умолчанию в /etc/default/. Важно не путать её с системными каталогами. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие таблицы прописывал в iptables? В iptables есть 5 таблиц, но чаще всего работают с тремя: 🟠`filter` основная таблица для контроля трафика (используется по умолчанию) 🟠`nat` для трансляции адресов (SNAT, DNAT, редиректы) 🟠`mangle` для изменения пакетов (маркировка, TTL, QoS) 🟠`raw` для исключения пакетов из обработки conntrack 🟠`security` используется в SELinux для меток безопасности 🚩Таблица `filter` (фильтрация пакетов) Используется для разрешения или блокировки трафика.
iptables -P INPUT DROP  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
🚩Таблица `nat` (трансляция адресов) Используется для NAT, порт-форвардинга, маскарадинга.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
Пример: Проброс порта (DNAT) – входящие пакеты на 80 порт перенаправляем на 8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080  
🚩Таблица `mangle` (изменение пакетов) Используется для маркировки пакетов, изменения TTL, QoS.
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64  
Пример: Маркировка пакетов для использования в tc (QoS)
iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
Ставь 👍 и забирай 📚 Базу знаний

7 популярных мифов о Service mesh, которые мешают вам его освоить 🚫 Service mesh окружен заблуждениями, из-за которых многие
7 популярных мифов о Service mesh, которые мешают вам его освоить 🚫 Service mesh окружен заблуждениями, из-за которых многие его боятся внедрять или считают бесполезным: ➖«У него огромный оверхед из-за нагрузки на систему»«Для разработчика это лишнее, пусть DevOps разбираются»«Зачем он нужен, если есть API Gateway? И многое другое. Собрали противоречивые утверждения в одном файле и разобрались, где – правда, а где – миф. 📌 Забирайте полезный материал у бота-помощника в один клик.

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

🤔 Какие есть уровни изоляции в SQL? - READ UNCOMMITTED — видны даже незакоммиченные изменения (опасно). - READ COMMITTED — читаем только закоммиченные данные (по умолчанию в PostgreSQL). - REPEATABLE READ — данные не изменяются в рамках транзакции. - SERIALIZABLE — максимальная защита, как будто операции идут последовательно. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

REKONFA Live 6 ноября приглашаем всех, кто имеет отношение к маркетингу и рекламным технологиям, обсудить рынок, тренды, вызо
REKONFA Live 6 ноября приглашаем всех, кто имеет отношение к маркетингу и рекламным технологиям, обсудить рынок, тренды, вызовы и их решения. С докладами на актуальные темы выступят лидеры индустрии и медийные спикеры. Принять участие можно офлайн и онлайн. Мероприятие бесплатное, нужно только зарегистрироваться. Зарегистрироваться #реклама 18+ ya.rekonfa.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
Ставь 👍 и забирай 📚 Базу знаний

Бесплатный курс по дизайну: веб, графический и UX/UI Получи востребованные навыки: - создание дизайна сайтов и приложений - с
Бесплатный курс по дизайну: веб, графический и UX/UI Получи востребованные навыки: - создание дизайна сайтов и приложений - создание инфографики и карточек для маркетплейсов - работа в графическом редакторе Figma и др. Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе

🤔 Есть приложение, мы его запускаем, и оно завершается с кодом, не равным 0. Как его подебажить? 1. Посмотреть exit code — может указать тип ошибки. 2. Проверить логи приложения. 3. Добавить логирование и вывод ошибок в консоль. 4. Запустить через strace или gdb. 5. Проверить зависимости, переменные окружения, права на доступ. Ненулевой код означает ошибку исполнения — важно найти её источник. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная проф
Курс "Дизайн карточек для WB и Ozon". Бесплатно и с нуля Дизайнер карточек для маркетплейсов — востребованная и доходная профессия 💰 Научись ей бесплатно! - Бесплатный доступ - Разбор ДЗ от наставника - Мощные кейсы в портфолио Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

🤔 Что внутри директории 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: Информация о разделах жесткого диска. Ставь 👍 и забирай 📚 Базу знаний

🤔 Почему плохо запускать контейнер от рута в Kubernetes? - Повышенный риск эксплойта и компрометации хоста; - Нарушение принципов наименьших привилегий; - Некоторые security policies запрещают root-контейнеры; - Контейнер может получить доступ к host namespace и ресурсам. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как задать права на всё? В Linux права доступа к файлам и папкам регулируются с помощью команд chmod и chown. 🟠Назначение всех прав (777) Если вам нужно дать полный доступ ко всем файлам и папкам, используйте
chmod -R 777 /путь/к/папке
-R (recursive) — применяет права ко всем вложенным файлам и каталогам. 777 означает: 7 (чтение, запись, выполнение) для владельца 7 (чтение, запись, выполнение) для группы 7 (чтение, запись, выполнение) для всех остальных 🟠Передача владения (если нет прав) Если текущий пользователь не владеет файлами, назначьте нового владельца
chown -R username:group /путь/к/папке
username — новый владелец group — новая группа 🟠Лучший вариант — более безопасные права Вместо 777 лучше дать только нужные права: Для исполняемых файлов: chmod 755 Для конфигураций и данных: chmod 644 Для приватных ключей и чувствительных файлов: chmod 600 Ставь 👍 и забирай 📚 Базу знаний

🤔 Что означает команда ping ::1? Эта команда выполняет ping на локальный IPv6-адрес, аналог IPv4 127.0.0.1. ::1 — это loopback-адрес в IPv6, используемый для проверки работы стека IPv6 на устройстве. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Когда выполняются пробы? Пробы выполняются для оценки и проверки возможностей, навыков или функций, обычно в контексте экспериментов, тестирования или практических заданий. Это может касаться научных экспериментов, технических испытаний или проверок навыков в различных сферах, например, на актерских или рабочих прослушиваниях. 🚩Существует три основных типа: 🟠Liveness Probe (Проверка жизнеспособности) Liveness Probe проверяет, работает ли контейнер. Если проверка liveness не удалась, Kubernetes перезапускает контейнер. 🟠Readiness Probe (Проверка готовности) Readiness Probe проверяет, готов ли контейнер обслуживать запросы. Если проверка readiness не удалась, под будет исключен из службы (service) и не будет получать трафик. 🟠Startup Probe (Проверка при запуске) Startup Probe проверяет, что контейнер успешно запустился. Если проверка startup не удалась, Kubernetes считает, что контейнер не может запуститься, и перезапускает его. 🚩Когда они выполняются: 🟠Периодически в течение жизни контейнера, начиная после заданного периода initialDelaySeconds. Используется для проверки состояния контейнеров, которые могут войти в неопределенное состояние и требуют перезапуска для восстановления работоспособности.
livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 3
  periodSeconds: 3
  failureThreshold: 3
🟠Периодически в течение жизни контейнера, начиная после заданного периода initialDelaySeconds. Используется для проверки готовности контейнеров, которые могут быть временно не готовы обслуживать трафик, например, во время загрузки данных или выполнения миграций.
readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  initialDelaySeconds: 3
  periodSeconds: 3
  failureThreshold: 3
🟠В начале жизни контейнера, начиная с момента запуска и до тех пор, пока проверка не будет успешной или пока не истечет заданное время. Используется для контейнеров, которые могут долго запускаться, что предотвращает преждевременные сбои liveness и readiness проб.
startupProbe:
  httpGet:
    path: /startup
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
  failureThreshold: 30
🚩Механизмы 🟠HTTP GET: Проверка выполняется путем отправки HTTP GET запроса к контейнеру.
httpGet:
  path: /healthz
  port: 8080
🟠TCP Socket: Проверка выполняется путем установления TCP-соединения с контейнером.
tcpSocket:
  port: 8080
🟠Exec: Проверка выполняется путем выполнения команды внутри контейнера.
exec:
  command:
  - cat
  - /tmp/healthy
Ставь 👍 и забирай 📚 Базу знаний

🤔 Где хранятся метрики? Метрики могут храниться в памяти демона (например, node_exporter) или записываться в базу Prometheus. Обычно они доступны по HTTP endpoint, откуда считываются системой мониторинга. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что сделать если зависает ssh? Если SSH завис, не стоит сразу закрывать терминал. Есть несколько причин и решений. 🚩Проверить, можно ли выйти без разрыва сессии Если SSH завис, но сессия не разорвана, попробуйте выйти без закрытия терминала:
~.
Переключение в режим управления SSH
~Ctrl+Z
🚩Проверить соединение с сервером Если SSH завис, причина может быть в разрыве соединения. Проверьте: Работает ли пинг до сервера:
ping server_ip
🔹 Открыт ли SSH-порт (22):
nc -zv server_ip 22
🚩Перезапустить SSH-клиент Если только один SSH-клиент завис, попробуйте:
pkill -9 ssh
или
killall -9 ssh
Затем переподключитесь
ssh user@server_ip
🚩Проверить SSH-сервер Если сервер доступен, но SSH зависает, войдите через консоль или другой метод (например, VNC, IPMI). Если SSH не отвечает, перезапустите его:
sudo systemctl restart ssh
или
service ssh restart
🚩Отключить TCP KeepAlive или изменить таймауты Иногда SSH зависает из-за разрыва соединения на роутере или файрволе. Добавьте в ~/.ssh/config на клиенте
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 5
Или в /etc/ssh/sshd_config на сервере
ClientAliveInterval 60
ClientAliveCountMax 5
Затем перезапустите SSH
sudo systemctl restart ssh
🚩Убить зависшую SSH-сессию на сервере Если осталось зависшее подключение, найдите его и завершите:
who  # Показывает активные пользователи
ps aux | grep ssh  # Показывает процессы SSH
pkill -9 -u username  # Завершает все сессии пользователя
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое CRD (Custom Resource Definition)? CRD — это механизм расширения API Kubernetes, позволяющий создавать свои типы ресурсов. Они управляются как стандартные ресурсы, но определяются и обрабатываются отдельно. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие есть три вида монтирования в докере? В Docker есть три типа монтирования данных в контейнеры: Volumes (Тома) – рекомендуемый способ хранения данных Bind Mounts (Привязанные тома) – монтирование локальных файлов/папок Tmpfs (Временное хранилище в RAM) – для быстрого доступа без записи на диск 🚩Volumes (Тома) – лучший вариант хранения данных Данные хранятся внутри Docker (/var/lib/docker/volumes) Можно использовать в нескольких контейнерах Не зависят от файловой системы хоста
sh  
docker volume create mydata  
docker run -d -v mydata:/app/data --name mycontainer ubuntu  
Удаление тома (только если он не используется)
sh  
docker volume rm mydata  
🚩Bind Mounts (Привязанные тома) – монтирование папок с хоста Монтирует директорию с хоста в контейнер Изменения сразу видны на хосте Зависит от структуры файлов на хосте
sh  
docker run -d -v /home/user/logs:/app/logs --name mycontainer ubuntu  
🚩Tmpfs (Временное хранилище в RAM) – быстрый, но не сохраняющийся вариант Хранит данные в оперативной памяти (RAM) Очень быстрое чтение/запись Пропадает при перезапуске контейнера Пример: создать tmpfs-монтирование для /app/cache
sh  
docker run -d --tmpfs /app/cache:size=100m --name mycontainer ubuntu
Ставь 👍 и забирай 📚 Базу знаний

Repost from easyoffer
Новая фича на easyoffer – Автоотлики Вы автоматически откликаетесь на подходящие вам вакансии. Попробуйте её бесплатно и начн
Новая фича на easyoffer Автоотлики Вы автоматически откликаетесь на подходящие вам вакансии. Попробуйте её бесплатно и начните получать больше предложений о работе. 🚀 Запуск занимаем всего 3 минуты, а экономит очень много времени 🛡 Это безопасно: easyoffer официально одобрен HeadHunter и прошел его модерацию. 🥷🏻 Автоотклик незаметен для рекртера. Автоотклик ничем не отличается от обычного отклика, который вы делаете вручную Рекрутеры давно используют автоматизацию для поиска кандидатов. Так почему вы должны откликаться вручную? 💡Совет – Добавьте шаблон сопроводительного письма, чтобы откликаться на большее количество вакансий (на некоторые вакансии нельзя откликнуться без сопроводительного) Попробовать бесплатно → https://easyoffer.ru/autoapply