DevOps / SRE — техническое интервью
60 минут, middle → senior. CI/CD, Kubernetes, observability, инциденты, IaC.
- Questions
- 14
- Live coding
- 2
Разогрев: опыт и контекст
Опыт DevOps/SRE
Какой стек инфраструктуры поддерживали? Cloud, on-prem, размер команды и сервисов?
Scoring rubric (0–10)
3–5: «Настраивал CI» без масштаба. 6–8: K8s или VM; AWS/GCP/Yandex; кол-во сервисов; on-call rotation. 9–10: SLO-driven ops; cost vs reliability trade-offs; platform team vs embedded. Красный флаг: «только Docker compose в проде» на senior SRE без оговорки.
Interviewer notes
2–3 минуты.
CI/CD и контейнеры
CI/CD pipeline
Опишите идеальный pipeline от commit до production. Где gates и rollback?
Scoring rubric (0–10)
3–5: «Build → deploy». 6–8: Lint/test/build; artifact; staging; manual/auto promote; rollback strategy. 9–10: Blue/green or canary; feature flags; db migration ordering; signed artifacts. Красный флаг: deploy main без tests «если срочно».
Interviewer notes
4 минуты.
Docker образы
Как уменьшить размер и время сборки Docker image? Чем опасен latest tag?
Scoring rubric (0–10)
3–5: «Multi-stage» без примеров. 6–8: Layer cache; .dockerignore; non-root user; pin digest not latest. 9–10: Distroless; SBOM/scan; reproducible builds. Красный флаг: secrets в ENV в Dockerfile committed.
Interviewer notes
4 минуты.
Kubernetes basics
Чем Deployment отличается от StatefulSet? Что делает liveness vs readiness probe?
Scoring rubric (0–10)
3–5: «Deployment для приложений». 6–8: Replicas; rolling update; readiness — traffic only when ready; liveness — restart stuck. 9–10: PDB; HPA; sticky state; init containers. Красный флаг: liveness на dependency DB → restart loop.
Interviewer notes
5 минут.
Секреты
Как храните и ротируете secrets в K8s / cloud? Чего нельзя делать?
Scoring rubric (0–10)
3–5: «ConfigMap» для паролей. 6–8: Sealed Secrets / External Secrets / Vault; RBAC; no git plaintext. 9–10: Short-lived creds; rotation automation; audit log. Красный флаг: kubectl get secret -o yaml в slack.
Interviewer notes
5 минут.
Infrastructure as Code
Terraform vs Helm — когда что? Как боретесь с drift?
Scoring rubric (0–10)
3–5: «Terraform для всего». 6–8: TF for cloud infra; Helm/Kustomize for K8s manifests; plan in CI. 9–10: State locking; module versioning; policy as code (OPA/conftest). Красный флаг: ручные hotfix в prod без отражения в IaC.
Interviewer notes
4 минуты.
Практика: скрипты
Подсчёт уровней логов
Напишите функцию countLogLevels(lines), где lines — массив строк логов вида '[ERROR] ...'. Верните объект { ERROR: n, WARN: n, INFO: n }.
Scoring rubric (0–10)
3–5: indexOf без regex; падает на неизвестных уровнях. 6–8: Regex /^\[(ERROR|WARN|INFO)\]/; default 0; case sensitivity. 9–10: Streaming for large files; structured JSON logs alternative. Красный флаг: hardcode только ERROR.
Interviewer notes
10 минут.
Health check aggregator
Дан массив { name, status: 'up'|'down' }. Верните 'healthy' если все up, иначе список имён down сервисов через запятую.
Scoring rubric (0–10)
3–5: some() без списка имён. 6–8: filter down; join names; empty down => healthy. 9–10: Extensible for degraded/partial; typing. Красный флаг: throws on empty input without spec.
Interviewer notes
10 минут.
Observability и инциденты
SLI и SLO
Придумайте SLI/SLO для HTTP API. Как error budget влияет на релизы?
Scoring rubric (0–10)
3–5: «99.9% uptime» без измерения. 6–8: SLI: availability/latency p99; SLO window; burn rate alerts. 9–10: Multi-window alerts; tie to release policy; user-facing vs internal SLI. Красный флаг: SLO = «нет алертов».
Interviewer notes
5 минут.
Инцидент
Production down в пятницу вечером — ваши первые 15 минут действий?
Scoring rubric (0–10)
3–5: «Чиним сразу» без коммуникации. 6–8: Incident channel; severity; rollback/mitigate; timeline; status page. 9–10: Commander role; blameless postmortem; action items with owners. Красный флаг: hide incident from stakeholders.
Interviewer notes
4 минуты.
Инженерная культура и вопросы
Run an interview with this template
Sign up free: copy the template to your org, schedule an interview, and run it in a room with live coding.
Get started in FlashTalk