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

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

前往频道在 Telegram
5 505
订阅者
-324 小时
-107
-530
帖子存档
🤔 Как в Docker Swarm делать автоскейлинг и возможно ли это? Автоскейлинг в Docker Swarm отсутствует на уровне платформы. Его можно реализовать с помощью внешних инструментов, таких как Docker API, скрипты или сторонние решения для мониторинга нагрузки и автоматического увеличения количества реплик. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

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

🤔 В чём главное отличие Docker Swarm от Kubernetes? Это встроенная в Docker система оркестрации контейнеров, упрощённая и быстрая в настройке. Kubernetes, в свою очередь, предоставляет более мощные функции, такие как автоскейлинг, управление состоянием приложений, мониторинг и более сложная система работы с ресурсами. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Для чего используется 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;
Ставь 👍 и забирай 📚 Базу знаний

Все новости из мира программирования на этом канале @umnyiprogrammist Подписывайтесь, чтобы не упустите ничего важного Ставь
Все новости из мира программирования на этом канале @umnyiprogrammist Подписывайтесь, чтобы не упустите ничего важного Ставь 👍 и забирай 📚 Базу знаний

🤔 Как версионировать несколько ролей на Ansible в банковском секторе? Версионирование ролей осуществляется через Git, используя теги для указания стабильных версий. Можно создать отдельные репозитории для каждой роли либо хранить их в монорепозитории, где каждая роль имеет свой файл версионирования. Также целесообразно использовать Ansible Galaxy для удобства управления. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Как масштабировать команду? — Нанять аутсорс А как проще всего работать с аутсорсерами? — В Битрикс24 Коллабах. Это платформа
Как масштабировать команду? — Нанять аутсорс А как проще всего работать с аутсорсерами? — В Битрикс24 Коллабах. Это платформа для работы с внешними специалистами внутри вашего Битрикс24. Выглядит как чат, только удобнее. Встроены задачи, встречи, файлы. Для коротких и долгосрочных проектов. Особенно удобно для взаимодействия команд, где обсуждается несколько параллельных задач. Узнать больше #реклама 16+ collabs.bitrix24.ru О рекламодателе

🤔 Что такое basic auth? Basic Auth (Basic Authentication) – это простой метод аутентификации HTTP-запросов. Он используется для ограничения доступа к ресурсам, отправляя логин и пароль в заголовке запроса. 🟠Как работает Basic Auth? Клиент делает запрос к серверу. Сервер отвечает 401 Unauthorized и требует аутентификацию:
   HTTP/1.1 401 Unauthorized  
   WWW-Authenticate: Basic realm="Restricted Area"
   
Клиент кодирует логин и пароль в Base64 и отправляет их в заголовке:
   Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
   
🟠Пример запроса с Basic Auth В curl
curl -u username:password http://example.com/protected
В Python (requests):
import requests
from requests.auth import HTTPBasicAuth

response = requests.get("http://example.com/protected", auth=HTTPBasicAuth("username", "password"))
print(response.text)
В JavaScript (fetch):
fetch("http://example.com/protected", {
  headers: {
    "Authorization": "Basic " + btoa("username:password")
  }
})
.then(response => response.text())
.then(data => console.log(data));
🚩МинусыНе безопасен без HTTPS данные передаются в открытом виде (Base64 — это не шифрование!). ➖Логин и пароль передаются в каждом запросе что делает систему уязвимой. ➖Нет механизма разлогинивания браузеры кэшируют креды, и их сложно сбросить. Ставь 👍 и забирай 📚 Базу знаний

