Skip to content

Вопросы на собеседовании: GCP-инженер

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Cloud-инженер.

Смотреть пример резюме: GCP-инженер

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

resource-hierarchy

GCP организует ресурсы по уровням: организация, папки, проекты и ресурсы сервисов.

  • Организация является верхним узлом компании и может содержать папки и проекты.
  • Папки группируют проекты по команде, окружению или бизнес-направлению и могут быть вложенными.
  • Проекты содержат такие ресурсы, как VM-инстансы, бакеты и базы данных.
  • Политики IAM и политики организации, заданные выше в иерархии, могут наследоваться нижними уровнями.

Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы основные границы управления и наследование политик в GCP.

Проект является основной границей для включения API, назначения доступа IAM, учёта квот и распределения расходов.

  • Имя проекта является понятной человеку меткой, которую можно менять и которая не обязана быть уникальной.
  • ID проекта глобально уникален, выбирается при создании и позже не меняется.
  • Номер проекта является уникальным числовым идентификатором, который назначает Google.
  • Ресурсы обычно принадлежат одному проекту, даже если взаимодействуют с ресурсами другого проекта.

Зачем это спрашивают: Сильный ответ отличает назначение проекта от трёх его идентификаторов, которые часто путают.

billing

Платёжный аккаунт оплачивает использование связанных проектов, а бюджеты и экспорт помогают отслеживать эти расходы.

  • Для использования большинства платных сервисов проект должен быть связан с активным платёжным аккаунтом.
  • Расходы учитываются по проектам, а для более детального распределения можно использовать метки и данные биллинга.
  • Оповещения бюджета уведомляют выбранных получателей при достижении порогов, но не ограничивают расходы автоматически.
  • Экспорт Cloud Billing может отправлять подробные данные о расходах и использовании в BigQuery для анализа.

Зачем это спрашивают: Интервьюер хочет убедиться, что вы понимаете: оповещения бюджета дают видимость расходов, а не устанавливают жёсткий лимит.

Регион является географической областью, а зона является изолированной областью развёртывания внутри региона.

  • Региональный сервис может распределять ресурсы между зонами, тогда как зональный ресурс находится в одной зоне.
  • Разные зоны снижают риск отказа одного дата-центра, но не заменяют планирование между регионами.
  • Регион выбирают с учётом задержки для пользователей, требований к расположению данных, доступности сервисов и цены.
  • Примеры: регион us-central1 и зона us-central1-a.

Зачем это спрашивают: Вопрос проверяет, связываете ли вы термины расположения GCP с доступностью и размещением ресурсов.

Квоты ограничивают потребление ресурсов или частоту запросов, чтобы защищать ёмкость сервиса и предотвращать случайный перерасход.

  • Квота может действовать для проекта, региона, сервиса или отдельной метрики API.
  • Примеры включают число vCPU в регионе и количество API-запросов в минуту.
  • Перед плановым развёртыванием проверьте использование квот и заранее запросите повышение, потому что согласование может занять время.
  • Следите за приближением к лимиту, а не воспринимайте ошибку квоты как повод бесконечно повторять запрос.

Зачем это спрашивают: Интервьюер оценивает, воспринимаете ли вы квоты как плановые ограничения сервиса, а не неожиданные сбои продукта.

compute

Семейство машин выбирают по требованиям нагрузки к CPU, памяти, ускорителям и цене.

  • Семейства общего назначения, например E2 или серии N, подходят веб-серверам и сбалансированным нагрузкам.
  • Семейства с оптимизацией вычислений подходят CPU-интенсивной обработке, а с оптимизацией памяти подходят большим нагрузкам в памяти.
  • Типы машин задают фиксированные сочетания vCPU и памяти, а поддерживаемые семейства также предлагают настраиваемые конфигурации.
  • Начинайте с измеренных требований и меняйте размер позже, а не выбирайте самый крупный тип по умолчанию.

Зачем это спрашивают: Сильный ответ связывает семейства машин с особенностями нагрузки, а не просто перечисляет названия продуктов.

compute

Образ Compute Engine является переиспользуемым шаблоном для создания загрузочных дисков с операционной системой и начальным набором программ.

  • Публичные образы поддерживают такие поставщики, как Google, Debian, Ubuntu и Microsoft.
  • Пользовательские образы фиксируют настроенный диск, чтобы повторно использовать одинаковую базовую конфигурацию.
  • Семейство образов указывает на последний образ без статуса deprecated, что удобно для управляемых обновлений.
  • Если развёртывание должно быть воспроизводимым, закрепите точную версию образа.

Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы образ как шаблон загрузочного диска и умеете ли объяснить выбор версии.

