Part 1 Questions: Fundamentals, Resource Hierarchy & Cloud Identity#
Conceptual#
What are the three identifiers every GCP project has, and which one is immutable?
Project ID (immutable, globally unique), project name (mutable display label), and project number (auto-assigned, used internally by some Google APIs). Only the Project ID cannot be changed after creation.
What's the difference between a standalone organization and a domain-linked organization?
A domain-linked organization requires Cloud Identity or Google Workspace tied to a verified DNS domain. A standalone organization is created automatically from a Google account with no Cloud Identity, no domain verification, and it supports federated identities as owners and can be deleted and later restored.
What does dry-run mode do for an organization policy, and what does it not do?
It evaluates the policy against real activity and logs what it would have blocked, without actually blocking anything. It never enforces or restricts access; it's purely observational, used to validate a policy's blast radius before enforcement.
What's the difference between labels, network tags, and Resource Manager tags?
Labels are free-form key-value metadata for billing and inventory. Network tags are unstructured strings used only to target Compute Engine firewall rules and routes. Resource Manager tags are IAM-governed key-value pairs that can gate IAM Conditions and org-policy targeting.
How does Cloud Identity relate to GCP's IAM system?
Cloud Identity is the directory layer managing users and groups; IAM is the separate system controlling what those users and groups can do. Cloud Identity answers "who exists," IAM answers "what can they do."
What's the difference between Workforce Identity Federation and simply creating temporary Cloud Identity accounts for contractors?
Workforce Identity Federation authenticates users through their own external IdP with no Cloud Identity account created at all, so there's no directory entry to manage or forget to deactivate. Temporary Cloud Identity accounts still require Meridian to own the full lifecycle, including guaranteed offboarding.
Applied / Scenario#
A project owner can't create a VM despite having roles/owner. What's the most likely cause?
The Compute Engine API is likely not enabled on that project. API enablement is a separate gate from IAM permission; check with gcloud services list --enabled.
Your compliance team wants an EU-data-residency org policy, but the SRE team needs to occasionally fail over to us-central1 for disaster recovery testing. What's the correct design?
Don't disable the compliance policy. Instead, create a dedicated DR-testing project outside the EU-locked folder, with its own narrower, time-boxed IAM grants, so the org policy's inheritance never applies to it. Design the exception path in advance, not during an incident.
Why is a Cloud Asset Inventory query for unexpected service account keys more useful as a recurring job than a one-time audit?
A one-time audit only catches what exists at that moment. Shadow projects and stray credentials can appear at any time; a recurring query catches new instances of the same risk pattern continuously, the way Meridian caught a personal project's leaked key through a dry-run policy rollout.
An org policy attached at a folder unexpectedly blocks a CI pipeline's service account key rotation after a reorg moved that project into the folder. What went wrong, and how should the change have been handled?
Moving a project between folders makes it inherit the new parent's org policies immediately, which is exactly what happened. The move should have gone through a dry-run check of the destination folder's policies against the project's real automation before the move, not been treated as a purely cosmetic reorganization.
Part 2 Questions: Billing, gcloud CLI & Cloud Tooling#
Conceptual#
Does a Cloud Billing budget alert stop spending once its threshold is crossed?
No. A budget alert only sends a notification (email, or a Pub/Sub message); it never caps or blocks spending on its own. Actually stopping spend requires custom automation built on the budget's Pub/Sub trigger.
What's the difference between gcloud auth login and gcloud auth application-default login?
gcloud auth login authenticates the human for interactive CLI and console use. gcloud auth application-default login sets up Application Default Credentials, a separate credential store that client libraries and Terraform pick up automatically; running only the first is a common cause of DefaultCredentialsError in application code.
What's the difference between Terraform and Config Connector?
Terraform applies a change once and stops. Config Connector continuously reconciles GCP resources as Kubernetes Custom Resources, the same drift-correcting reconciliation loop a Deployment controller uses for Pods.
What is Fabric FAST, and how does it differ from hand-written Terraform?
Fabric FAST is a staged, opinionated Terraform framework (part of the open-source cloud-foundation-fabric project) for bootstrapping an entire production-ready GCP organization from scratch, in defined stages with separate state per stage. Hand-written Terraform is more flexible but doesn't provide that staged, whole-organization bootstrap structure out of the box.
What happened to Gemini CLI in 2026?
Consumer access to Gemini CLI was sunset in June 2026 in favor of Antigravity CLI, which shares the same agent harness as the Antigravity 2.0 platform. Organizations with a Gemini Code Assist Standard or Enterprise license retain Gemini CLI access via paid API keys.
Applied / Scenario#
Two engineers both run terraform apply against shared production state within seconds of each other; one fails with a state lock error. Is this a bug?
No, it's the GCS backend's locking mechanism working correctly, preventing a concurrent write from corrupting state. The real fix is process: route production applies through a single serialized CI pipeline rather than allowing local applies at all.
A developer wants to deploy a standardized three-tier application without writing any Terraform or Kubernetes YAML. Which tool fits, and why not Terraform directly?
Application Design Center, since it's built specifically for developer self-service against platform-authored templates through a visual designer, with no IaC authoring required. Terraform assumes the person applying it understands the underlying resource definitions, which this developer explicitly shouldn't need to.
A budget's 100% threshold alert has been emailing a former employee's address for months, unnoticed. What's the systemic fix, not just updating the one address?
Route every budget alert's audience check against current Cloud Identity group membership rather than an individual's address, and wire the Pub/Sub notification to automation that both alerts a monitored channel and validates the recipient list's freshness, so a stale distribution list doesn't quietly go unnoticed again.
Part 3 Questions: IAM & Identity#
Conceptual#
What's the difference between a predefined role and a custom role, and which should you prefer?
A predefined role is Google-maintained and updates automatically as a service gains new permissions. A custom role is a static permission list you own and must maintain yourself. Prefer predefined roles first; use a custom role only for a documented least-privilege gap.
How does IAM policy inheritance compose across the resource hierarchy?
A principal's effective permissions at any resource are the union of every role bound to them at that resource and at every ancestor above it. There's no lower-level override for a plain allow policy the way some org-policy constraints allow.
What's the difference between Workforce Identity Federation and Workload Identity Federation?
Workforce Identity Federation authenticates humans for console SSO access. Workload Identity Federation authenticates workloads (a CI pipeline, an application, a Kubernetes Pod) for programmatic API calls. One is for people signing in; the other is for code calling APIs.
Why are service account keys disabled by default for organizations created on or after May 3, 2024?
Because a service account key is a long-lived credential valid indefinitely from anywhere until manually revoked, making it a significant, avoidable security liability compared to short-lived, audit-friendly alternatives like impersonation or Workload Identity Federation.
What role must a caller have on a target service account to impersonate it?
roles/iam.serviceAccountTokenCreator, granted on the target service account to the calling principal.
Applied / Scenario#
An engineer requests roles/editor "to avoid permission errors while building a new feature." What's wrong with this, and what's the correct response?
roles/editor covers thousands of permissions across nearly every GCP service, far beyond what any single feature needs, and can carry IAM-modification ability in some contexts. The correct response is identifying the specific predefined roles the feature actually needs and granting only those.
A CI/CD pipeline running in GitHub Actions needs to deploy to GKE without any GCP credential stored in GitHub's secrets. What's the mechanism, and which access pattern fits if it should always act as one consistent service account?
Workload Identity Federation, using the impersonation-based access pattern (rather than direct access), so the federated GitHub identity impersonates one well-known target service account regardless of which repository triggered the pipeline.
During an audit, Service Account A can impersonate B, which can impersonate C, which holds production database access. No single binding shows this. What kind of review would catch it?
A recurring Cloud Asset Inventory query that reconstructs the full impersonation graph across every service account, flagging any chain longer than one hop, since individual bindings can each look reasonable in isolation while their transitive composition creates real, invisible risk.
Why did Meridian's default Compute Engine service account incident happen, and what's the preventive fix?
An older project's default Compute Engine service account still carried a broad legacy role that predated Google's current, more restrictive default. The fix is creating a purpose-scoped, user-managed service account for every workload, rather than relying on the default service account, and auditing any project still doing so.
Part 4 Questions: Compute Engine & Autoscaling#
Conceptual#
Is Persistent Disk still the recommended storage choice for new Compute Engine deployments?
No. Persistent Disk is no longer available on the newest machine series, and Google's current guidance points to Hyperdisk for new deployments; Persistent Disk remains supported on existing machine series and workloads.
What are the four Hyperdisk types, and what does each optimize for?
Hyperdisk Balanced (general-purpose, most workloads), Hyperdisk Extreme (highest IOPS, performance-critical databases), Hyperdisk Throughput (sequential, bandwidth-heavy workloads), and Hyperdisk ML (fast large-dataset loading for ML training, throughput-provisioned only).
What does OS Login solve that manually distributed SSH keys don't?
It ties SSH access to a user's Google identity and IAM role, so granting or revoking access across an entire project is one IAM binding change instead of a per-instance metadata edit repeated (and easy to forget) across every VM.
Does editing a managed instance group's instance template affect already-running instances?
No. Template edits only apply to instances created afterward; an explicit rolling update must be triggered to propagate the change to existing instances.
What workload profile fits Spot VMs, and what doesn't?
Fault-tolerant, checkpointed, or easily restartable workloads (batch processing, CI build workers) fit well. A workload that can't tolerate an abrupt, short-notice (roughly 30-second) termination does not fit.
Applied / Scenario#
A team's snapshot schedule has "succeeded" every day for a year, but a real restore attempt fails because the disk's device name changed during a machine-type migration months earlier. What single practice would have caught this?
A recurring, scheduled test restore verified against known data, on some regular cadence, rather than relying solely on the snapshot job's own success status, which only confirms something was written, not that it's the data actually needed.
A batch job with no checkpointing and a hard morning deadline is proposed for Spot VMs to save cost. Good idea?
No. Without checkpointing, a mid-run reclaim forces a full restart, risking the deadline. Spot fits workloads that are either short enough for a restart to be cheap or checkpointed so a reclaim only costs time since the last checkpoint; this job satisfies neither.
A GPU instance creation fails with ZONE_RESOURCE_POOL_EXHAUSTED. Is this a quota problem?
Not necessarily, and often not. It's frequently a regional/zonal availability problem, the specific GPU model simply isn't offered in that zone, which no quota increase fixes. Check the accelerator regional availability table first.
Should a workload choose a GPU or a TPU by default?
Choose based on framework support and workload shape, not a default preference: GPUs offer the broadest framework compatibility; TPUs outperform specifically on the matrix-multiplication-heavy patterns (like large transformer training) they're purpose-built for.
Part 5 Questions: GKE, Serverless & the Agent Platform#
Conceptual#
What's the core billing difference between GKE Autopilot and GKE Standard?
Autopilot bills per Pod resource request (vCPU-hour, GiB-hour), only while Pods run. Standard bills per provisioned node VM, continuously, regardless of actual Pod utilization.
Are Pod resource requests optional on GKE Autopilot?
No. Every Autopilot Pod must declare resource requests; Autopilot injects defaults or adjusts non-compliant Pods at admission. On Standard, requests are technically optional (though never advisable).
What is the Agent Runtime, and how does it differ conceptually from Cloud Run?
The Agent Runtime is a managed, serverless execution environment specifically for AI agents, providing built-in session state and tool-calling primitives. Cloud Run runs a general-purpose container and provides neither primitive natively; you'd have to build them yourself on top of a database and orchestration code.
Why does a Cloud Run canary rollback work almost instantly?
Because Cloud Run never deletes a superseded revision on promotion; it scales to zero and stays available. A rollback is a traffic-routing change to a still-running revision, not a rebuild-and-redeploy.
What naming change happened to Vertex AI Agent Builder and Agent Engine in 2026?
Vertex AI Agent Builder became the Gemini Enterprise Agent Platform (April 2026), and what was Agent Engine is now referred to internally as Deployments; the ACE exam guide itself still uses the term Agent Runtime for the same managed execution layer.
Applied / Scenario#
Meridian migrates a workload from GKE Standard to Autopilot expecting savings, based on "serverless is cheaper for bursty workloads," but the bill goes up 40%. What was the actual mistake?
The workload, despite being bursty in request volume, ran at consistently high CPU utilization whenever active, exactly the profile where Standard's flat per-VM pricing beats Autopilot's per-resource-request premium. The mistake was applying a general heuristic without checking this specific workload's actual utilization pattern.
An engineer's Cloud Workstation, unused-for-eight-months in terms of configuration updates, causes code that passes locally to fail in CI. What's the likely cause, and what's the preventive fix?
The workstation's container image had drifted from the CI pipeline's base image, an older library version baked in locally that CI never used. The fix is building the workstation configuration's image from the same base image tag CI uses, checked on a recurring schedule for drift.
A team wants to build a multi-turn internal tool that calls several APIs mid-conversation and remembers earlier context. Cloud Run or the Agent Runtime?
The Agent Runtime, since multi-turn session state and tool-calling are exactly what it provides as managed primitives, which a plain Cloud Run service would require the team to build themselves.
A GKE cluster is created without --workload-pool specified. What operational gap does this create?
Without Workload Identity Federation enabled at creation, Pods likely fall back to the node's own (often overly broad) default service account instead of each workload having its own tightly scoped identity, reintroducing exactly the excess-permission risk Workload Identity Federation for GKE is designed to close.
Part 6 Questions: Storage & Managed Databases#
Conceptual#
What's the difference between Filestore, NetApp Volumes, and Managed Lustre?
Filestore is general-purpose managed NFS. NetApp Volumes adds SMB and multi-protocol support for enterprises standardized on NetApp's ONTAP. Managed Lustre is purpose-built for extreme-throughput AI training and HPC workloads, a genuinely different performance tier from the other two.
When should you choose AlloyDB over Cloud SQL, and Spanner over both?
Move to AlloyDB when a PostgreSQL workload's performance genuinely exceeds Cloud SQL's ceiling. Move to Spanner specifically for global distribution with strong consistency, not just general scale growth, since its operational and cost profile only pays off at that particular requirement.
When should Managed Service for Apache Kafka be chosen over Pub/Sub?
When genuine Kafka API compatibility is required, an existing Kafka-based application, Kafka Connect integrations, or client libraries assuming Kafka semantics. For new systems without that requirement, Pub/Sub's simpler operational model is the default.
What happens if a CMEK key version is disabled while a resource still depends on it?
The data it encrypts becomes permanently unreadable. This isn't a soft lock or a warning state; it's the mechanism working exactly as designed, which is why every resource referencing a key (including replicas) must be accounted for before disabling any version.
What is Database Center, and when is it most valuable?
An AI-assisted dashboard giving one aggregated, fleet-wide view across database products (Cloud SQL, Spanner, Bigtable, AlloyDB, and more) across every project in scope. It's most valuable once an organization's databases are spread across enough projects that no single console view shows the whole picture.
Applied / Scenario#
A Cloud Run service autoscales to 300 instances during a traffic spike, and Cloud SQL immediately starts rejecting connections, well before CPU or memory pressure appears. What's the bottleneck?
Cloud SQL's fixed connection limit being exhausted by the sheer number of autoscaled instances each opening their own connection pool, not a compute resource limit. The fix is a connection pooler between the autoscaling compute layer and the database.
A security team rotates a CMEK key on schedule and disables the old version, and a secondary read replica in another region goes offline shortly after. What went wrong?
The replica referenced the specific old key version directly rather than a key alias that would have tracked the rotation. The runbook should enumerate every resource referencing a key, including every replica, before disabling any old version.
Meridian's AI team needs extreme throughput for reading and writing large model checkpoints during distributed training. Which storage product, and why not Filestore?
Managed Lustre, since it's specifically built for the extreme-throughput, sub-millisecond-latency checkpoint access pattern distributed AI training needs. Filestore is general-purpose NFS and doesn't target that throughput ceiling.
Why is BigQuery the wrong choice for an application's live transactional backend, even though it can technically store and query the same data?
BigQuery is a serverless analytical warehouse optimized for ad hoc SQL over large datasets, not for low-latency transactional reads/writes an application backend needs. Cloud SQL, AlloyDB, Spanner, or Firestore fit the transactional role instead.
Part 7 Questions: Networking Resources#
Conceptual#
What's the key difference between classic VPC firewall rules and Cloud NGFW network firewall policies in terms of targeting?
Classic rules support network tags and service accounts as source filters. NGFW policies support only Secure Tags for source filtering (service accounts can be targets, not source filters); plain network tags aren't supported by policies at all.
What are Secure Tags, and what problem do they solve that IP-range-based rules don't?
Centrally managed, IAM-governed key-value tags usable in firewall targeting. A Secure-Tag-based rule keeps matching correctly as IP ranges change (a resize, a migration, a new subnet), since it matches an identity attribute instead of an address.
Is VPC Network Peering transitive?
No. If VPC A peers with B, and B peers with C, A cannot reach C through B. Each peering relationship is a direct, standalone connection.
Which load balancer scope/tier combination is asymmetric, and why does it matter?
The global external Application Load Balancer supports Premium Tier only, while the regional external Application Load Balancer supports both Premium and Standard Tier. Choosing "global" implicitly commits to Premium Tier pricing.
What's the difference between Cloud VPN and Cloud Interconnect?
Cloud VPN is an encrypted tunnel over the public internet, quick to set up, suited to modest bandwidth or backup paths. Cloud Interconnect is a private physical or carrier-mediated connection, higher bandwidth and more consistent latency, but with a much longer provisioning lead time.
Applied / Scenario#
A team migrating from classic firewall rules to a Cloud NGFW policy plans to copy each rule's network-tag targets directly into the new policy. Will this work?
No. Policies don't support plain network tags at all. Every targeted resource needs an equivalent Secure Tag applied first, and the new policy rules must reference those Secure Tags instead.
A GKE cluster's autoscaler silently stops adding nodes during a load spike, capping throughput with no error surfaced to the application. What's the likely cause, and how should it be prevented next time?
The subnet's available IP range was exhausted, so new nodes couldn't be allocated an address. A standing Cloud Monitoring alert on subnet IP utilization (e.g., at 80%) would surface this days or weeks before it becomes a hard ceiling during an actual load event.
Meridian needs global, low-latency HTTP(S) access for a worldwide user base and is deciding between the global and regional external Application Load Balancer, both on Premium Tier. Are they equivalent?
No. The global load balancer uses a single global anycast IP, routing each user to the nearest healthy backend across regions over Google's backbone. The regional load balancer, even on Premium Tier, is tied to one region's backends; distant users still incur the latency of reaching that one region.
Why did Meridian run classic firewall rules and Cloud NGFW policy rules in parallel for two weeks during their migration, instead of cutting over directly?
To validate, using real VPC Flow Log traffic, that the new Secure-Tag-based rules actually matched the same traffic the old rules had been matching, before removing the old mechanism. Verifying the new mechanism's coverage before removing the old one avoided any unplanned denial during the migration.
Part 8 Questions: Monitoring, Logging & Operations#
Conceptual#
What's the difference between Admin Activity and Data Access audit logs, in terms of default status?
Admin Activity audit logs are always on and cannot be disabled, capturing configuration changes. Data Access audit logs (capturing reads/writes to data itself) are off by default for most services, since they generate substantially more volume, and must be explicitly enabled.
Can the _Required log bucket's 400-day retention be shortened?
No, not even by an organization administrator. It's a fixed, guaranteed minimum audit trail, unlike the _Default bucket or custom sinks, which do have configurable retention.
What does each of Cloud Trace, Cloud Profiler, and Query Insights diagnose, and in what order would you typically use them?
Cloud Trace narrows a slow multi-hop request down to which service is slow; Cloud Profiler narrows a slow service down to which function is the bottleneck; Query Insights (with the index advisor) narrows a slow database call down to which query and what's missing. They're typically used in that sequence, each output deciding the next tool.
What does Personalized Service Health provide that the public Cloud status dashboard doesn't?
A feed filtered specifically to incidents and maintenance relevant to your own projects, with the same alerting channel integration as Cloud Monitoring (email, SMS, PagerDuty, Slack, Pub/Sub, webhook) and a dedicated API, rather than a generic list of every incident across every GCP customer.
What's the difference between Gemini Cloud Assist and Active Assist?
Gemini Cloud Assist answers questions you actively ask, using real resource data. Active Assist proactively surfaces recommendations (organized by value pillar: cost, security, performance, reliability, manageability, sustainability) based on usage patterns, without you having to ask.
Applied / Scenario#
An alerting policy fires several times a day, almost always for transient issues that self-resolve. Months later, a genuine sustained outage triggers the same alert and is dismissed the same way, running 40 extra minutes. What's the root cause and fix?
The root cause is alert fatigue from a threshold never tuned against real historical data, teaching the on-call rotation to reflexively dismiss the alert. The fix is tuning every alerting policy against at least two weeks of historical metric data before it goes live, and retiring or retuning any policy that fires often without corresponding real incidents.
Query Insights had been correctly flagging a slow, index-missing query for weeks before a customer complaint finally prompted investigation. What was the actual gap, tooling or process?
Process, not tooling. The diagnostic data was correct and visible the entire time; nobody had a standing habit of proactively reviewing Query Insights' top-flagged queries, since a slow, gradual regression never crossed any single alerting threshold in one day.
An on-call engineer spends two hours debugging their own service before discovering the actual cause was a Google-side incident. What should have been checked first, and how can this be automated?
Personalized Service Health should be checked at the very start of any investigation. It can be automated by wiring its alerting into the same incident channel as internal Cloud Monitoring alerts, so a Google-side incident surfaces as just another entry in the existing alert feed.
A compliance team needs to know whether a specific customer's data was read from a Cloud Storage bucket last Tuesday. Can this always be answered?
Only if Data Access audit logging was enabled for Cloud Storage at the time in question. Since it's off by default for most services, the answer may simply be unavailable if it was never turned on, and it can't be enabled retroactively to reconstruct past access.
Quick-Fire Recall#
| Term | One-line answer |
|---|---|
| Standalone organization | Auto-created org needing no Cloud Identity or domain verification |
| Dry-run org policy | Logs violations without ever blocking anything |
| Resource Manager tag | IAM-governed key-value tag, distinct from a plain label or network tag |
| Workforce Identity Federation | Federates humans for console SSO, no Cloud Identity account created |
| Billing budget | Notifies only; never caps spend on its own |
| Fabric FAST | Staged Terraform framework for bootstrapping a whole GCP organization |
| Antigravity CLI | Replaced consumer Gemini CLI in June 2026 |
| Predefined role | Google-maintained; prefer over a custom role by default |
| Workload Identity Federation | Federates workloads/pipelines for programmatic API access, no keys |
| Service account key | Long-lived credential; disabled by default on newer organizations |
| Hyperdisk | Google's current default disk family, replacing Persistent Disk for new deployments |
| OS Login | Ties SSH access to IAM roles instead of manually distributed keys |
| Spot VM | Deep discount, reclaimable with ~30 seconds notice; fault-tolerant workloads only |
| GKE Autopilot | Bills per Pod resource request; requests are mandatory |
| Agent Runtime | Managed runtime for AI agents, with built-in session state and tool-calling |
| Cloud Workstations | Standardized, versioned developer environments |
| Managed Lustre | Extreme-throughput file storage for AI training checkpoints |
| CMEK | Customer-controlled encryption key; disabling it makes data permanently unreadable |
| Database Center | Fleet-wide, AI-assisted view across managed database products |
| Cloud NGFW policy | Newer firewall model using Secure Tags, not plain network tags |
| VPC Network Peering | Private connectivity between VPCs; explicitly non-transitive |
| Network Service Tiers | Premium (Google backbone) vs. Standard (public internet transit) |
| Data Access audit logs | Off by default for most services due to volume; captures data reads/writes |
| Personalized Service Health | Project-relevant Google incident feed, with alerting integration |
| Active Assist | Proactive recommendations by value pillar, not a Q&A tool |