Подготовка к интервью

Вопросы, которые задают в реальных компаниях. Это не «выучи 100 вопросов» — это «понимай настолько, чтобы ответить любую формулировку».

Общие концепции

DevOps, методологии, ритуалы

Linux

Базовые и продвинутые

Networking

OSI, DNS, TCP, TLS

Контейнеры

Docker, namespace, registries

Kubernetes

Архитектура, объекты, дебаг

Cloud

AWS, IAM, VPC

CI/CD

GitOps, стратегии

Security / DevSecOps

OWASP, supply chain, секреты

System Design

Архитектурные кейсы

Behavioral

STAR метод, soft skills

Общие концепции

  1. Что такое DevOps? Ожидаемое: не про инструменты, а про культуру, автоматизацию, измерения, делёж, ответственность.
  2. Чем DevOps отличается от SRE? SRE — конкретная реализация DevOps по принципам Google. SLO, error budget, toil reduction.
  3. Что такое DevSecOps? Безопасность как часть процесса, shift-left.
  4. Что такое DORA метрики? Deployment frequency, Lead time for changes, MTTR, Change failure rate.
  5. 12-factor app? Принципы cloud-native приложений (см. урок).
  6. Идемпотентность? Операция, повторённая дважды, даёт тот же результат.
  7. Чем отличается Continuous Delivery от Continuous Deployment? Delivery — готовность к деплою, кнопка для прод. Deployment — авто-деплой в прод.
  8. Что такое blue-green vs canary? Blue-green — два полных стека, переключение. Canary — постепенное увеличение трафика.
  9. Что такое GitOps? Состояние инфры в Git, агент в кластере применяет изменения.