compute

Compute Engine в основном использует постоянное блочное хранилище для загрузочных дисков и данных, а Local SSD предназначен для временных данных с высокой скоростью доступа.

  • Persistent Disk и Hyperdisk являются отдельными ресурсами, но подключённый диск переживает удаление VM только при значении autoDelete=false.
  • Сбалансированные варианты и SSD различаются ценой, IOPS и пропускной способностью для разных нагрузок.
  • Зональные диски находятся в одной зоне, а региональные Persistent Disk реплицируются между двумя зонами региона.
  • Local SSD физически подключён к хосту, а его данные эфемерны, поэтому там нельзя хранить единственную копию важных данных.

Зачем это спрашивают: Интервьюер хочет увидеть, что вы отличаете постоянное блочное хранилище от Local SSD и понимаете влияние autoDelete на сохранение диска.

computesnapshot

Snapshot является инкрементальной резервной копией Persistent Disk на определённый момент времени, из которой позже можно создавать новые диски.

  • Первый snapshot сохраняет необходимые блоки, а последующие сохраняют изменившиеся блоки, при этом каждый остаётся пригодным для самостоятельного восстановления.
  • Snapshots являются отдельными ресурсами, поэтому удаление исходного диска не удаляет их автоматически.
  • Восстановленный диск можно создать в совместимой зоне или регионе, выбранном для новой нагрузки.
  • Для баз данных согласуйте сброс данных на диск или шаги прикладного резервного копирования, если crash consistency недостаточно.

Зачем это спрашивают: Сильный ответ раскрывает механику snapshot и отличие снимка хранилища от согласованной резервной копии приложения.

compute

Шаблон инстанса является переиспользуемой конфигурацией VM для создания одинаковых инстансов и управляемых групп инстансов.

  • Он может задавать тип машины, образ, диски, метаданные, сетевые интерфейсы и сервисный аккаунт.
  • Шаблоны неизменяемы, поэтому для изменения конфигурации создают новый шаблон, а не редактируют старый.
  • Версионированные шаблоны упрощают понимание развёртываний и откатов.
  • Не помещайте секреты в startup scripts и метаданные шаблона, а получайте их через утверждённый сервис секретов.

Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы, почему неизменяемые шаблоны обеспечивают повторяемое создание VM.

autoscaling

Управляемая группа инстансов поддерживает набор одинаковых VM на основе шаблона инстанса.

  • Целевой размер задаёт, сколько инстансов должна запускать группа.
  • Автомасштабирование может менять размер по таким сигналам, как использование CPU или ёмкость балансировки нагрузки.
  • Autohealing может пересоздавать инстансы, которые не проходят настроенную проверку работоспособности.
  • Пошаговые обновления постепенно заменяют инстансы при переходе группы на новый шаблон.

Зачем это спрашивают: Интервьюер оценивает, знаете ли вы базовую автоматизацию, которую MIG добавляет к группе VM.

spot

Spot VM подходят прерываемым нагрузкам, потому что стоят дешевле, но Google Cloud может остановить их в любой момент.

  • Подходящие примеры включают пакетные задания, рендеринг, одноразовые воркеры и отказоустойчивые тестовые нагрузки.
  • У них нет SLA доступности, и они не должны быть единственной мощностью для нагрузки, которая не переносит прерывания.
  • Сохраняйте прогресс вне VM и делайте задания повторяемыми, чтобы прерывание не уничтожало всю выполненную работу.
  • Смешанная управляемая группа инстансов может сочетать обычные и Spot VM, если часть мощности должна быть стабильной.

Зачем это спрашивают: Сильный ответ связывает скидку с явной моделью прерывания и подходящей нагрузкой.

networking

VPC в GCP является глобальной сетью, которая содержит региональные подсети и может соединять ресурсы разных регионов.

  • Сеть не создаётся отдельно в каждом регионе.
  • Каждая подсеть владеет диапазоном IP-адресов в одном регионе, и ресурсы подключаются через эту региональную подсеть.
  • Маршруты и правила файрволла принадлежат VPC и могут обеспечивать связь между её регионами.

Зачем это спрашивают: Интервьюер проверяет специфичное для GCP отличие области действия VPC от области действия её подсетей.

networking

Нет, у подсети GCP нет встроенного публичного или приватного типа.

  • Доступность VM зависит от назначения внешнего IP, маршрутов, правил файрволла и сервисов вокруг подсети.
  • VM без внешнего IP не может принимать прямые незапрошенные подключения из интернета.
  • Cloud NAT может дать исходящий доступ в интернет подходящим ресурсам без внешних IPv4-адресов.
  • Private Google Access позволяет подходящим внутренним IP обращаться к поддерживаемым Google API без внешнего IP.

