← [Раздел](README.md) · [Главная](../README.md)

# Вопросы на собеседовании DevSecOps

## Цель

Подготовиться к **техническим и поведенческим** вопросам на интервью DevSecOps / Product Security / Platform Security: знать типичные темы и структуру сильного ответа.

## Предварительно

- Материалы разделов [10](../10-instrumenty/README.md) и [11](../11-praktikum/README.md).
- Один проект в портфолио ([portfolio-proekty.md](portfolio-proekty.md)).

## Время

~50 минут (+ 2 часа mock interview с другом).

## Формат ответа STAR+Tech

1. **Короткий тезис** (10 сек).
2. **Как делали вы** (пример из лабы/работы).
3. **Trade-off** (что не выбрали и почему).
4. **Метрика или артефакт** (audit log, MTTR).

## CI/CD и SDLC

**1. Где в пайплайне ставить secret scanning и почему?**

Ожидание: до merge, на каждый commit/MR; опционально nightly full history; блок merge; ротация при находке в main.

**2. Semgrep vs Trivy — в чём разница?**

Semgrep — паттерны в **исходном коде**; Trivy — **зависимости и образы** (CVE). Дополняют друг друга.

**3. Как обрабатывать false positive в SAST?**

Тикет, `nosemgrep` / rule tuning, срок пересмотра, не глобальный disable.

**4. Что такое shift left и где его предел?**

Ранние проверки дешевле; предел — runtime (Falco), social engineering, zero-day без патча.

## Kubernetes и облако

**5. Объясните Role vs ClusterRole.**

Role — namespace scope; ClusterRole — cluster-wide; RoleBinding связывает subject с Role.

**6. Зачем NetworkPolicy, если есть firewall?**

Микросегментация east-west; компрометированный pod не сканирует всю сеть кластера.

**7. Как безопасно дать CI доступ к deploy в AWS?**

OIDC federation, short-lived role, trust policy на repo+branch, no long-lived keys.

**8. runAsNonRoot — зачем?**

Снижение impact при RCE в контейнере; связь с Pod Security Standards / Kyverno.

## Секреты и комплаенс

**9. Vault vs Kubernetes Secret (base64)?**

K8s Secret — base64, не шифрование по умолчанию; Vault — ACL, audit, dynamic secrets, rotation.

**10. Что такое audit evidence для ISO 27001?**

Логи CI, MR approvals, scan reports с датами, привязка к контролю SoA.

**11. GDPR: что меняется в логировании?**

Минимизация ПДн, retention, маскирование, право на удаление.

## Инциденты

**12. Первые шаги при утечке AWS key в публичный Git?**

Revoke key, assess scope (git history, forks), rotate, forensics, notify по политике, post-mortem.

**13. MTTD и MTTR — определите.**

Time to detect / time to recover; как улучшили бы через Gitleaks + Falco.

## Поведенческие

**14. Разработчик хочет skip security scan «на один раз».**

Ответ: риск-исключение с письменным approval, срок, альтернатива (hotfix branch + expedited scan).

**15. Конфликт: Security хочет block все High CVE, Product — velocity.**

Данные: % false positive, SLA patch, risk matrix; пилот на одной команде; executive risk acceptance для остаточного риска.

## System design (whiteboard)

**16. Спроектируйте security pipeline для 100 микросервисов.**

Центральные templates (include workflow), policy-as-code, artifact registry scanning, метрики в dashboard, исключения через тикеты.

**17. Как хранить секреты для 3 сред (dev/stage/prod)?**

Разные paths Vault / разные accounts; no prod secrets in dev; automation rotation.

## Вопросы кандидата работодателю

- Где сейчас security gates в CI — optional или mandatory?
- Есть ли dedicated Security champion program?
- Как оформляются risk exceptions?
- On-call для security incidents?

## Mock drill (самостоятельно)

Засеките 3 минуты на ответ устно на вопросы 1, 7, 12. Запишите голосом, переслушайте.

## Самопроверка

Отметьте уверенность 1–5:

- [ ] OIDC в CI
- [ ] Trivy policy
- [ ] RBAC debugging (`kubectl auth can-i`)
- [ ] Tabletop IR
- [ ] GDPR logging

Пробелы ≤3 — повторите соответствующие лабы.

## Live coding / take-home (примеры задач)

1. Добавить job Gitleaks в данный `.gitlab-ci.yml` (15 мин).
2. Написать NetworkPolicy: ingress только от ingress-nginx (20 мин).
3. Объяснить diff: почему `pull_request_target` опасен (10 мин).
4. Приоритизировать список из 5 CVE для патча завтра (discuss).

На take-home: не отправляйте `.env`; README с `make security` обязателен.

## Красные флаги работодателя (для вас)

- «Security настроит один человек за неделю на 500 репо».
- Нет branch protection на `main`.
- «Сканеры мешают, отключим» как культура по умолчанию.
- On-call security без runbook и эскалации.

## Шпаргалка одной страницы (повтор перед интервью)

- **CIA**: Confidentiality, Integrity, Availability.
- **SDLC gates**: secret → SAST → dep → image → deploy → runtime.
- **K8s**: RBAC least privilege, NetworkPolicy default deny, PSS restricted.
- **Секреты**: Vault/OIDC, rotate, audit log.
- **Инцидент**: contain → evidence → eradicate → recover → post-mortem.

## Дальше

[Кейсы из продакшена](keisy-iz-proda.md) — как звучат реальные истории.