Repost from easyoffer
Ищу работу пол года Практически под каждым постом в этом канале я вижу комментарии от людей, которые ищут работу по полгода. Это перерастает в обсуждение того, как нужно (или не нужно) искать работу, почему процесс найма сломан и как они откликались на фейковые вакансии. Честно говоря, искать работу полгода — это нонсенс. Очевидно, что человек делает что-то не так. Главная ошибка, которую совершают многие, — это создание иллюзии поиска работы. То есть человек вроде бы ищет работу, но делает это неэффективно, тратя время на нецелевые действия. Например: ➖ Просматривает вакансии перед откликом. ➖ Пытается понять, подходит ли он под вакансию. Если считает, что не подходит — не откликается. ➖ Пишет сопроводительные письма (иногда даже уникальные под каждую вакансию). ➖ Заполняет анкеты, проходит тесты. Все эти действия отнимают время, но не приводят к результату. Почему это не работает? HR-менеджер не может вручную отсмотреть 2000 откликов, оценить каждое резюме и прочитать сопроводительные письма. Поэтому компании используют ATS-системы (системы автоматического подбора), которые анализируют резюме и определяют процент его соответствия вакансии. Что делать, чтобы повысить шансы? 1️⃣ Добавить ключевые навыки в резюме — и в основной текст, и в теги. Возьмите их с easyoffer.ru 2️⃣ Убрать нерелевантный опыт, оставить только подходящий. 3️⃣ Оформить опыт так, чтобы он выглядел релевантным. Если у вас его нет, укажите проекты, стажировки или другой опыт, который можно представить как работу от 1 года. Если опыт слишком большой, сузьте его до 6 лет. 4️⃣ Откликаться на все вакансии без разбору. Если вы Junior, не ищите только стажер или Junior-вакансии — пробуйте везде. Не отказывайте себе сами, пусть это решит HR 5️⃣ Сделать резюме публичным, потому что HR-менеджеры часто ищут кандидатов не только среди откликов, но и в базе резюме. 6️⃣ Используйте ИИ по минимуму – ATS-системы считывают это и помечают "сгенерировано ИИ" ‼️ Главное правило: чем больше откликов — тем выше шанс получить оффер. Делайте резюме удобным для ATS-систем, и вас заметят. 1. Посмотрите видео о том как я вывел свою резюме в Топ1 на HH 2. Посмотрите видео как я нашел первую работу 3. Прочитайте этот кейс про оптимизацию резюме Если прям вообще тяжело. Создайте несколько разных резюме. Создайте 2, 3 да хоть 10 резюме. Настройте авто-отлики и ждите приглашения на собесы. Не нужно создавать иллюзию поиска работы, сделайте несколько простых и актуальных действий.

🤔 Каким бы образом организовали дистрибуцию нескольких ролей на Ansible в банковском секторе? Для дистрибуции ролей в банковском секторе важно учитывать стандарты безопасности и централизованное управление конфигурациями. Роли можно распределять по окружениям (dev, staging, prod) с использованием динамических инвентаризаций. Каждая роль должна быть изолирована, иметь чёткие зависимости и документацию для поддержки. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Почему выстрелил terraform а не salt? Terraform стал популярнее, чем SaltStack, потому что он лучше решает задачи управления инфраструктурой как кодом (IaC) и обеспечивает декларативный и удобный подход. 🟠Разделение инфраструктуры и конфигурации Terraform = управление инфраструктурой (создание виртуальных машин, баз данных, сетей и т. д.). SaltStack = управление конфигурацией (разворачивание ПО, управление пользователями, файлами и т. д.). 🚩Почему Terraform выстрелил? В современном DevOps важнее быстро и гибко создавать инфраструктуру (AWS, Kubernetes, облака). Salt же больше заточен под настройку серверов, но это стало второстепенным. 🟠Декларативный подход Terraform = декларативный язык HCL (HashiCorp Configuration Language)
  resource "aws_instance" "web" {
    ami           = "ami-123456"
    instance_type = "t2.micro"
  }
  
🟠Лёгкость и отсутствие агентов Terraform = не требует агентов, просто вызывает API облачных провайдеров. Salt = требует установки Salt Master и Minion'ов на серверах. 🟠Популярность облаков (AWS, Azure, GCP, Kubernetes) Terraform нативно интегрируется с облаками (AWS, GCP, Azure, Kubernetes). Salt тоже умеет работать с облаками, но его основное применение – настройка серверов. 🟠Лучшая экосистема и поддержка сообщества - У Terraform больше модулей и провайдеров. - Salt – сложнее настроить для облаков, и сообщество у него меньше. Ставь 👍 и забирай 📚 Базу знаний

🤔 В чём отличие команд docker stop и docker pause? 1. docker stop: - Корректно завершает процесс внутри контейнера. - Отправляет сигнал SIGTERM, а затем SIGKILL, если процесс не завершился. 2. docker pause: - Приостанавливает выполнение всех процессов в контейнере с помощью cgroups. - Контейнер остается активным, но процессы заморожены. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как проще проверить есть ли на сервер nginx? Проверить, установлен ли NGINX на сервере, можно несколькими способами: Проверка запущенного процесса
ps aux | grep nginx
Если NGINX работает, будет вывод с процессами, например:
root      1234  0.0  0.1  123456  7890 ? Ss   10:00   0:00 nginx: master process /usr/sbin/nginx
Проверка через systemctl (если systemd)
systemctl status nginx
Если NGINX установлен и работает, будет что-то вроде:
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since ...
Проверка через nginx -v (версия)
nginx -v
Если NGINX установлен, покажет версию, например:
nginx version: nginx/1.20.1
Проверка пакетов (dpkg или rpm) Если сервер на Debian/Ubuntu:
dpkg -l | grep nginx
Если сервер на CentOS/RHEL:
rpm -qa | grep nginx
Проверка открытых портов (если сервер работает)
netstat -tulnp | grep :80
или
ss -tulnp | grep :80
Ставь 👍 и забирай 📚 Базу знаний