Зачем это спрашивают: Интервьюер ожидает сетевую модель GCP, а не аналогию с подсетями AWS.

networking

Маршруты указывают, на какой следующий узел отправлять трафик, совпавший с префиксом назначения.

  • GCP создаёт маршруты подсетей, чтобы ресурсы могли обращаться к IP-диапазонам подсетей VPC.
  • Пользовательские статические маршруты могут указывать на такие следующие узлы, как VPN-туннель или VM-сетевой шлюз.
  • Динамические маршруты изучаются через Cloud Router с BGP для гибридного подключения.
  • При выборе маршрута учитывается наиболее конкретное назначение, а среди применимых маршрутов одинаковой конкретности побеждает меньший номер приоритета.

Зачем это спрашивают: Сильный ответ отделяет решение о пересылке пакета от решения файрволла о разрешении трафика.

networking

Правила VPC-файрволла разрешают или запрещают входящий либо исходящий трафик, а меньший номер приоритета означает более высокий приоритет.

  • Правило задаёт направление, действие, протоколы и порты, источники или назначения и целевые ресурсы.
  • Приоритет 1000 проверяется раньше приоритета 2000, если оба правила подходят по остальным условиям.
  • Правила VPC-файрволла учитывают состояние соединения, поэтому ответный трафик разрешённого соединения пропускается автоматически.
  • В сети неявно запрещён входящий и разрешён исходящий трафик, если правила с более высоким приоритетом не меняют результат.

Зачем это спрашивают: Интервьюер проверяет, можете ли вы предсказать порядок применения правил, не путая направление приоритета.

networkingidentity

Правила файрволла могут выбирать сетевые интерфейсы VM по сетевому тегу или сервисному аккаунту, подключённому к VM.

  • Целевой тег применяет правило к инстансам с этим тегом в той же VPC.
  • Целевой сервисный аккаунт связывает правило с идентичностью нагрузки, а не с редактируемой описательной меткой.
  • Сетевые теги в правилах файрволла не являются ролями IAM и отличаются от меток ресурсов.

Зачем это спрашивают: Интервьюер хочет увидеть, что вы понимаете выбор целевых нагрузок правилами файрволла, а не только работу с IP-диапазонами.

networking

VPC Network Peering приватно соединяет две VPC-сети, чтобы их ресурсы обращались друг к другу по внутренним IP-адресам.

  • Он обменивается подходящими маршрутами подсетей, поэтому трафик идёт по сети Google без публичных IP-адресов.
  • В каждой VPC остаются собственные политики IAM и правила файрволла; peering не объединяет управление и не создаёт разрешающих правил.
  • Peering не является транзитивным: если VPC A соединена с B, а B с C, A не получает путь к C через B.
  • Диапазоны IP-адресов подсетей соединяемых сетей не должны пересекаться, поэтому адреса нужно спланировать заранее.

Зачем это спрашивают: Сильный ответ описывает приватную маршрутизацию, раздельные средства контроля, нетранзитивность и непересекающиеся диапазоны адресов.

dns

Cloud DNS является управляемым авторитетным DNS-сервисом Google для публикации DNS-записей.

  • Публичная управляемая зона отвечает на запросы из интернета, а приватная зона видна только авторизованным VPC-сетям.
  • Наборы записей сопоставляют имена с такими данными, как значения A, AAAA, CNAME, MX или TXT.
  • TTL указывает резолверам, как долго кэшировать запись, и поэтому влияет на скорость распространения изменения.

Зачем это спрашивают: Интервьюер проверяет, знаете ли вы назначение управляемых зон, записей и TTL.

load-balancing

Балансировщик нагрузки Google Cloud принимает трафик на фронтенде и распределяет его между работоспособными бэкендами.

  • Фронтенд задаёт IP-адрес, протокол и порт, которые используют клиенты.
  • Backend service связывает с балансировщиком группы инстансов, network endpoint groups или другие поддерживаемые бэкенды.
  • Проверки работоспособности не дают направлять новый трафик на неисправные бэкенды.
  • Application Load Balancer обрабатывает функции HTTP или HTTPS, а Network Load Balancer обслуживает трафик уровня L4, например TCP или UDP.

Зачем это спрашивают: Интервьюер оценивает, понимаете ли вы общий путь запроса и различие между уровнями L7 и L4.