Linux

  1. Что происходит когда печатаешь ls и жмёшь Enter? Shell parsing, $PATH поиск, fork/exec, kernel system calls, terminal вывод.
  2. Разница между процессом и потоком?
  3. Что такое inode? Метаданные файла. Может закончиться при миллионах мелких файлов даже при свободном диске.
  4. Hard link vs symlink? Hard — на тот же inode (в одной FS). Symlink — указатель на путь.
  5. Что такое cgroups и namespaces? Основа контейнеров. cgroups — лимиты, namespaces — изоляция.
  6. Что такое OOM killer? Когда RAM кончилась — kernel убивает процесс с наибольшим oom_score.
  7. Что такое SUID? Зачем у passwd? Чтобы пользователь мог изменить shadow, требующий root прав.
  8. В чём разница SIGTERM и SIGKILL? TERM можно перехватить (cleanup). KILL — мгновенно ядром.
  9. Что такое systemd? Init system + service manager. Управляет сервисами, логами (journald), timers, cgroups.
  10. Дискаподнагрузкой / no space — что делать? df -h, du -sh /*, проверь inodes (df -i), lsof | grep deleted (файл удалён, но процесс держит fd).

Networking

  1. Расскажи путь HTTPS-запроса от Enter до ответа. См. отдельный урок — must know.
  2. Разница TCP и UDP? TCP — handshake, гарантии, упорядоченность. UDP — fire and forget, быстрее.
  3. Что такое 3-way handshake? SYN, SYN-ACK, ACK.
  4. Что такое TIME_WAIT? Почему много — проблема? Закрытое соединение ждёт 60s. Может исчерпать порты при высоком rate.
  5. Объясни TLS handshake.
  6. Что такое SNI? Server Name Indication — клиент указывает host в Client Hello, чтобы сервер выдал правильный сертификат на shared IP.
  7. Что такое mTLS? Обе стороны предъявляют сертификаты. Стандарт в Service Mesh.
  8. DNS типы записей? A, AAAA, CNAME, MX, TXT, SRV, NS, CAA.
  9. Что такое CDN? Географически распределённый кэш. Сокращает latency, защищает от DDoS.
  10. Разница 502 и 504? 502 — LB получил invalid от upstream. 504 — upstream не ответил за timeout.
  11. Что в ss -tan ищешь когда продакшен медленный? Много TIME_WAIT, CLOSE_WAIT (баг приложения), забитые очереди.

Контейнеры

  1. Что такое контейнер? Процесс с изоляцией через namespaces + cgroups. НЕ VM.
  2. Контейнер vs VM? Container — общий kernel, легче. VM — свой kernel, тяжелее, но сильнее изоляция.
  3. CMD vs ENTRYPOINT? CMD — default args, переопределяется. ENTRYPOINT — фиксированная команда, CMD к ней.
  4. Разница COPY и ADD? ADD умеет URL и tar-распаковку. Почти всегда используй COPY.
  5. Что такое multi-stage build? Несколько FROM. Build-стадия с компилятором, runtime-стадия с минимумом.
  6. Как сделать образ маленьким? Multi-stage, distroless/alpine/scratch base, очистка apt, .dockerignore.
  7. Что хранится в /var/lib/docker? Образы, слои, контейнеры, volumes.
  8. Что такое OCI? Open Container Initiative — стандарты image-spec и runtime-spec.
  9. Почему не запускать как root? Если контейнер скомпрометирован — атакующий не root в host (если есть user namespace) и не root в контейнере.
  10. Что такое BuildKit? Современный builder Docker — параллелизм, secrets, cache mounts.

Kubernetes

  1. Компоненты control plane? kube-apiserver, etcd, scheduler, controller-manager.
  2. Что делает kubelet? Агент на ноде. Получает PodSpec от api-server, говорит с container runtime через CRI.
  3. Что такое CRI? Container Runtime Interface — kubelet ↔ runtime (containerd, CRI-O).
  4. Pod vs Container? Pod — наименьшая deployable единица K8s, 1+ контейнеров с общим net/storage.
  5. Когда StatefulSet, а не Deployment? Для приложений со state: БД, очереди. Stable network ID, persistent volumes.
  6. Service types? ClusterIP, NodePort, LoadBalancer, ExternalName.
  7. Разница liveness, readiness, startup probe? Live — рестарт. Ready — в Service endpoints. Startup — для медленных стартов.
  8. Что значит CrashLoopBackOff? Pod падает, K8s ждёт экспоненциальный backoff перед рестартом.
  9. Pod падает — алгоритм дебага? get → describe → logs → logs --previous → events.
  10. Что такое RBAC? Role/ClusterRole + RoleBinding/ClusterRoleBinding для авторизации.
  11. Что такое HPA? Horizontal Pod Autoscaler — scale по CPU/memory/custom metrics.
  12. Что такое Karpenter? Node autoscaler нового поколения (AWS).
  13. Helm vs Kustomize? Helm — шаблоны + values. Kustomize — патчинг без шаблонов. Используй оба.
  14. Что такое Operator? Controller для CRD = автоматизированное знание SRE для конкретной системы.
  15. Зачем NetworkPolicy? Firewall на уровне pod. Без неё все pod-ы общаются — это плохо.

Cloud / AWS

  1. Чем S3 отличается от EBS? S3 — object storage, globally available. EBS — block storage, привязан к AZ.
  2. Что такое VPC? Логически изолированная сеть в AWS.
  3. NAT GW vs Internet GW? IGW — для public subnets, двусторонний. NAT GW — позволяет private subnet выходить наружу, но не наоборот.
  4. Что такое VPC Endpoints? Приватный доступ к AWS сервисам без интернета. Экономия на NAT GW.
  5. Security Group vs NACL? SG — stateful, на уровне ENI. NACL — stateless, на subnet level.
  6. Что такое IAM Role? Временная identity для AWS-сервиса или cross-account. Без access keys.
  7. Что такое IRSA? IAM Roles for Service Accounts — AWS credentials для pod в EKS через ServiceAccount.
  8. Когда Spot vs On-Demand? Spot — fault-tolerant нагрузки (batch, CI, K8s workers). 70-90% скидка.
  9. Что такое Multi-AZ для RDS? Standby в другой AZ, синхронная репликация, авто-failover.
  10. Чем CloudFront отличается от ALB? CF — глобальный CDN. ALB — региональный L7 балансировщик.

CI/CD

  1. Что такое GitOps? Состояние = Git. Агент в кластере (Argo CD/Flux) подтягивает.
  2. Стратегии деплоя? Recreate, Rolling, Blue-Green, Canary, Shadow.
  3. В чём преимущество Canary? Постепенный rollout, быстрый rollback, проверка на части пользователей.
  4. Что такое feature flag? Отделение деплоя от релиза. Можно деплоить выкл фичу.
  5. Что такое OIDC в GitHub Actions? Доступ к AWS/GCP без long-lived access keys.
  6. Зачем pin actions к SHA? Supply chain — tag можно переписать, SHA — нет.
  7. Зачем reusable workflow? DRY между репо, единые стандарты CI.
  8. Что такое Argo Rollouts? Progressive delivery: canary с auto-promotion по метрикам.

Security / DevSecOps

  1. OWASP Top 10? Знай каждый и могу объяснить mitigation.
  2. SAST vs DAST vs SCA? SAST — анализ кода. DAST — тест работающего приложения. SCA — анализ зависимостей.
  3. Что такое supply chain attack? SolarWinds, Log4Shell, xz-utils. Атака через цепочку поставки ПО.
  4. Что такое SBOM? Software Bill of Materials. Список всех компонентов.
  5. Что такое Sigstore / Cosign? Keyless signing OCI artifacts через OIDC. Без хранения private keys.
  6. Что такое SLSA? Supply-chain Levels for Software Artifacts. 4 уровня зрелости.
  7. Как хранить секреты в K8s? Не нативный Secret (это base64). Vault + External Secrets Operator.
  8. Что такое mTLS и зачем? Взаимная аутентификация. Service Mesh для encryption + identity в K8s.
  9. Что такое Zero Trust? Никому не доверяй. Каждый запрос проверяется. NIST 800-207.
  10. Pod Security Standards? Privileged / Baseline / Restricted. Restricted — цель.
  11. JWT уязвимости? alg=none, weak secret, отсутствие validation expiration.
  12. OAuth 2.0 vs OIDC? OAuth — authz. OIDC — authn поверх OAuth.
  13. Что такое STRIDE? Threat modeling: Spoofing, Tampering, Repudiation, Info disclosure, DoS, Elevation.

System Design — типовые кейсы

  1. Спроектируй URL shortener (bit.ly). Hash function, БД (Redis для hot path), CDN, analytics.
  2. Спроектируй rate limiter. Token bucket / leaky bucket. Redis для distributed.
  3. Спроектируй автоматический деплой на 100 микросервисов. GitOps (Argo CD ApplicationSet), мониторинг SLO, canary, fail-fast.
  4. Как обеспечить 99.99% uptime? Multi-AZ, multi-region для DR, health checks, чёткий incident response.
  5. Спроектируй observability для микросервисов. Prometheus, OpenTelemetry, distributed tracing, SLO.
  6. Как мигрировать монолит в микросервисы? Strangler pattern, выделять боунд контексты, начинать с малого.
  7. Спроектируй secure CI/CD pipeline. См. проект 7.
  8. Как реализовать blue-green? Два таргет-группы за ALB, переключение Weight.
  9. Как сделать DR plan для регионального падения AWS? Multi-region active-passive или active-active. RTO/RPO.

Behavioral — STAR метод

Структура ответа: Situation → Task → Action → Result.

Типичные вопросы

  1. Расскажи про критический инцидент. Что ты сделал?
  2. Конфликт с разработчиками — как решил?
  3. Самая большая ошибка в продакшене. Что выучил?
  4. Как ты митигировал tech debt?
  5. Как ты повышаешь quality процессов?
  6. Расскажи про проект, которым гордишься.
  7. Когда ты сменил подход после feedback?
  8. Как ты onboard-ишь нового члена команды?

Что они на самом деле проверяют

Финальные советы

  1. Знай свой CV наизусть. Каждая строчка может стать темой разговора.
  2. Готовь 2-3 хороших кейса с цифрами (снизил CI time на 60%, сэкономил $20K/мес).
  3. Задавай вопросы в конце. Покажи инженерное мышление: «Как вы measure SLO?», «Как сейчас выглядит pipeline?».
  4. Не врать. Не знаешь — скажи «Не знаю, но мог бы погуглить и подумать так-то».
  5. Английский — практикуй говорение. Mock interview через Pramp, Interviewing.io.
  6. Тестовые задания — делай качественно. Лучше меньше, но идеально.

Если знаешь 80% этих вопросов хорошо — Senior-уровень. 50% — Middle. 30% — Junior.