DevOps | Вопросы собесов
الذهاب إلى القناة على Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
إظهار المزيد5 565
المشتركون
-124 ساعات
-57 أيام
-1030 أيام
أرشيف المشاركات
🤔 Какие есть лучшие практики в использовании инструкции add и copy?
ADD и COPY — это инструкции Dockerfile, которые копируют файлы в контейнер. Их использование влияет на размер образа, безопасность и производительность сборки.
🚩Лучшие практики по использованию `COPY` и `ADD`
🟠Используйте `COPY` вместо `ADD`, если не нужно распаковывать архивы
Плохо (избыточное использование ADD)
ADD app.tar.gz /app/
Хорошо (явное распаковывание в RUN)
COPY app.tar.gz /tmp/
RUN tar -xzf /tmp/app.tar.gz -C /app && rm /tmp/app.tar.gz
🟠Минимизируйте число `COPY` и `ADD`, чтобы уменьшить размер образа
Плохо (копируем всё без исключений)
COPY . /app
Хорошо (копируем только нужные файлы)
COPY src/ /app/src/
COPY requirements.txt /app/
Добавьте .dockerignore
.git
node_modules
__pycache__
*.log
🟠Копируйте только изменяемые файлы, чтобы ускорить кэширование
Плохо (изменение кода приводит к пересборке зависимостей)**
COPY . /app
RUN pip install -r /app/requirements.txt
Хорошо (сначала зависимости, потом код)
COPY requirements.txt /app/
RUN pip install -r /app/requirements.txt
COPY src/ /app/src/
🟠Не используйте `ADD` для загрузки файлов из интернета
Плохо (ADD загружает файл, но не кэшируется)
ADD https://example.com/file.tar.gz /tmp/
🟠Хорошо (используем RUN curl + COPY)
RUN curl -L -o /tmp/file.tar.gz https://example.com/file.tar.gz
COPY file.tar.gz /app/
Ставь 👍 и забирай 📚 Базу знанийБитрикс24
💻Один онлайн-сервис для совместной работы.
📱10+ инструментов.
✅0 денег.
Счастливые сотрудники. Прибыльный бизнес.
Регистрируйтесь и забирайте себе
Зарегистрироваться
#реклама 16+
office-online.bitrix24.ru
О рекламодателе
🤔 Что такое сущность services в GitLab CI?
Это временные контейнеры, которые запускаются вместе с job. Например, база данных для интеграционных тестов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Какие framework знаешь?
Фреймворки — это библиотеки, упрощающие разработку. Они бывают для веба, DevOps, тестирования, машинного обучения и т. д.
🚩**Веб-разработка**
🟠Backend (серверная часть)
Django (Python) — мощный фреймворк для веб-приложений.
Flask (Python) — минималистичный микрофреймворк.
FastAPI (Python) — для API, быстрый на
async.
Spring Boot (Java) — корпоративные приложения.
Express.js (Node.js) — популярный фреймворк для API.
NestJS (Node.js) — модульный TypeScript-фреймворк.
🟠Frontend (клиентская часть)
React (JavaScript) — компоненты, Virtual DOM.
Vue.js (JavaScript) — лёгкий и быстрый.
Angular (TypeScript) — для сложных приложений.
Svelte — новый подход к реактивному UI.
🚩DevOps и инфраструктура
Ansible — автоматизация серверов.
Terraform — управление облаками через код.
Kubernetes (K8s) — оркестрация контейнеров.
Docker Swarm — альтернатива Kubernetes.
Prometheus — сбор метрик, мониторинг.
ELK Stack (Elasticsearch, Logstash, Kibana) — логирование.
🟠Тестирование
PyTest (Python) — удобное тестирование.
Selenium — тестирование UI в браузерах.
JUnit (Java) — тесты для Java-приложений.
Postman — API-тестирование.
🟠Машинное обучение и анализ данных
TensorFlow — глубокое обучение.
PyTorch — альтернатива TensorFlow.
Scikit-learn — классическое ML.
Pandas — обработка данных.
Matplotlib, Seaborn — визуализация данных.
🟠GameDev
Unity (C#) — 2D/3D-игры.
Unreal Engine (C++) — мощный движок.
Godot — лёгкий и бесплатный.
Ставь 👍 и забирай 📚 Базу знанийДарим подписку на Яндекс Музыку
Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно.
Кинопоиск и Яндекс Книги тоже в подписке.
Попробуйте сейчас❤️
Попробовать
#реклама 18+
music.yandex.ru
О рекламодателе
Реклама на Яндексе
🤔 Используя GitLab CI, что делать, если нужно сохранять данные между несколькими стейджами?
Применяйте artifacts, которые сохраняют промежуточные данные между этапами выполнения pipeline.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Если мы запускаем приложение в контейнере какой-то микросервис чем будет отличаться под в данном случае?
Если запустить микросервис просто в контейнере (например, через
docker run), он будет работать как отдельный процесс, без встроенной системы управления и оркестрации.
Но если запустить его в Kubernetes, он будет работать в поде (Pod).
🚩Когда использовать контейнер, а когда под?
Если нужен просто контейнер → docker run my-app.
Если нужен отказоустойчивый микросервис → Kubernetes Pod.
Если несколько контейнеров должны работать вместе (например, приложение + sidecar) → Pod.
Ставь 👍 и забирай 📚 Базу знанийПовысьте эффективность бизнеса с серверами SRV-LEGION!
✅ Надежность и качество: Серверы SRV-LEGION — это продукция российского производства, которая вошла в каталог продукции ГИСП и атлас импортозамещения CNews. Доверьтесь проверенному качеству!
✅ Гибкие решения под ваши нужды: Мы предлагаем индивидуальные конфигурации серверов, которые легко адаптируются под задачи бизнеса и госструктур. Используйте наш онлайн конфигуратор для создания идеального решения!
✅ Надежный поставщик: Мы гарантируем высокие стандарты обслуживания и технической поддержки. С нами вы можете быть уверены в стабильной работе ИТ-инфраструктуры.
💻 Закажите серверы SRV-LEGION и обеспечьте своему бизнесу надежную платформу для роста и развития.
📞 Свяжитесь с нами для бесплатной консультации и узнайте больше о наших решениях!
Перейти на сайт
#реклама
srv-legion.ru
О рекламодателе
🤔 Что делать, если у нескольких команд в CI есть общие таски?
Вынесите общие задачи в отдельный pipeline или shared template, чтобы команды могли переиспользовать их без дублирования.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое debezium?
Она позволяет отслеживать изменения в базах данных (INSERT, UPDATE, DELETE) в реальном времени и передавать их в Kafka, Elasticsearch, MongoDB и другие системы.
🚩Как работает Debezium?
Подключается к базе данных
(PostgreSQL, MySQL, MongoDB, Oracle и др.).
Слушает лог изменений (binlog, WAL, oplog и т. д.)
Формирует события в формате JSON
Передаёт их в Kafka или другую шину данных.
🚩Где используется?
Синхронизация данных между базами
Репликация данных в реальном времени
Отправка изменений в аналитические системы (Elasticsearch, ClickHouse)
Аудит и логирование изменений
🟠Пример работы с Kafka
Запускаем Debezium Connector для PostgreSQL*
{
"name": "inventory-connector",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "localhost",
"database.port": "5432",
"database.user": "debezium",
"database.password": "dbz",
"database.dbname": "inventory",
"database.server.name": "dbserver1"
}
}
При изменении данных в таблице, Kafka получит событие:
{
"schema": { ... },
"payload": {
"before": { "id": 1, "name": "Old Name" },
"after": { "id": 1, "name": "New Name" },
"op": "u" // Update
}
}
Ставь 👍 и забирай 📚 Базу знаний6 свободных мест на курс Коммутаторы MES продвинутый
Осталось 6 мест:
- 3 очных
- 3 дистанционных
Использование коммутаторов MES (продвинутый)
Даты - 24.03-28.03 (5 дней)
Другие курсы:
Март:
Коммутаторы MES (базовый уровень) - 10.03 - 14.03 - 4 места
Апрель:
Маршрутизаторы ESR (продвинутый уровень) - 31.03 - 04.04 - 8 мест
Коммутаторы MES (базовый уровень) - 07.04 - 11.04 - 8 мест
Записаться
#реклама 16+
eltexcm.ru
О рекламодателе
🤔 Какие инструменты приходилось использовать для мониторинга контейнеров?
Инструменты, такие как Prometheus, Grafana, ELK Stack, Datadog, помогают собирать метрики, анализировать логи и визуализировать состояние контейнеров.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Если запустить любой плейбук через консоль какая там появится первая надпись?
При запуске Ansible-плейбука через консоль командой
ansible-playbook playbook.yml
Первая строка, которая появится в консоли
PLAY [имя_плейбука] *****************************************************Пример запуска
ansible-playbook site.yml
Вывод в консоли:
PLAY [Install and configure web server] *********************************Если
name: не указан в плейбуке, будет:
PLAY [Unnamed Play] ****************************************************Ставь 👍 и забирай 📚 Базу знаний
Курс по мотивации сотрудников, которые ничего не хотят
Сегодня в Школе Гендира открыт бесплатный трехдневный доступ к онлайн-курсу Ежедневная мотивация. Основа курса – практика руководителей российских компаний.
После обучения вы сможете:
👍 распознавать конфликты в коллективе на начальной стадии и вовремя принимать меры
👍 определить точки роста своего лидерского потенциала
👍 построить систему грейдов в компании
👍 внедрить метод OKR для мотивации ключевых сотрудников
👍 адаптировать для себя один из алгоритмов постановки задач
Оставьте заявку на бесплатный доступ на странице курса.
Подать заявку
#реклама 16+
gd.ru
О рекламодателе
🤔 Почему в Google Cloud отдельно продают Managed Database Service, если можно развернуть базу данных?
Managed Database Service снижает нагрузку на администратора, предлагая автоматическое управление, резервирование, масштабирование и обновления.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Repost from easyoffer
💡 В EasyOffer 2.0 появится фильтрация вопросов по грейдам и типам интервью!
📊 Например, вот вероятности ТОП-30 вопросов, которые задают на HR-скрининге Python-разработчику уровня Middle/Senior. Данные основаны на 53 реальных интервью.
97% Какие у тебя зарплатные ожидания
73% Какие у тебя есть вопросы
44% Какие критерии при выборе будущей работы
41% Расскажи о себе
38% Почему ищешь работу
35% Расскажи про свой опыт
35% Расскажи про проект на предыдущей работе
32% Почему уволился с предыдущей работы
29% Где территориально сейчас живешь/находишься
23% Есть ли другие предложения по работе
17% Есть ли военный билет
17% Почему хочешь сменить работу
17% Как проводишь свободное время
17% Расскажи про задачи на предыдущей работе
17% Сколько коммерческого опыта работы с Python
17% С какими БД работал
14% Находишься ли в активном поиске работы
14% С каким стеком работаешь
14% Почему решил откликнуться на нашу вакансию
14% Какой текущий статус поиска работы
11% Почему решил стать программистом
11% С какими фреймворками работал
11% Какую зарплату получал на предыдущей работе
11% Работаешь ли в настоящий момент
11% На какой грейд себя оцениваешь
11% Как быстро можешь приступить к работе после получения офера
11% Расскажи про свои pet-проекты
8% Какие знаешь типы данных в Python
8% Что такое декоратор в Python
8% Что ищешь на новой работе
🚀 Скоро стартует краудфандинговая кампания, которая поможет ускорить разработку EasyOffer 2.0.
Первые спонсоры получат уникальные лимитированные награды!
📢 Если вам это интересно, подписывайтесь на канал 👉 этот телеграм канал
🤔 При попытке создания файла на диске на linux ошибка что места нет проверяете место есть с чем это может быть связано
Если при создании файла в Linux появляется ошибка, что места нет, но
df -h показывает свободное место, проблема может быть в следующем:
🚩Закончились inodes
Inodes – это структуры, которые хранят метаданные о файлах. Даже если есть свободное место, но inodes кончились, новые файлы создать нельзя.
df -i
Найти каталоги с множеством маленьких файлов:
find /path -xdev -type f | wc -l # Количество файлов в каталоге
🚩Ограничение дискового квотирования (quota)
В системе могут быть настроены дисковые квоты, которые ограничивают использование диска для пользователя или группы.
quota -v
🚩Заполнен раздел `/var`, `/tmp` или `/home`
В системе может быть несколько дисковых разделов (/, /var, /home и т. д.). Если один из них заполнен, в него нельзя записывать файлы.
df -hT
🚩Файловая система смонтирована в режиме `read-only`
Если файловая система перешла в режим «только для чтения» (read-only) из-за ошибки или сбоя, запись на неё невозможна.
mount | grep ' ro,'
Если файловая система смонтирована с `ro`, значит, запись запрещена. Перемонтировать диск:
mount -o remount,rw /path
Проверить диск на ошибки:
dmesg | tail -20 # Лог ошибок
fsck /dev/sdX # Проверка диска
Ставь 👍 и забирай 📚 Базу знанийКогда подрядчик тележится, добавляйте его в Коллабу
Битрикс24 Коллабы – платформа для эффективной работы с подрядчиками. Тут обсуждения превращаются в задачи, а видео созвон можно собрать одной кнопкой. Любой проект можно разложить по полочкам с понятным ТЗ и обозначенными сроками.
Работайте в Битрикс24 и создавайте Коллабы с подрядчиками.
Начать
#реклама 16+
collabs.bitrix24.ru
О рекламодателе
🤔 Что делать, если есть Kubernetes кластер и приложению понадобилась база данных?
Используйте StatefulSet или сторонние операторы для управления базами данных, либо подключите Managed Database Service, если она доступна.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое config map в кубере?
ConfigMap в Kubernetes – это механизм хранения конфигурационных данных. Он позволяет разделять код приложения и настройки, храня конфигурацию в виде ключ-значение. ConfigMap удобен для передачи переменных окружения, файлов конфигурации, командных аргументов без изменения образа контейнера.
🚩Основные способы использования ConfigMap
🟠Переменные окружения
передача настроек через ENV.
🟠Файлы конфигурации
монтирование в контейнер как файл.
🟠**Параметры командной строки**
передача аргументов в
command.
🚩Как создать ConfigMap?
1⃣Создание из манифеста
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
APP_ENV: "production"
LOG_LEVEL: "debug"
CONFIG_FILE: |
[settings]
mode = "production"
debug = true
2⃣Создание из командной строки
kubectl create configmap my-config --from-literal=APP_ENV=production --from-literal=LOG_LEVEL=debug
3⃣Создание из файла
kubectl create configmap my-config --from-file=config.ini
🚩Как использовать ConfigMap в подах?
1⃣Как переменные окружения
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: app
image: my-app
env:
- name: APP_ENV
valueFrom:
configMapKeyRef:
name: my-config
key: APP_ENV
2⃣Как монтируемый файл
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: app
image: my-app
volumeMounts:
- name: config-volume
mountPath: "/etc/config"
volumes:
- name: config-volume
configMap:
name: my-config
Ставь 👍 и забирай 📚 Базу знаний