Закрытые вопросы

  • 21

    Что такое разрешающая политика IAM в GCP?

  • 22

    В чём разница между разрешением и ролью IAM?

  • 23

    Что такое сервисный аккаунт и как VM должна его использовать?

    identity
  • 24

    Как применять принцип наименьших привилегий в GCP IAM?

    least-privilege
  • 25

    Для чего используются IAM Conditions?

  • 26

    Что такое Application Default Credentials?

  • 27

    Какую проблему решает Workload Identity Federation?

    identity
  • 28

    Как хранить секрет в GCP и проверять обращения к нему?

    secrets
  • 29

    Что такое бакеты и объекты в Cloud Storage?

    object-storage
  • 30

    Чем различаются классы Cloud Storage?

    object-storage
  • 31

    Что делает Object Versioning в Cloud Storage?

    object-storageversioning
  • 32

    Что такое lifecycle rules в Cloud Storage?

    object-storage
  • 33

    Что меняет uniform bucket-level access?

  • 34

    Как signed URLs и retention policies решают разные задачи Cloud Storage?

    retentionobject-storage
  • 35

    Когда выбирать Cloud Run, Compute Engine или GKE?

    computeserverless-containerskubernetes
  • 36

    Как Cloud Run масштабирует сервис?

    serverless-containers
  • 37

    Что означает concurrency в Cloud Run?

    serverless-containersconcurrency
  • 38

    Как сейчас называется Cloud Functions в Google Cloud и для чего используется этот продукт?

  • 39

    Как связаны топик и подписка Pub/Sub?

    messaging
  • 40

    Как в Pub/Sub работают подтверждения, повторы и dead-letter topics?

    messaging
  • 41

    Что означает высокая доступность для регионального инстанса Cloud SQL?

    sql
  • 42

    Для чего используется read replica Cloud SQL?

    sqlreplication
  • 43

    Для какого типа нагрузки предназначен Cloud Spanner?

    spannerdesign
  • 44

    Что такое datasets и tables в BigQuery?

    bigquery
  • 45

    Как партиционирование снижает стоимость запросов BigQuery?

    queriespartitioningbigquery
  • 46

    В чём разница между Docker image и контейнером?

    dockercontainers
  • 47

    Что такое Pod Kubernetes в GKE?

    kubernetes
  • 48

    Как Deployment и Service Kubernetes работают вместе?

    kubernetesdeployment
  • 49

    Что делают Terraform state, plan и apply?

    terraform
  • 50

    Каковы базовые задачи Cloud Build и Cloud Monitoring?

    monitoringci-cd
  • 51

    Команда gcloud изменила ресурс не в том проекте. Как проверить и исправить активный аккаунт, проект и конфигурацию?

    config
  • 52

    У VM Compute Engine нет внешнего IP, а SSH-подключение не работает. Что вы проверите?

    computessh
  • 53

    VM сообщает, что её загрузочный диск заполнен. Как безопасно восстановить работу?

  • 54

    Новая VM запускается, но startup script не установил или не запустил приложение. Как это отладить?

  • 55

    Вы вручную исправили одну VM в managed instance group, но после пересоздания VM исправление исчезло. Почему и что нужно изменить?

    autoscaling
  • 56

    Клиент не может обратиться к TCP-порту 443 на VM. Как отладить файрволл, не открывая доступ всем?

    networking
  • 57

    Приватная VM без внешнего IP не может скачать публичный пакет через Cloud NAT. Что вы проверите?

    networking
  • 58

    Вы изменили запись Cloud DNS, но часть пользователей всё ещё получает старый адрес. Как это исследовать?

    dns
  • 59

    Веб-сервер отвечает локально, но балансировщик Google Cloud считает backend нездоровым. Что вы проверите?

    load-balancing
  • 60

    Развёртывание VM завершается ошибкой quota exceeded. Что делать дальше?

    deployment
  • 61

    Развёртывание получает PermissionDenied, хотя у пользователя есть роль IAM. Как использовать Policy Troubleshooter?

    deployment
  • 62

    Приложение на VM использует скачанный ключ сервисного аккаунта. Как перевести его на сервисный аккаунт, подключённый к VM?

    identity
  • 63

    Пользователь получает 403 при чтении объекта из бакета с uniform bucket-level access. Как исправить доступ?

  • 64

    Как до добавления lifecycle rule на удаление старых объектов безопасно предсказать её эффект?

    object-storage
  • 65

    Клиент сообщает, что signed URL для Cloud Storage истёк. Что вы сделаете?

    object-storage
  • 66

    Новая ревизия Cloud Run готова, но не получает запросов. Что вы проверите?

    serverless-containers
  • 67

    Первый запрос к простаивающему сервису Cloud Run медленный, а следующие быстрые. Как уменьшить задержку холодного старта?

    serverless-containers
  • 68

    Сервис Cloud Run достигает maximum instances во время всплеска, а клиенты видят ожидание или отказы. Что вы измените?

    serverless-containers
  • 69

    Новая ревизия Cloud Run не запускается из-за отсутствующей или неверной обязательной обычной переменной окружения. Как диагностировать и исправить сбой?

    serverless-containersconfig
  • 70

    Cloud Run function должна запускаться по событию хранилища, но вызовов нет. Как отладить её Eventarc trigger?

    serverless-containersevents
  • 71

    Сообщение Pub/Sub доставляется повторно, пока медленный consumer ещё обрабатывает его. Что вы измените?

    messagingconcurrency
  • 72

    Как сделать consumer заказов Pub/Sub безопасным при двукратной доставке одного сообщения?

    messaging
  • 73

    Как настроить retries и dead-letter topic для Pub/Sub consumer, который иногда получает невалидные сообщения?

    messagingconfig
  • 74

    Клиенту нужна обработка событий статуса по порядку внутри каждого заказа, но разные заказы могут идти параллельно. Как использовать ordering keys Pub/Sub?

    messagingconcurrency
  • 75

    Приложение не может подключиться к Cloud SQL после переноса в новое окружение GCP. Как отладить private и public пути?

    sql
  • 76

    Как провести простую проверку восстановления из резервной копии Cloud SQL?

    sqlbackups
  • 77

    Как до запуска незнакомого запроса BigQuery оценить объём обрабатываемых байтов?

    queriesbigqueryestimation
  • 78

    Запрос BigQuery падает, потому что два datasets находятся в разных локациях. Что это означает и как исправить проблему?

    queriesbigquery
  • 79

    Загрузка CSV в BigQuery падает с ошибками схемы и парсинга. Как это отладить?

    schemabigquery
  • 80

    Pod GKE застрял в ImagePullBackOff для образа из Artifact Registry. Что вы проверите?

    artifactsregistrieskubernetes
  • 81

    Pod GKE сразу после деплоя переходит в CrashLoopBackOff. Как вы будете его отлаживать?

    deploymentkubernetes
  • 82

    Kubernetes Service в GKE существует, но у него нет endpoints. Что вы проверите?

    kubernetesendpoints
  • 83

    Pod GKE остаётся Pending из-за слишком больших resource requests. Как решить проблему?

    kubernetes
  • 84

    Вы обновили ConfigMap, но существующие Pods GKE используют старое значение. Почему и как выпустить изменение?

    configkubernetes
  • 85

    Как использовать один Helm chart для небольшого приложения в dev и staging?

    helm
  • 86

    Terraform сообщает о drift после ручного изменения ресурса GCP в консоли. Что вы сделаете?

    terraformiac
  • 87

    Bash-скрипт деплоя продолжает работу после ошибки команды gcloud и сообщает об успехе. Как заставить его безопасно завершаться с ошибкой?

    deployment
  • 88

    Как переиспользовать простую конфигурацию Terraform для dev и staging с variables и outputs?

    terraformconfig
  • 89

    Terraform plan неожиданно предлагает удалить production-ресурс. Что проверить до любого apply?

    terraform
  • 90

    Шаг Cloud Build падает, потому что сервисному аккаунту не хватает права на деплой. Как это исправить?

    deploymentci-cdidentity
  • 91

    Разработчик не может отправить локальный образ в Artifact Registry, а деплой затем не находит tag. Что вы проверите?

    containersdeploymentartifacts
  • 92

    Как найти HTTP-запросы с 5xx для одного сервиса Cloud Run в Logs Explorer?

    serverless-containershttp
  • 93

    Как добавить uptime check и полезный alert для небольшого публичного API?

    alertingapi
  • 94

    Какие базовые SLI и SLO вы зададите для небольшого checkout API?

    sloapi
  • 95

    Оповещение бюджета GCP достигло 80 процентов в середине месяца. Что должен сделать junior-инженер?

    alerting
  • 96

    Как использовать labels для распределения расходов GCP в общем dev-проекте?

  • 97

    Команда считает, что за все snapshots и backups отвечает платформенная группа. Как уточнить владение?

    ownershipsnapshotbackups
  • 98

    Bootstrap Terraform для нового проекта GCP падает с SERVICE_DISABLED. Как диагностировать и исправить ошибку?

    terraform
  • 99

    Production VM выглядит неиспользуемой, и вас просят её удалить. Как безопасно провести изменение?

  • 100

    У команды из двух человек есть stateless контейнерный webhook API с трафиком от нуля до 20 запросов в секунду и без доступа к хосту. Вы выберете Compute Engine, GKE или Cloud Run?

    containerskubernetesapi