Repost from easyoffer
Привет, ребята! 1,5 года я учился на программиста, а сайт easyoffer.ru стал моим пет-проектом. Я создавал его, потому что: а)
Привет, ребята! 1,5 года я учился на программиста, а сайт easyoffer.ru стал моим пет-проектом. Я создавал его, потому что: а) нужно было добавить хоть какой-нибудь проект в резюме б) подготовиться к прохождению собесов И всё получилось! Благодаря еasyoffer я успешно прошёл собеседование и устроился Python Junior-разработчиком на удаленку с зарплатой 115 тысяч рублей. Однако ещё во время разработки я понял, что у этого проекта есть потенциал. Казалось, что сайт может стать популярным и, возможно, превратиться в стартап. По-этому я с самого начала заложил в проект минимальную бизнес-модель, на случай, если сайт начнёт набирать трафик. Я предложил пользователям полный доступ к сайту в обмен на подписку на Telegram-каналы. Это позволяло развивать аудиторию, а в будущем — зарабатывать на рекламе. Результат превзошёл ожидания! С момента запуска easyoffer посетило 400 тысяч человек. А когда доход с рекламы превысил мою зарплату программиста, я принял решение уйти с работы и полностью посвятить себя разработке новой версии сайта. Вот так, зайдя в IT, через 4 месяца вышел через свой же пет-проект. Мне очень повезло Уже год я работаю над easyoffer 2.0. Это будет более масштабный и качественной новый проект: – Появится тренажер – Появятся задачи из собесов – Фильтрация контента по грейдам и еще очень много фич, о которых я расскажу позже. Хочу, довести easyoffer до ума, чтобы сайт стал настоящим помощником для всех, кто готовится к собеседованиям. По этому в ближайшее время я объявлю о старте краудфандинговой кампании, чтобы ускорить разработку и я готов щедро отблагодарить всех, кто поддержит проект. А те, кто поддержат проект первыми, получат специальные лимитированные выгодные вознаграждения. Следите за этим телеграм каналом, если хотите стать первыми сапортерами.

🤔 Опишите обстоятельства, при которых потеряются данные внутри Docker-контейнера, чтобы они полностью исчезли. 1. Контейнер удален без сохранения данных в volume или bind mount. 2. Файлы хранятся в tmpfs, который очищается при остановке контейнера. 3. Используется ephemeral контейнер, данные которого существуют только в памяти. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие есть метрики для измерения качества системы? Для измерения качества системы (особенно в DevOps, SRE и разработке) используют различные метрики производительности, надежности и доступности. 🚩Основные метрики качества системы 🟠Метрики "Четырёх ключевых показателей" (DORA) Эти метрики помогают оценить эффективность процессов DevOps: Lead Time for Changes (Время доставки изменений) — время от написания кода до его выхода в прод. Deployment Frequency (Частота развертываний) — как часто изменения попадают в прод. Mean Time to Restore (MTTR) (Среднее время восстановления) — как быстро исправляются инциденты. Change Failure Rate (Процент неудачных изменений) — доля развертываний, вызывающих сбои. 🟠Метрики надежности и доступности (SRE) Эти метрики помогают измерять надежность системы: SLA (Service Level Agreement) — договорное время доступности (например, 99.9%). SLO (Service Level Objective) — целевое значение доступности (например, 99.95%). SLI (Service Level Indicator) — фактические измеренные показатели (например, 99.93%). Error Rate — процент ошибок в системе (HTTP 500, таймауты и т. д.). Latency (Задержка) — время ответа системы на запросы. 🟠Метрики производительности Они показывают, насколько быстро работает система: CPU Utilization — загрузка процессора. Memory Usage — использование оперативной памяти. Disk I/O — скорость чтения/записи на диск. Network Throughput — пропускная способность сети. Response Time — время отклика системы. 🟠Метрики пользовательского опыта Оценивают удобство работы пользователей с системой: Apdex (Application Performance Index) — индекс удовлетворенности пользователей (0–1). TTFB (Time to First Byte) — время до получения первого байта ответа от сервера. Page Load Time — время полной загрузки страницы. Bounce Rate — процент пользователей, покинувших сайт без взаимодействия. Ставь 👍 и забирай 📚 Базу знаний

🤔 Насколько плотно приходилось работать с Bamboo? Если работали плотно: - Настраивали пайплайны для CI/CD. - Конфигурировали задачи для сборки, тестирования и деплоя. - Использовали Bamboo для мониторинга состояния сборок и анализа ошибок. Если опыта мало: - Работали с базовыми настройками и интеграцией с репозиториями. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

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

🤔 Как сделать так, чтобы в контейнер попасть извне Kubernetes, например, открыть страничку из интернета? 1. Настройка сервиса: - Создайте Kubernetes Service типа NodePort или LoadBalancer. 2. Ingress: - Настройте Ingress для маршрутизации трафика с использованием доменного имени. 3. Проброс портов: - Используйте kubectl port-forward, чтобы связать локальный порт с портом контейнера. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний