DevOps | Вопросы собесов
Open in Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Show more5 566
Subscribers
+124 hours
-37 days
-1030 days
Posts Archive
+4
RE Design Buro – уникальные интерьеры для IT-специалистов!
Более 15 лет создаем уникальные проекты международного уровня, которые не только отражают ваш стиль, но и удовлетворяют все ваши потребности.
Что мы предлагаем?
⭐️ Полный дизайн-проект: от идеи до реализации – разработаем концепцию, подготовим детальные чертежи и подберем лучшие материалы.
💡 Оперативность и комфорт: начинаем работу ещё до получения ключей, чтобы вы могли въехать в новый дом как можно скорее!
❗️ Прозрачность и честность: фиксируем стоимость работ и сроки, предлагаем удобную поэтапную оплату.
🔥 Специальные условия для IT-специалистов.
👉 Выполненные работы
👉 Подписывайтесь на канал
👉 Бесплатная консультация дизайнера
🤔 Чем отличаются HTTP и HTTPS
HTTP (HyperText Transfer Protocol) передаёт данные без шифрования, что делает соединение уязвимым для перехвата. HTTPS (HyperText Transfer Protocol Secure) использует SSL/TLS для шифрования данных, обеспечивая защиту конфиденциальной информации. Таким образом, HTTPS более безопасен и предпочтителен для передачи чувствительных данных, например, паролей и финансовой информации.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Только полезный контент для системных аналитиков!
Устали от лишней теории?
На канале Ольги Пономаревой только практическая информация: советы по проектированию и интеграции, шаги по созданию эффективных решений, навыки работы с Postman и Swagger, а также уникальные шаблоны для упрощения работы. Каждый пост — это кладезь знаний для аналитиков, стремящихся стать профессионалами.
Переходите в канал и получите доступ к полезным материалам от топового эксперта. Не упустите шанс и присоединяйтесь к сообществу профессионалов!
Подписаться
#реклама 16+
О рекламодателе
🤔 Где можно указать переменные в ролях?
В Ansible переменные могут быть определены в нескольких местах, включая роли. Роли в Ansible организуют задачи и файлы, делая плейбуки более модульными и повторно используемыми.
🟠defaults/main.yml
Переменные, определенные здесь, имеют самый низкий приоритет. Обычно используются для определения значений по умолчанию.
# roles/role_name/defaults/main.yml
some_variable: "default_value"
🟠vars/main.yml
Переменные, определенные здесь, имеют более высокий приоритет, чем переменные из defaults/main.yml. Используются для переменных, которые не должны быть изменены пользователем.
# roles/role_name/vars/main.yml
some_variable: "fixed_value"
🟠tasks/main.yml
Переменные могут быть определены непосредственно в задачах. Переменные, определенные таким образом, будут видны только в контексте этой задачи.
# roles/role_name/tasks/main.yml
- name: Set a variable
set_fact:
temporary_variable: "value"
🟠meta/main.yml
В файле метаданных можно определять зависимости ролей и использовать переменные для их настройки.
# roles/role_name/meta/main.yml
dependencies:
- role: dependency_role
some_variable: "value"
🟠templates/
Переменные могут использоваться в шаблонах Jinja2.
# roles/role_name/templates/template.j2
The value of some_variable is {{ some_variable }}
🟠handlers/main.yml
Переменные могут использоваться в хендлерах для настройки условий запуска.
# roles/role_name/handlers/main.yml
- name: restart service
service:
name: "{{ service_name }}"
state: restarted
🟠files/
В файлах, используемых в задачах копирования или шаблонизации, можно использовать переменные для указания пути к файлам или другим параметрам.
🚩Пример использования
defaults/main.yml
# roles/nginx/defaults/main.yml
nginx_port: 80
vars/main.yml
# roles/nginx/vars/main.yml
nginx_user: "www-data"
tasks/main.yml
# roles/nginx/tasks/main.yml
- name: Install Nginx
apt:
name: nginx
state: present
- name: Configure Nginx
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
- name: Start Nginx
service:
name: nginx
state: started
enabled: true
templates/nginx.conf.j2
# roles/nginx/templates/nginx.conf.j2
user {{ nginx_user }};
worker_processes auto;
events {
worker_connections 1024;
}
http {
server {
listen {{ nginx_port }};
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
Ставь 👍 и забирай 📚 Базу знанийRepost from Идущий к IT
Твое резюме на HeadHunter — ОК, если ты видишь это.
HeadHunter сравнивает ключевые навыки в твоем резюме и в вакансии и в момент отклика отображает, насколько % ты соответствуешь требованиям.
Специальный бейджик «Подходит по навыкам на 100%» отображается, если соответствие составляет более 60%.
Если при просмотре вакансий ты видишь такой бейджик, это значит, что список навыков в твоем резюме качественно составлен.
Это важный параметр, так как рекрутерам чаще показываются резюме с лучшим соответствием.
О том, как правильно указывать ключевые навыки и оптимизировать свое резюме я уже рассказывал в этом видео
🤔 Что такое Helm и Helm Charts?
Helm — это менеджер пакетов для Kubernetes, который упрощает развертывание и управление приложениями в кластерах. Helm Charts — это пакеты, содержащие все необходимые ресурсы и конфигурации для развертывания приложений в Kubernetes. Они позволяют параметризовать установку и обеспечивать повторное использование конфигураций через шаблоны.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Дарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких до конца года бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
🤔 Как решить конфликты в гите?
Конфликты в Git возникают, когда два или более коммитов изменяют одну и ту же часть файла по-разному, и система контроля версий не может автоматически объединить эти изменения. Решение конфликтов требует ручного вмешательства.
🚩Шаги для разрешения конфликтов
1⃣Идентификация конфликтов
Когда возникает конфликт, Git сообщает о конфликтных файлах после выполнения команды слияния (
git merge) или ребейза (git rebase).
git merge feature-branch
Вывод:
Auto-merging filename
CONFLICT (content): Merge conflict in filename
Automatic merge failed; fix conflicts and then commit the result.
2⃣Разрешение конфликтов вручную
Откройте конфликтный файл в текстовом редакторе. Конфликтные изменения помечены специальными маркерами. Удалите маркеры и решите, какие изменения сохранить. Это может быть одно из изменений или комбинация обоих.
<<<<<<< HEAD
# Изменения из текущей ветки
=======
# Изменения из сливаемой ветки
>>>>>>> feature-branch
Пример разрешения конфликта:
# До разрешения конфликта
<<<<<<< HEAD
Старый текст из текущей ветки
=======
Новый текст из feature-branch
>>>>>>> feature-branch
# После разрешения конфликта
Старый текст из текущей ветки
Новый текст из feature-branch
3⃣Добавление исправленных файлов в индекс
После разрешения конфликтов сохраните изменения и добавьте исправленные файлы в индекс:
git add filename
4⃣Завершение слияния или ребейза
🟠Завершение слияния
После добавления исправленных файлов в индекс завершите слияние, выполнив коммит:
git commit
🟠Завершение ребейза
Если вы выполняли ребейз, завершите процесс
git rebase --continue
Если необходимо прервать процесс ребейза
git rebase --abort
🚩Инструменты для упрощения разрешения конфликтов
🟠Встроенные инструменты редакторов
Многие текстовые редакторы, такие как Visual Studio Code, имеют встроенные инструменты для разрешения конфликтов, которые делают процесс более визуальным и удобным.
🟠Инструменты визуального сравнения (Merge tools)
KDiff3, Meld, Beyond Compare и другие инструменты могут помочь визуально сравнить и разрешить конфликты. Установка и настройка инструмента для слияния
git config --global merge.tool meld
Запуск инструмента для разрешения конфликтов
git mergetool
🚩Примеры
1⃣Идентификация конфликта
git merge feature-branch
Вывод
Auto-merging filename
CONFLICT (content): Merge conflict in filename
Automatic merge failed; fix conflicts and then commit the result.
2⃣Откройте файл filename в текстовом редакторе и разрешите конфликт:
# До разрешения конфликта
<<<<<<< HEAD
Старый текст из текущей ветки
=======
Новый текст из feature-branch
>>>>>>> feature-branch
# После разрешения конфликта
Старый текст из текущей ветки
Новый текст из feature-branch
3⃣Добавление исправленного файла в индекс
git add filename
4⃣Завершение слияния
git commit
Ставь 👍 и забирай 📚 Базу знаний🤔 Зачем эта работа?
Этот вопрос может иметь различные ответы в зависимости от контекста. Если речь идет о DevOps, то такая работа нужна для упрощения процессов разработки, тестирования, развертывания и мониторинга приложений, что в конечном итоге увеличивает скорость и качество выпуска продуктов, а также повышает удовлетворенность и продуктивность команды.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+9
Помощь в трудоустройстве в IT-сфере!
В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно!
Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита.
Для этого нужно:
- Перейти по ссылке
- Заполнить анкету и ответить на вопросы (занимает менее 3 минут)
- На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать
Перейти на сайт
#реклама 16+
urban-university.ru
О рекламодателе
🤔 Как отменить последний коммит?
🚩Методы
🟠Отмена последнего коммита с сохранением изменений
Команда git reset с параметром --soft отменяет последний коммит, но оставляет изменения в индексе (staging area), что позволяет вам внести изменения и закоммитить их снова.
HEAD~1: указывает на один коммит назад от текущего HEAD. --soft: сохраняет изменения в индексе.
git reset --soft HEAD~1
🟠Отмена последнего коммита с сохранением изменений в рабочей директории
Команда git reset с параметром --mixed отменяет последний коммит и сбрасывает индекс, но сохраняет изменения в рабочей директории. Это позволяет вам внести изменения и добавить их в индекс заново. --mixed: сбрасывает индекс, но сохраняет изменения в рабочей директории (по умолчанию).
git reset --mixed HEAD~1
🟠Отмена последнего коммита и изменений
Команда git reset с параметром --hard отменяет последний коммит и удаляет все изменения как из индекса, так и из рабочей директории. Это действие необратимо и должно использоваться с осторожностью. `--hard`: сбрасывает индекс и рабочую директорию.
git reset --hard HEAD~1
🟠Отмена последнего коммита с помощью `git revert`
Команда git revert создает новый коммит, который отменяет изменения, внесенные последним коммитом. Это сохраняет историю изменений и является более безопасным способом отмены коммита, особенно в публичных ветках. `HEAD`: указывает на последний коммит.
git revert HEAD
🚩Примеры использования
🟠Отмена последнего коммита с сохранением изменений в индексе
git reset --soft HEAD~1
Проверка состояния:
git status
🟠Отмена последнего коммита с сохранением изменений в рабочей директории
git reset --mixed HEAD~1
Проверка состояния
git status
Ставь 👍 и забирай 📚 Базу знанийБесплатное IT-образование в 2024
Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления
Выбирайте нужное и подписывайтесь:
👩💻 Python: @PythonPortal
📱 GitHub: @git_developer
👩💻 Frontend: @FrontendPortal
🤓 Книги айти: @portalToIT
👩💻 Java: @Java_Iibrary
👩💻 C#: @KodBlog
👩💻 С/С++: @Cpportal
⚙️ Backend: @BackendPortal
🐞 Тестирование: @QAPortal
👩💻 DevOps: @loose_code
🖥 Базы Данных & SQL: @SQL
👩💻 Golang: @juniorGolang
👩💻 PHP: @PHPortal
👩💻 Моб. разработка: @MobDev
👩💻 Разработка игр: @GameDevgx
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign
➡️ Сохраняйте себе, чтобы не потерять
🤔 По какой причине inode могут закончиться?
Inode могут закончиться на файловой системе, если создается большое количество мелких файлов. Каждый файл в UNIX-подобных системах использует inode для хранения метаданных. Если файловая система имеет ограниченное количество inode, и все они используются, новые файлы создать будет невозможно, даже если на диске еще есть свободное пространство.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Скидка 15% на корпоративное такси. Яндекс Go для бизнеса
Скидка 15% на первые три месяца.
Возврат НДС до 20% на все рабочие поездки. Контроль маршрутов и расходов в одном кабинете.
Быстрая подача авто от 5 минут. Удобное онлайн-подключение без визита в офис.
Узнать больше
#реклама
business.go.yandex
О рекламодателе
🤔 Что такое cherry pick?
Это команда в системе контроля версий Git, которая позволяет выбрать отдельные коммиты из одной ветки и применить их к другой ветке. Это полезно, когда вы хотите перенести конкретные изменения (коммиты) в текущую ветку, не выполняя слияние всей ветки.
🚩Когда используется
🟠Применение отдельных изменений
Когда нужно перенести конкретные исправления или функции из одной ветки в другую, не сливая все изменения из исходной ветки.
🟠Быстрое исправление ошибок
Когда найденное исправление в одной ветке нужно срочно применить в другой, например, из ветки разработки в ветку релиза.
🟠Избежание сложного слияния
Когда слияние всей ветки может привести к конфликтам или нежелательным изменениям,
cherry-pick позволяет аккуратно перенести только нужные коммиты.
🚩Примеры использования
🟠Простого `cherry-pick`
Перенос одного коммита из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch
# Выполните cherry-pick коммита
git cherry-pick <commit-hash>
🟠Применения нескольких коммитов
Перенос нескольких коммитов из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch
# Выполните cherry-pick нескольких коммитов
git cherry-pick <commit-hash-1> <commit-hash-2> <commit-hash-3>
🟠Применения диапазона коммитов
Перенос диапазона коммитов из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch
# Выполните cherry-pick диапазона коммитов
git cherry-pick <start-commit-hash>..<end-commit-hash>
🚩Разрешение конфликтов
1⃣Разрешите конфликты в файлах.
2⃣Добавьте изменения в индекс
git add <filename>
3⃣Завершите процесс cherry-pick
git cherry-pick --continue
🚩Прерывание
Если вы хотите прервать процесс cherry-pick, можно использовать команду
git cherry-pick --abort
Ставь 👍 и забирай 📚 Базу знаний🤔 В чём разница между TCP и UDP?
TCP (Transmission Control Protocol) — это протокол с установлением соединения, обеспечивающий надежную, упорядоченную и безошибочную передачу данных. UDP (User Datagram Protocol) — это более простой протокол без установления соединения, который позволяет передавать данные без гарантий доставки, порядка или проверки ошибок. TCP используется для задач, где важна надежность, а UDP — для задач, требующих максимальной скорости передачи.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Timetta — контроль проектов, ресурсов, финансов и задач
Комплексное решение для проектно-ориентированного бизнеса.
Приложение для контроля проектов, финансов, ресурсов, времени для средних и крупных команд.
✅Планируйте проекты
✅Оценивайте бюджеты
✅Подбирайте ресурсы
✅Контролируйте задачи
Узнать больше
#реклама 16+
timetta.com
О рекламодателе
🤔 Как открывается смотреть огромный лог размером 4-5 Гб?
Работа с большими логами может быть сложной, так как стандартные текстовые редакторы и команды могут не справляться с такими объемами данных.
🟠Использование команды `less`
Это команда для постраничного просмотра файлов, которая загружает файл по частям, что позволяет работать с большими файлами без их полного открытия в памяти. Навигация:
Space: следующая страница
b: предыдущая страница
G: перейти в конец файла
g: перейти в начало файла
/pattern: поиск по файлу
less /path/to/large-log-file.log
🟠Использование команды tail
Это команда для просмотра последних строк файла. Она полезна для мониторинга новых записей в реальном времени.
tail -n 1000 /path/to/large-log-file.log
Для непрерывного мониторинга
tail -f /path/to/large-log-file.log
🟠Использование команды `head`
Это команда для просмотра первых строк файла.
head -n 1000 /path/to/large-log-file.log
🟠Использование команды `awk`
Это мощный текстовый процессор, который может быть использован для фильтрации и обработки лог-файлов.
awk '/ERROR/' /path/to/large-log-file.log
🟠Использование команды tail
Это команда для поиска по файлу. Она позволяет быстро находить строки, содержащие определенные паттерны.
grep "ERROR" /path/to/large-log-file.log
Для просмотра строк до и после найденного паттерна
grep -C 5 "ERROR" /path/to/large-log-file.log
🟠Использование команды `split`
Это команда для разбиения больших файлов на более мелкие части. Разбиение файла на части размером по 500 МБ
split -b 500M /path/to/large-log-file.log part_
🟠Использование `Sublime Text` или других редакторов с поддержкой больших файлов
Некоторые текстовые редакторы, такие как Sublime Text, поддерживают работу с большими файлами. Они могут быть полезны для просмотра и редактирования логов.
🟠Использование специализированных утилит
GoAccess: интерактивный просмотр логов веб-сервера в режиме реального времени.
goaccess /path/to/access.log -c
lnav: интерактивный просмотрщик логов, который автоматически определяет формат логов и предоставляет удобную навигацию и поиск.
lnav /path/to/large-log-file.log
🚩Примеры использования
Использование less для просмотра большого лог-файла
less /path/to/large-log-file.log
Использование grep для поиска по логу
grep "ERROR" /path/to/large-log-file.log
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое и нужен ли swap?
Swap (файл подкачки) — это область на жестком диске, используемая операционной системой для временного хранения данных из оперативной памяти (RAM), когда она заполнена. Swap может помочь системе справляться с перегрузкой памяти, но использование swap может замедлить работу системы, так как доступ к данным на жестком диске медленнее, чем к RAM.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как и где посмотреть логи какого-нибудь сервиса?
Обычно хранятся в каталоге
/var/log. Также многие современные дистрибутивы используют систему журналирования systemd для управления и просмотра логов.
🚩Способы просмотра
🟠Просмотр логов в /var/log
Каталог /var/log содержит логи большинства системных сервисов и приложений.
Логи системных сообщений
/var/log/syslog: Содержит общие системные логи. /var/log/messages: Содержит общие системные сообщения (не во всех дистрибутивах).
cat /var/log/syslog
less /var/log/syslog
tail -f /var/log/syslog
Логи конкретных сервисов
Apache: /var/log/apache2/ или /var/log/httpd/ Логи доступа: /var/log/apache2/access.log или /var/log/httpd/access_log Логи ошибок: /var/log/apache2/error.log или /var/log/httpd/error_log
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
Nginx: /var/log/nginx/ Логи доступа: /var/log/nginx/access.log Логи ошибок: /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
MySQL: /var/log/mysql/ или /var/log/mysqld.log
tail -f /var/log/mysql/error.log
SSH: /var/log/auth.log или /var/log/secure
tail -f /var/log/auth.log
🟠Использование `journalctl` для системных логов
journalctl — это утилита для просмотра и управления журналами systemd. Она позволяет фильтровать логи по различным критериям, таким как время, сервис и уровень логирования.
Основные команды journalctl
Просмотр всех журналов
journalctl
Логов конкретного сервиса
journalctl -u nginx.service
Последних логов и продолжение просмотра в реальном времени
journalctl -f
journalctl -u nginx.service -f
Логов за определённый период
journalctl --since "2024-07-25 12:00:00" --until "2024-07-25 13:00:00"
Логов с определённым уровнем логирования
journalctl -p err
journalctl -p warning
🚩Примеры использования
🟠Просмотр логов Apache
Логи доступа
tail -f /var/log/apache2/access.log
Логи ошибок
tail -f /var/log/apache2/error.log
🟠Просмотр логов Nginx
Логи доступа
tail -f /var/log/nginx/access.log
Логи ошибок
tail -f /var/log/nginx/error.log
🟠Использование `journalctl` для просмотра логов Nginx
Все логи Nginx
journalctl -u nginx.service
Последние логи Nginx в реальном времени
journalctl -u nginx.service -f
Ставь 👍 и забирай 📚 Базу знаний