Вопросы на собеседовании: GCP-инженер
100 реальных вопросов с образцовыми ответами и пояснениями для уровня Cloud-инженер.
Смотреть пример резюме: GCP-инженер →Тренировка флешкарточками
Интервальное повторение · Hunter Pass
Вопросы
GCP организует ресурсы по уровням: организация, папки, проекты и ресурсы сервисов.
- Организация является верхним узлом компании и может содержать папки и проекты.
- Папки группируют проекты по команде, окружению или бизнес-направлению и могут быть вложенными.
- Проекты содержат такие ресурсы, как VM-инстансы, бакеты и базы данных.
- Политики IAM и политики организации, заданные выше в иерархии, могут наследоваться нижними уровнями.
Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы основные границы управления и наследование политик в GCP.
Проект является основной границей для включения API, назначения доступа IAM, учёта квот и распределения расходов.
- Имя проекта является понятной человеку меткой, которую можно менять и которая не обязана быть уникальной.
- ID проекта глобально уникален, выбирается при создании и позже не меняется.
- Номер проекта является уникальным числовым идентификатором, который назначает Google.
- Ресурсы обычно принадлежат одному проекту, даже если взаимодействуют с ресурсами другого проекта.
Зачем это спрашивают: Сильный ответ отличает назначение проекта от трёх его идентификаторов, которые часто путают.
Платёжный аккаунт оплачивает использование связанных проектов, а бюджеты и экспорт помогают отслеживать эти расходы.
- Для использования большинства платных сервисов проект должен быть связан с активным платёжным аккаунтом.
- Расходы учитываются по проектам, а для более детального распределения можно использовать метки и данные биллинга.
- Оповещения бюджета уведомляют выбранных получателей при достижении порогов, но не ограничивают расходы автоматически.
- Экспорт Cloud Billing может отправлять подробные данные о расходах и использовании в BigQuery для анализа.
Зачем это спрашивают: Интервьюер хочет убедиться, что вы понимаете: оповещения бюджета дают видимость расходов, а не устанавливают жёсткий лимит.
Регион является географической областью, а зона является изолированной областью развёртывания внутри региона.
- Региональный сервис может распределять ресурсы между зонами, тогда как зональный ресурс находится в одной зоне.
- Разные зоны снижают риск отказа одного дата-центра, но не заменяют планирование между регионами.
- Регион выбирают с учётом задержки для пользователей, требований к расположению данных, доступности сервисов и цены.
- Примеры: регион us-central1 и зона us-central1-a.
Зачем это спрашивают: Вопрос проверяет, связываете ли вы термины расположения GCP с доступностью и размещением ресурсов.
Квоты ограничивают потребление ресурсов или частоту запросов, чтобы защищать ёмкость сервиса и предотвращать случайный перерасход.
- Квота может действовать для проекта, региона, сервиса или отдельной метрики API.
- Примеры включают число vCPU в регионе и количество API-запросов в минуту.
- Перед плановым развёртыванием проверьте использование квот и заранее запросите повышение, потому что согласование может занять время.
- Следите за приближением к лимиту, а не воспринимайте ошибку квоты как повод бесконечно повторять запрос.
Зачем это спрашивают: Интервьюер оценивает, воспринимаете ли вы квоты как плановые ограничения сервиса, а не неожиданные сбои продукта.
Семейство машин выбирают по требованиям нагрузки к CPU, памяти, ускорителям и цене.
- Семейства общего назначения, например E2 или серии N, подходят веб-серверам и сбалансированным нагрузкам.
- Семейства с оптимизацией вычислений подходят CPU-интенсивной обработке, а с оптимизацией памяти подходят большим нагрузкам в памяти.
- Типы машин задают фиксированные сочетания vCPU и памяти, а поддерживаемые семейства также предлагают настраиваемые конфигурации.
- Начинайте с измеренных требований и меняйте размер позже, а не выбирайте самый крупный тип по умолчанию.
Зачем это спрашивают: Сильный ответ связывает семейства машин с особенностями нагрузки, а не просто перечисляет названия продуктов.
Образ Compute Engine является переиспользуемым шаблоном для создания загрузочных дисков с операционной системой и начальным набором программ.
- Публичные образы поддерживают такие поставщики, как Google, Debian, Ubuntu и Microsoft.
- Пользовательские образы фиксируют настроенный диск, чтобы повторно использовать одинаковую базовую конфигурацию.
- Семейство образов указывает на последний образ без статуса deprecated, что удобно для управляемых обновлений.
- Если развёртывание должно быть воспроизводимым, закрепите точную версию образа.
Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы образ как шаблон загрузочного диска и умеете ли объяснить выбор версии.
Compute Engine в основном использует постоянное блочное хранилище для загрузочных дисков и данных, а Local SSD предназначен для временных данных с высокой скоростью доступа.
- Persistent Disk и Hyperdisk являются отдельными ресурсами, но подключённый диск переживает удаление VM только при значении autoDelete=false.
- Сбалансированные варианты и SSD различаются ценой, IOPS и пропускной способностью для разных нагрузок.
- Зональные диски находятся в одной зоне, а региональные Persistent Disk реплицируются между двумя зонами региона.
- Local SSD физически подключён к хосту, а его данные эфемерны, поэтому там нельзя хранить единственную копию важных данных.
Зачем это спрашивают: Интервьюер хочет увидеть, что вы отличаете постоянное блочное хранилище от Local SSD и понимаете влияние autoDelete на сохранение диска.
Snapshot является инкрементальной резервной копией Persistent Disk на определённый момент времени, из которой позже можно создавать новые диски.
- Первый snapshot сохраняет необходимые блоки, а последующие сохраняют изменившиеся блоки, при этом каждый остаётся пригодным для самостоятельного восстановления.
- Snapshots являются отдельными ресурсами, поэтому удаление исходного диска не удаляет их автоматически.
- Восстановленный диск можно создать в совместимой зоне или регионе, выбранном для новой нагрузки.
- Для баз данных согласуйте сброс данных на диск или шаги прикладного резервного копирования, если crash consistency недостаточно.
Зачем это спрашивают: Сильный ответ раскрывает механику snapshot и отличие снимка хранилища от согласованной резервной копии приложения.
Шаблон инстанса является переиспользуемой конфигурацией VM для создания одинаковых инстансов и управляемых групп инстансов.
- Он может задавать тип машины, образ, диски, метаданные, сетевые интерфейсы и сервисный аккаунт.
- Шаблоны неизменяемы, поэтому для изменения конфигурации создают новый шаблон, а не редактируют старый.
- Версионированные шаблоны упрощают понимание развёртываний и откатов.
- Не помещайте секреты в startup scripts и метаданные шаблона, а получайте их через утверждённый сервис секретов.
Зачем это спрашивают: Интервьюер проверяет, понимаете ли вы, почему неизменяемые шаблоны обеспечивают повторяемое создание VM.
Управляемая группа инстансов поддерживает набор одинаковых VM на основе шаблона инстанса.
- Целевой размер задаёт, сколько инстансов должна запускать группа.
- Автомасштабирование может менять размер по таким сигналам, как использование CPU или ёмкость балансировки нагрузки.
- Autohealing может пересоздавать инстансы, которые не проходят настроенную проверку работоспособности.
- Пошаговые обновления постепенно заменяют инстансы при переходе группы на новый шаблон.
Зачем это спрашивают: Интервьюер оценивает, знаете ли вы базовую автоматизацию, которую MIG добавляет к группе VM.
Spot VM подходят прерываемым нагрузкам, потому что стоят дешевле, но Google Cloud может остановить их в любой момент.
- Подходящие примеры включают пакетные задания, рендеринг, одноразовые воркеры и отказоустойчивые тестовые нагрузки.
- У них нет SLA доступности, и они не должны быть единственной мощностью для нагрузки, которая не переносит прерывания.
- Сохраняйте прогресс вне VM и делайте задания повторяемыми, чтобы прерывание не уничтожало всю выполненную работу.
- Смешанная управляемая группа инстансов может сочетать обычные и Spot VM, если часть мощности должна быть стабильной.
Зачем это спрашивают: Сильный ответ связывает скидку с явной моделью прерывания и подходящей нагрузкой.
VPC в GCP является глобальной сетью, которая содержит региональные подсети и может соединять ресурсы разных регионов.
- Сеть не создаётся отдельно в каждом регионе.
- Каждая подсеть владеет диапазоном IP-адресов в одном регионе, и ресурсы подключаются через эту региональную подсеть.
- Маршруты и правила файрволла принадлежат VPC и могут обеспечивать связь между её регионами.
Зачем это спрашивают: Интервьюер проверяет специфичное для GCP отличие области действия VPC от области действия её подсетей.
Нет, у подсети GCP нет встроенного публичного или приватного типа.
- Доступность VM зависит от назначения внешнего IP, маршрутов, правил файрволла и сервисов вокруг подсети.
- VM без внешнего IP не может принимать прямые незапрошенные подключения из интернета.
- Cloud NAT может дать исходящий доступ в интернет подходящим ресурсам без внешних IPv4-адресов.
- Private Google Access позволяет подходящим внутренним IP обращаться к поддерживаемым Google API без внешнего IP.
Зачем это спрашивают: Интервьюер ожидает сетевую модель GCP, а не аналогию с подсетями AWS.
Маршруты указывают, на какой следующий узел отправлять трафик, совпавший с префиксом назначения.
- GCP создаёт маршруты подсетей, чтобы ресурсы могли обращаться к IP-диапазонам подсетей VPC.
- Пользовательские статические маршруты могут указывать на такие следующие узлы, как VPN-туннель или VM-сетевой шлюз.
- Динамические маршруты изучаются через Cloud Router с BGP для гибридного подключения.
- При выборе маршрута учитывается наиболее конкретное назначение, а среди применимых маршрутов одинаковой конкретности побеждает меньший номер приоритета.
Зачем это спрашивают: Сильный ответ отделяет решение о пересылке пакета от решения файрволла о разрешении трафика.
Правила VPC-файрволла разрешают или запрещают входящий либо исходящий трафик, а меньший номер приоритета означает более высокий приоритет.
- Правило задаёт направление, действие, протоколы и порты, источники или назначения и целевые ресурсы.
- Приоритет 1000 проверяется раньше приоритета 2000, если оба правила подходят по остальным условиям.
- Правила VPC-файрволла учитывают состояние соединения, поэтому ответный трафик разрешённого соединения пропускается автоматически.
- В сети неявно запрещён входящий и разрешён исходящий трафик, если правила с более высоким приоритетом не меняют результат.
Зачем это спрашивают: Интервьюер проверяет, можете ли вы предсказать порядок применения правил, не путая направление приоритета.
Правила файрволла могут выбирать сетевые интерфейсы VM по сетевому тегу или сервисному аккаунту, подключённому к VM.
- Целевой тег применяет правило к инстансам с этим тегом в той же VPC.
- Целевой сервисный аккаунт связывает правило с идентичностью нагрузки, а не с редактируемой описательной меткой.
- Сетевые теги в правилах файрволла не являются ролями IAM и отличаются от меток ресурсов.
Зачем это спрашивают: Интервьюер хочет увидеть, что вы понимаете выбор целевых нагрузок правилами файрволла, а не только работу с IP-диапазонами.
VPC Network Peering приватно соединяет две VPC-сети, чтобы их ресурсы обращались друг к другу по внутренним IP-адресам.
- Он обменивается подходящими маршрутами подсетей, поэтому трафик идёт по сети Google без публичных IP-адресов.
- В каждой VPC остаются собственные политики IAM и правила файрволла; peering не объединяет управление и не создаёт разрешающих правил.
- Peering не является транзитивным: если VPC A соединена с B, а B с C, A не получает путь к C через B.
- Диапазоны IP-адресов подсетей соединяемых сетей не должны пересекаться, поэтому адреса нужно спланировать заранее.
Зачем это спрашивают: Сильный ответ описывает приватную маршрутизацию, раздельные средства контроля, нетранзитивность и непересекающиеся диапазоны адресов.
Cloud DNS является управляемым авторитетным DNS-сервисом Google для публикации DNS-записей.
- Публичная управляемая зона отвечает на запросы из интернета, а приватная зона видна только авторизованным VPC-сетям.
- Наборы записей сопоставляют имена с такими данными, как значения A, AAAA, CNAME, MX или TXT.
- TTL указывает резолверам, как долго кэшировать запись, и поэтому влияет на скорость распространения изменения.
Зачем это спрашивают: Интервьюер проверяет, знаете ли вы назначение управляемых зон, записей и TTL.
Балансировщик нагрузки 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