GCP Interview Questions and Answers for 2026

GCP interview questions reward candidates who can explain mechanisms instead of reciting product names: why a VPC is global while its subnets are regional, how an IAM policy binding inherits down the resource hierarchy, and what a GKE node pool actually autoscales on. This page is a complete, tiered bank: 104 questions with worked answers, organized into beginner, intermediate, and scenario sections, plus hands-on labs, a gcloud cheat sheet, and a five-question knowledge check. Work through it in order, or jump straight to the tier that matches your next round.

GCP interview questions tiered bank covering Compute Engine, GKE, IAM, VPC, storage, and billing
The three tiers in this bank: foundations, working depth, and production troubleshooting under pressure.

TL;DR

  • 104 questions, three tiers. Beginner fundamentals, intermediate mechanics, and realistic troubleshooting scenarios, each with a worked answer written the way a Google Cloud interview panel wants to hear it.
  • Mechanisms over menus. Every answer names the component that owns the behavior, from IAM policy evaluation to VPC route priority, because strong GCP interview questions are graded on the why, not the click path.
  • The full platform surface. Compute Engine, GKE, Cloud IAM, VPC networking, Cloud Storage, BigQuery, Cloud SQL, serverless, load balancing, billing, and operations tooling, in one bank.
  • Practice is built in. Three scenario labs, a cheat sheet of the commands that come up most, and a five-question quiz to check what stuck.

How the GCP interview works in 2026

Most GCP interview questions arrive in one of three rounds. The first is a screening call, often with a hiring manager or a senior engineer, that mixes definitions with quick judgments: what separates a project from a folder, when Cloud Run beats GKE, what a service account is for. These are confidence filters. Nobody expects a lecture; they expect a crisp 30-second answer with one level of detail behind it, and hesitation on the basics ends loops early.

The second round is the deep technical, and this is where GCP interview questions get mechanical. Interviewers probe how IAM actually evaluates a request, why firewall rules carry a priority, what happens to the default internet route when you add a custom one, and how BigQuery prices a query before you run it. Saying the bucket policy controls access passes a beginner bar; explaining that bindings are evaluated per permission, inherit from every ancestor, and that deny policies and org policies sit on top passes a working-engineer bar. Interviewers grade GCP interview questions on that second sentence, not the first.

The third round is the scenario round: one symptom sentence and then quiet while you think out loud. The pipeline’s service account started getting 403s overnight. Pods have been pending for twenty minutes. The storage bill tripled last month. What gets scored is your diagnostic order, not your luck: which command first, what it rules out, why you move to the next check. Engineers who narrate a defensible sequence outperform engineers who guess, and that plan is exactly what scenario GCP interview questions are measuring.

Role shape moves the emphasis. DevOps and platform roles weight GCP interview questions toward Compute Engine, GKE, VPC networking, and IAM, because those are the layers their tooling automates. Data engineering roles push BigQuery, storage lifecycle, and cost mechanics. SRE roles add load balancing, Cloud Monitoring and Logging depth, and multi-region failure posture. The base bank on this page is the same for all of them; only the expected depth and the scenario flavor move.

Preparation that works is boringly mechanical. Stand up a sandbox project on the free tier, break IAM and firewall rules deliberately, and drill gcloud until the flags are muscle memory, because panelists can tell the difference between someone who has typed these commands and someone who has read about them. Then rehearse every answer out loud until each one is 30 to 60 seconds spoken, since GCP interview questions are answered aloud, not written. Pair this page with the AWS interview questions bank if the shop is multi-cloud, since the concepts rhyme and the differences make great follow-up material.

Core concepts interviewers expect you to know

Three mental models unlock a huge fraction of GCP interview questions: the resource hierarchy with its inherited IAM policies, the shape of a VPC, and the compute ladder from VMs to functions. Interviewers open here because these models sit under every other service answer you will give. Narrate all three fluently and most follow-ups become extensions of something you already said rather than new topics.

The resource hierarchy and how policy inherits

Google Cloud organizes everything as a tree: the organization node at the top, created automatically when a company signs up with Cloud Identity or Google Workspace, then folders that group departments or environments, then projects, which are the unit that owns resources, quotas, and billing. Every resource belongs to exactly one project. Service accounts live in projects too, and they are principals just like people and groups, which is why pipeline permissions and human permissions are managed through the same IAM machinery. The hierarchy is the stage on which every other topic in GCP interview questions plays out, so get its shape right before anything else.

IAM allow policies are sets of bindings: a role granted to a list of principals, attached at some node. A binding at the organization applies everywhere beneath it; a binding on a single bucket applies only there. Effective permission is the union of every binding from the resource up the tree, so the debugging move is always walk upward and find who granted what, with gcloud projects get-iam-policy as the workhorse. Two guardrail layers sit above this: IAM deny policies, which subtract specific permissions and win over grants, and organization policies, which constrain what configurations are even allowed. Keeping allow, deny, and org policies separate in your head is precisely the confusion many GCP interview questions are designed to expose.

Organization binding: viewer on dev-group Folder: payments binding: editor on pci-team Folder: web no bindings Project: ledger-api binding: run.invoker on sa-ci Project: storefront resources: GKE, Cloud SQL dev-group inherits viewer here too Allow bindings flow down and union together; a deny policy or org policy at any level wins.
Bindings attached at any node inherit to everything below it, so an org-level grant quietly reaches every project.

One global network, regional building blocks

A VPC network in Google Cloud is a global resource: one object that spans every region, with subnets carved per region. A subnet is a regional CIDR range, and an instance draws its internal IP from the subnet in its own zone. This trips up engineers coming from other clouds who expect a network per region; in GCP, two VMs in different regions on the same VPC talk over private RFC 1918 space with no peering needed. VPC peering exists to connect separate VPCs, and Shared VPC exists to let service projects attach into a host project’s subnets, which is the standard multi-team layout.

Firewall rules attach to the VPC, not to instances, and they are stateful, applied to instances through target tags or target service accounts. The implied defaults frame every firewall conversation: ingress is denied by default, egress is allowed by default, and every rule you write carries a priority number where lower wins. Routing works the same way: each subnet generates a system route, an optional default route of 0.0.0.0/0 points at the internet gateway, and custom routes override by priority. Because so many production incidents are a route priority or a missing tag, this model is one of the most reused settings for GCP interview questions across every seniority level.

One VPC network: global us-east1 subnet-a: 10.0.1.0/24 regional CIDR vm-1 tag: web vm-2 tag: web zone a · zone b · zone c europe-west1 subnet-b: 10.1.0.0/24 regional CIDR vm-3 tag: web vm-4 no tag private cross-region traffic Firewall rules live on the VPC: allow tcp:443, targets = tag:web, priority 1000
Subnets are regional, the network is not, and firewall rules select their targets with tags, so an untagged VM misses the allow rule.

The compute ladder: VMs, GKE, Cloud Run, Functions

Every managed compute option trades control for operational burden. Compute Engine gives you a VM and you own everything above the hypervisor: OS patching, runtime, scaling decisions. GKE gives you a managed Kubernetes control plane and you own the workloads; node pools, autoscaling, and upgrades become your operational surface. Cloud Run runs a container and owns the scaling entirely, with requests-based or always-on CPU and a concurrency model that packs many requests onto one instance. Cloud Functions is the narrowest: one function per deployment, triggered by events through Eventarc, running on Cloud Run infrastructure under the hood in its second generation.

The interview skill is choosing a rung deliberately. GCP interview questions love the boundary cases: a spiky API with idle hours belongs on Cloud Run with scale-to-zero, a stateful legacy app belongs on a VM or a MIG, a fleet of microservices with sidecars and strict networking belongs on GKE. Being able to say here is the control I give up at each rung, and here is the toil I shed is what moves this answer from product comparison to engineering judgment, and it sets up half the architecture follow-ups a panel will ask.

Question bank at a glance

The bank below is organized the way GCP interview questions are actually asked: broadly increasing difficulty, then the scenario round that finishes most loops. Counts are exact, so you can pace a week of prep: roughly 15 beginner items a day gets you through the bank in a working week with the labs on the weekend.

SectionQuestionsWhat it proves
Beginner38You use GCP daily and know the vocabulary cold: projects, IAM, VMs, buckets, budgets.
Intermediate40You understand mechanisms: policy evaluation, route priority, slots, concurrency, autoscaling.
Scenario and troubleshooting26You can diagnose a broken project in a defensible order, from 403s to surprise bills.

Difficulty inside each tier still rises as you go, so if a section starts feeling easy near its end, that is the signal to move on. Every answer pairs the mechanism with the command or the consequence, because GCP interview questions are graded on both halves: knowing the right tool, and explaining why that tool owns the behavior you just described.

Beginner GCP interview questions

These 38 are the warm-up tier of GCP interview questions. They look easy, and that is the trap: interviewers use them to check precision. Answer each one in one or two sentences, then add exactly one supporting detail. Say more than that and you burn round time; say less and you sound like you memorized a list.

What is a GCP project?

Answer: A project is the base organizing unit in Google Cloud: it owns resources like VMs and buckets, holds quotas and enabled APIs, and has its own IAM policy and billing association. Nothing exists outside a project, though resources can be shared across projects through mechanisms like Shared VPC. GCP interview questions open here because understanding what a project isolates, and what it does not, predicts whether every later permission answer will make sense.

What is the resource hierarchy?

Answer: Organization, then folders, then projects, then resources, a strict tree. The organization node comes from Cloud Identity or Google Workspace, folders group environments or teams, and every resource sits in exactly one project. IAM policies attach at any level and inherit downward, which is the single most consequential property of the tree. Nearly every access-control question later in the round traces back to this inheritance behavior.

What is Cloud IAM, in one sentence?

Answer: It is the system that decides who can do what on which resource: principals such as users, groups, and service accounts are granted roles, and roles are sets of permissions, through bindings attached across the resource hierarchy. The word to volunteer is bindings, because permissions are never granted in isolation, they flow down the tree. That one word separates people who have read about IAM from people who debug it, which is exactly what this question is built to expose.

What is the difference between basic, predefined, and custom IAM roles?

Answer: Basic roles, owner, editor, viewer, are coarse and project-wide, and granting editor is effectively a security incident waiting to happen. Predefined roles are curated by Google per service, like roles/storage.objectViewer, and bundle the permissions for a job. Custom roles let you pick individual permissions when no predefined role fits. The expected judgment: predefined wherever possible, custom when needed, basic only for break-glass access, and that judgment is what this classic in GCP interview questions actually grades.

What is a service account?

Answer: An identity for non-human actors: applications, pipelines, and jobs authenticate as a service account and get permissions through the same role bindings as people. Each one carries a unique email like ci-bot@project.iam.gserviceaccount.com. Compute resources can run as one, which is how a VM or a Cloud Run service earns its permissions at runtime. Expect follow-up questions about keys versus impersonation, because that is where service account practice gets dangerous.

What is Compute Engine?

Answer: The IaaS layer: virtual machines running on Google’s infrastructure, with choices of machine families, persistent disks, custom or public images, and networks you control. You own the OS and everything on it, which makes it the rung for legacy apps, licensed software, and anything with unusual kernel requirements. It is usually the first service named in this part of the round, because so many other features, from instance groups to OS Login, hang off it.

What is a machine type, and what do the names mean?

Answer: A fixed shape of vCPU count, memory, and optional accelerators. The prefix names the family: e2 is cost-optimized general purpose, n2 and n4 are balanced general purpose on newer platforms, c types are compute-optimized, m types are memory-optimized, and accelerator types attach GPUs. E2 offers the best price but skips some features like sustained-use discounts and local SSD. Knowing the family tradeoffs is one of those small details GCP interview questions use to spot daily users.

Persistent disk or local SSD: how do you choose?

Answer: Persistent disks are network-attached block storage that survives VM stop and start, can be resized live, support snapshots, and come in standard, balanced, and performance tiers. Local SSDs are physically attached to the host: much lower latency and higher IOPS, but the data dies with the VM or host maintenance, so they suit caches and scratch space only. Default answer: persistent disk for anything you would mourn. The durability contrast is the entire point of the question.

What is the difference between a snapshot and a custom image?

Answer: A snapshot is a point-in-time, incremental copy of a disk, meant for backup and restore, and you can schedule them. A custom image is a bootable disk template used to create new VMs, meant for golden images and standardization. You can make an image from a snapshot, but the purposes differ: snapshots answer what did this disk look like, images answer what should new machines look like. Candidates who blur the two usually have not run a rebuild, which is why GCP interview questions keep asking it.

What is a region, and what is a zone?

Answer: A region is a geographic area like europe-west1; a zone is an isolated deployment area inside it, with independent power and networking. Zones fail independently, which is why zonal services name a zone and regional services replicate across them automatically. The design sentence interviewers want: put stateful things on regional resources, spread stateless things across zones, and never bet uptime on one zone. Availability framing like this is where GCP interview questions start before they go deeper.

What is GKE?

Answer: Google Kubernetes Engine: managed Kubernetes where Google operates the control plane and you run workloads on node pools you configure, or on fully managed pods in Autopilot mode. It is the rung for teams that need Kubernetes primitives: sidecars, CRDs, fine-grained networking. Mentioning that GKE handles control plane upgrades, node auto-repair, and autoscaling covers the operational half of the answer. GKE anchors a large share of the questions asked of platform and DevOps candidates.

What is a node pool?

Answer: A group of nodes inside a GKE cluster sharing the same machine type, image, labels, and taints, upgraded and scaled as a unit. Clusters can mix pools: a general pool, a GPU pool, a spot pool for tolerant batch work. Workloads land on specific pools through node selectors and tolerations. Saying the pool, not the cluster, is the unit of shape and upgrade is the level of precision GCP interview questions listen for here.

Autopilot or Standard GKE: what is the difference?

Answer: Standard gives you nodes: you manage node pools, their sizing, upgrades, and costs. Autopilot removes the nodes: you deploy pods, Google provisions the infrastructure per pod, bills per requested resources, and manages everything node-related, at the cost of less control over kernel-level knobs some workloads need. Rule of thumb: default to Autopilot for ordinary services, pick Standard for privileged agents or custom runtimes. This comparison is one of the most predictable questions in current loops.

What is a VPC network in GCP?

Answer: A software-defined network that is global by design: one VPC spans all regions, and instances anywhere can talk privately if their subnets allow it. It carries subnets, routes, and firewall rules, and connects to on-premises networks through VPN or Interconnect. The property interviewers probe: global does not mean flat, firewall rules and routes still decide reachability. That nuance is exactly what GCP interview questions about networking are testing at the entry level.

What is a subnet, and why is it regional?

Answer: A subnet is a CIDR range pinned to one region, and instances in that region draw IPs from it. Regional subnets are why a single VPC can host resources anywhere without creating new networks: you just add a subnet in the new region. A subnet can also carry secondary ranges for things like GKE pods. Saying the network is global, the address space is regional answers this question and most of its follow-ups in one breath.

What do VPC firewall rules control, and what are the defaults?

Answer: They filter traffic to and from instances by protocol, port, source or destination, and target, and they are stateful, so return traffic needs no extra rule. Defaults matter: ingress is denied unless allowed, egress is allowed unless denied, and rules are evaluated by priority, lower number wins. Two things to know cold: the default network’s permissive internal rules, and the frequent mistake of expecting deny-by-default egress. Default posture is the first thing interviewers check on firewall topics.

What are network tags?

Answer: Simple string labels you put on instances so firewall rules and routes can target them: a rule saying target-tags=http applies only to instances carrying that tag. They are lightweight and handy, but they are not IAM-safe: anyone with instance-edit permission on the project can add a tag and fall inside a rule. For stricter targeting, use service accounts as the rule target. Tags versus service-account targeting is a recurring pairing in GCP interview questions because it exposes the security tradeoff.

What is Cloud Storage, and what is a bucket?

Answer: Object storage with an HTTP API and effectively infinite scale: buckets are flat containers holding objects addressed as gs://bucket/object, with no directory hierarchy, just keys that look like paths. Buckets are named globally, created in a location that can be a region, dual-region, or multi-region, and carry IAM policies, lifecycle rules, and versioning. Data pipelines, backups, and static assets all land here, which is why the topic appears in GCP interview questions for nearly every role.

What are the Cloud Storage classes?

Answer: Standard for hot data, Nearline for access about once a month, Coldline for once a quarter, Archive for once a year, with storage price falling and retrieval cost rising down that list. Each class carries a minimum storage duration, and early deletion is billed. Class choice plus lifecycle rules is the cost story of every data lake. State the tradeoff as access frequency versus price, because that framing sets up the harder cost questions that follow.

How do bucket IAM and object ACLs differ?

Answer: IAM grants roles on buckets and projects and is the way access should be managed; ACLs are per-object legacy grants from an older era that still apply in some workflows. With uniform bucket-level access enabled, ACLs are disabled entirely and only IAM decides, which removes the possibility of a stray object being world-readable. The modern answer: uniform access on, IAM only. That opinion is precisely what storage-permission GCP interview questions want to hear.

What is uniform bucket-level access?

Answer: A bucket setting that turns off object-level ACLs and makes bucket IAM the single source of access truth, simplifying audits and preventing one-off public objects. Once enabled it cannot be disabled, a deliberate one-way door. It pairs naturally with IAM conditions for finer grants. Naming the one-way door earns credit, because it shows you know the setting is a policy commitment rather than a toggle.

What is Cloud SQL?

Answer: Managed relational databases: MySQL, PostgreSQL, and SQL Server with Google handling provisioning, backups, patching, replication, and failover. You get high availability by standing the instance up regionally with an automatic standby, read replicas for scaling reads, and private IP connectivity through your VPC. You still own schema design and query tuning. It is the default answer to where does this app’s relational data live, and database-adjacent GCP interview questions open here constantly.

What is BigQuery?

Answer: A serverless data warehouse: load or stream data in, run SQL at scale, and let Google handle storage, compute, and sharding. Storage is columnar and decoupled from compute, so queries scan only the columns they reference, and pricing follows that scan or the slots you reserve. It is the destination for billing exports, log analytics, and operational reporting. Cost mechanics make it a favorite intermediate topic, so expect the money questions to follow any BigQuery answer.

In BigQuery, what is a dataset?

Answer: The top-level container inside a project: datasets hold tables, views, and models, carry a location that must match any data they join against, and have their own IAM policies. The path is project.dataset.table, and permissions can be granted at project or dataset level. Location mismatch is the classic beginner error, cross-region joins fail outright. That failure mode is one of the small gotchas interviewers use to separate hands-on users from readers.

What is Cloud Functions?

Answer: A functions-as-a-service product: you deploy a single function in Python, Node, Go, and more, and it runs in response to HTTP calls or events like a file landing in a bucket, delivered through Eventarc. Second-generation functions run on Cloud Run infrastructure, so they support concurrency and larger instances. It fits glue logic and light event processing, not long-running services. Knowing when a function is the wrong shape is part of what serverless GCP interview questions test.

What is Cloud Run?

Answer: Serverless containers: bring any container that listens on a port, and Cloud Run scales it from zero to many instances based on request load, with per-instance concurrency so one instance can serve many requests. CPU is granted per-request by default or always-on for background work. It is the middle rung between functions and Kubernetes: full framework freedom, zero infrastructure ownership. That positioning makes it one of the most reliable topics in current GCP interview questions.

Cloud Run or Cloud Functions: how do you pick?

Answer: Pick Functions when the unit of work is genuinely one event handler and you want the smallest possible deployment surface. Pick Cloud Run when you have a real service: multiple endpoints, a framework, custom binaries, long-lived connections, or you want the same container running locally and in the cloud. Since gen2 Functions run on Cloud Run anyway, the choice is mostly about shape, not infrastructure. Stating it that way is exactly the judgment this comparison is fishing for.

What does a load balancer do in GCP, at a high level?

Answer: It accepts traffic on a stable front end and distributes it to healthy backends: VM groups, GKE services, Cloud Run, or storage buckets, using health checks to route around failures. Google’s external HTTP(S) load balancer is global, one anycast IP that lands at the edge closest to the user and forwards to the nearest healthy region. Global front door with regional backends is the sentence interviewers want, and it unlocks the harder failover and Cloud Armor follow-ups, which is why the load balancer is a gateway topic in GCP interview questions.

What is a health check?

Answer: A periodic probe against your backends, HTTP, TCP, or gRPC, whose result decides whether each backend receives traffic. Configuration matters more than existence: the check’s protocol, port, and path must match what the app actually serves, and firewall rules must allow the health checker’s ranges, or every backend looks dead. Misconfigured health checks are among the most common production 502 causes. That failure mode is why the topic stays in rotation year after year.

What is Cloud DNS?

Answer: Google’s managed authoritative DNS: you host public zones for your domains, private zones that resolve only inside your VPCs, and get a global anycast serving infrastructure with an SLA. It supports routing policies like weighted round robin and geolocation. For interviews, the private-zone detail matters most: hybrid setups resolve internal service names through Cloud DNS rather than hosts files. DNS is connective tissue in every architecture answer, so expect it to surface repeatedly.

What are labels, and why do finance teams care?

Answer: Key-value pairs you attach to resources, like env=prod or team=payments, that flow into billing data where costs can be grouped by them. Labels are not access control and have no effect on behavior, they are purely organizational and financial metadata. A labeling convention enforced at deploy time turns a monthly invoice from a mystery into a report. That cost-attribution angle is why labeling shows up in GCP interview questions more than candidates expect.

What is a billing account, and how does it relate to projects?

Answer: The billing account pays: projects link to one, charges accrue there, and the link is what makes resources billable. One billing account can serve many projects, or a company can isolate teams with separate accounts and budgets. Permissions are separate from project IAM, so finance can be granted billing roles without any resource access. Understanding that the billing link is independent of the org tree is the point of this question.

What is a budget alert?

Answer: A spending threshold on a billing account or scoped to projects, services, or labels, which fires notifications by email or Pub/Sub at percentages of the budget like 50, 90, and 100 percent. Alerts inform, they do not stop spending: shutting things down automatically requires wiring the Pub/Sub topic to something that acts. Saying that out loud is the detail that elevates the answer. Cost-surprise scenarios later in the round build directly on this mechanism.

What is Cloud Monitoring?

Answer: The metrics platform: it ingests metrics from GCP services automatically, from agents on VMs, and from Prometheus endpoints, and turns them into dashboards, uptime checks, and alerting policies. Alerts define conditions over time series, like CPU above 90 percent for ten minutes, and route notifications through channels. Knowing that service metrics arrive free and agent metrics need the Ops Agent covers the practical half. Monitoring fluency is assumed in most scenario rounds, so build it early.

What is Cloud Logging?

Answer: The centralized log store: audit logs, VPC flow logs, service logs, and application logs written by the Ops Agent all land in one place, queryable with the Logging query language and retained by default for 30 days. Log router sinks can export entries to BigQuery, Storage, or Pub/Sub for longer life and analysis. Log-based metrics turn matching entries into countable series. Since nearly every troubleshooting answer ends in a query, logging is where debugging maturity shows.

What is gcloud, and how do you aim it at a project?

Answer: The command-line interface for Google Cloud: authenticate with gcloud auth login, set defaults with gcloud config set project my-project, and pass --project per command to override. Configuration blocks, gcloud config configurations, let you switch between environments without retyping everything. Scripts should pass --project explicitly rather than trusting local defaults. That scripting habit separates candidates who have automated GCP from those who have only clicked, and GCP interview questions notice the difference.

What is a Spot VM?

Answer: Spare Compute Engine capacity offered at a large discount, up to around 90 percent off, that Google can reclaim with a short, 30-second warning when capacity is needed elsewhere. Spot VMs suit fault-tolerant, resumable work: batch rendering, CI runners, stateless workers with checkpointing. They are wrong for anything that cannot survive eviction. Being able to name the workload pattern that fits is what this question actually grades.

How do you SSH into a Compute Engine VM?

Answer: The standard path is gcloud compute ssh vm-name, which manages keys for you through project or instance metadata, or through OS Login if enabled, which ties SSH access to IAM roles instead of scattered keys. For VMs without external IPs, add --tunnel-through-iap and Identity-Aware Proxy brokers the connection over the internal network. Knowing the IAP path matters, because most hardened projects have no external IPs at all. SSH access patterns are a reliable confidence check in GCP interview questions.

Intermediate GCP interview questions

This tier is where GCP interview questions stop testing vocabulary and start testing mechanism. Forty questions follow, and the pattern to internalize is component, then consequence: name the part of the platform that owns the behavior, then say what it implies operationally. That second half is what moves you from operator to engineer in an interviewer’s notes.

How does IAM actually decide whether a request is allowed?

Answer: The engine resolves the resource up the hierarchy, unions every allow binding that applies to the caller from the resource and all ancestors, then checks the requested permission against that set. IAM deny policies are evaluated first, and any matching deny subtracts the permission no matter what grants exist. Conditions filter bindings by attributes like resource name or time. The upgrade sentence: allow policies are additive unions, deny is subtractive and wins. That evaluation order is one of the most frequently misanswered GCP interview questions at this level.

What are IAM Conditions?

Answer: Attribute-based guards on a binding: the grant applies only when the condition’s expression is true, evaluated against resource type, resource name, and request time. A binding can hand roles/storage.objectAdmin scoped to resource.name.startsWith("projects/_/buckets/acme-prod"), or expire automatically with a time bound. Conditions are the tool for temporary access and per-prefix grants inside one bucket. Caveat to volunteer: expressions are evaluated on every request, and a wrong attribute makes the binding grant nothing, silently.

What is Workload Identity Federation, and when would you use it?

Answer: It lets identities in external systems, GitHub Actions, GitLab, AWS, Azure, authenticate to Google Cloud with short-lived tokens instead of exported service account keys. You configure a pool and provider that trusts the external OIDC issuer, then bind a role to the federated subject. The security argument is decisive: no downloadable long-lived key to leak, automatic rotation by the issuer. For any CI pipeline, this is the 2026 answer, and treating it as such is a strong signal in GCP interview questions about credential hygiene.

How does Workload Identity work inside GKE?

Answer: It maps a Kubernetes service account in a namespace to a Google service account through an IAM binding on the Google side with roles/iam.workloadIdentityUser, plus an annotation on the KSA. Pods running as that KSA receive Google API credentials automatically, with no keys stored in the cluster. Prerequisites: Workload Identity Federation must be enabled on the cluster and workload pools configured. This mechanism is why well-run GKE clusters have zero SA keys in secrets, and GCP interview questions for platform roles expect you to know the prerequisites cold.

Service account keys or impersonation: which, and why?

Answer: Prefer impersonation: gcloud ... --impersonate-service-account=sa@project or the iamcredentials API mints short-lived tokens, so nothing long-lived exists to leak and the caller needs only roles/iam.serviceAccountTokenCreator. Downloaded keys are static credentials with a ten-year lifespan, no rotation story, and a habit of ending up in git repos, which is why Google now blocks key creation by default in many orgs. Keys remain necessary only where impersonation is impossible, like some on-prem legacy runtimes.

What is wrong with using the default Compute Engine service account and its access scopes?

Answer: Two legacy layers stack there: access scopes, the old per-instance permission ceiling, and the SA’s IAM bindings. Scopes can only narrow what IAM already allows, they cannot widen it, and scopes are set at instance creation and immutable without a stop. Default instances often carry cloud-platform scope, effectively full API access for whatever runs on the box. The professional pattern: a dedicated least-privilege SA per workload, full cloud-platform scope, and IAM as the single control. That pairing is the modern answer GCP interview questions on this topic expect.

What is live migration?

Answer: Compute Engine’s way of moving a running VM off host infrastructure for maintenance: the instance’s memory and state migrate to another host with a brief, sub-second pause, and the VM keeps running in the same zone with the same IP. Events are announced in advance, and you can watch them in the instance’s maintenance history. Workloads too latency-sensitive to tolerate the pause can set availability policy to terminate and let a MIG recreate them instead. Knowing the pause exists, and its duration, is the depth interviewers want.

What is a managed instance group, and what can its autoscaler react to?

Answer: A MIG keeps a set of identical instances from a template at the desired state: it recreates failed members, spreads them across zones if regional, and integrates with load balancers. The autoscaler scales on CPU utilization, load balancing capacity, a Cloud Monitoring metric, or a schedule, with min and max size bounds. Because the template is immutable, changes mean new versions and a rolling update. MIG behavior is a favorite mechanism topic in GCP interview questions because it combines compute, health, and scale in one object.

Regional versus zonal MIGs: what changes?

Answer: A zonal MIG keeps its instances in one zone, so a zone outage takes the whole group down. A regional MIG spreads instances across three zones by default, automatically rebalances capacity between them, and survives a zone loss by recreating instances in the surviving zones. The tradeoffs are quota consumption across zones and slightly more complex update behavior. For anything user-facing, regional is the default choice, and being able to explain the rebalancing behavior is the depth this question rewards.

How do rolling updates work in a MIG?

Answer: You add a new instance template as a version with a target size, and the updater replaces instances gradually: max surge controls how many extra instances spin up, max unavailable caps how many can be down at once, and a minimal-wait plus health check gates each wave. A bad version that fails health checks halts the rollout instead of propagating. Abandoning the update or rolling forward are both supported. Describing surge and unavailable bounds precisely is what turns a vague answer into a working-engineer answer.

What are secondary subnet ranges and alias IPs for?

Answer: A subnet can carry multiple CIDR ranges: the primary range for node and VM addresses, secondary ranges for things like pod and service networks in GKE. Alias IPs let a single VM hold individual addresses from a secondary range, so containers on one host get routable VPC-level IPs. The payoff is native routing without NAT layers, which makes firewall rules and flow logs see real pod addresses. This mechanism underpins VPC-native GKE, so expect follow-ups there.

Walk through VPC firewall rule evaluation.

Answer: Rules sort by priority, lowest number first, 1000 by default, 65534 lowest; the first rule matching protocol, port, direction, source or destination, and target wins, and the implied rules sit at the very bottom: deny all ingress, allow all egress. Targets select instances by tag or service account. Two priorities to know: 65535 is reserved for the implied rules, and a broad allow at priority 100 will silently shadow your careful deny at 2000. Priority shadowing breaks more firewalls than typos do, and this diagram is the mental model GCP interview questions want.

deny tcp:3306 priority 100 allow tcp:443 priority 1000 allow all ingress priority 65534 First match on packet wins lower priority number is evaluated first Implied rules: priority 65535 deny all ingress · allow all egress The 65534 allow-all shadows every deny written below priority 100.
Evaluation is strict priority order with first match winning, so one broad low-numbered allow disables every more specific rule.
VPC peering or Shared VPC: how do you choose?

Answer: Peering connects two VPCs that stay administratively independent, with non-transitive routing: A can reach B, B can reach C, but A still cannot reach C through B. Shared VPC makes one host project own the networks and subnets while service projects attach into them, so a central platform team controls routing, firewalls, and IP space for every team. Peering suits company-to-company or loosely coupled links; Shared VPC is the standard org pattern. Quotas differ too: peered networks cap at limited connections, Shared VPC scales further.

How does Cloud NAT work, and what is port exhaustion?

Answer: Cloud NAT gives private instances outbound-only internet access by translating their internal IPs to the NAT’s external IPs, keeping per-VM static port reservations, 64 ports per VM by default. Because each external IP offers roughly 64,000 ports, a busy fleet can run out: connections then queue and time out with no error on the NAT itself, a maddeningly silent failure. Remedies: raise per-VM ports, add more NAT IPs, or turn on dynamic port allocation and endpoint-independent mapping. NAT exhaustion is a real production pattern and a sharp GCP interview questions scenario.

What is Private Google Access?

Answer: A subnet-level setting that lets instances without external IPs reach Google APIs and services, storage.googleapis.com and friends, over Google’s internal network paths instead of the internet. Traffic still authenticates through IAM, it just never leaves private routing. The classic symptom of it being off: a headless VM with no external IP cannot download a package or reach a bucket. Pair it with Private Service Connect for a fully private architecture, and mention the subnet granularity when answering.

What is Private Service Connect, and how is it different from peering?

Answer: PSC exposes a service, Google APIs, a partner service, or your own service in another VPC, through an endpoint with a private IP inside your subnet, addressed by DNS aliases. Unlike peering, there is no route exchange and no overlap risk: you connect to one service endpoint, not whole networks, and access control is IAM and service attachment policies on the consumer side. For Google APIs, PSC is the modern replacement for the older restricted-VIP approach. Endpoint-not-network connectivity is the key distinction interviewers listen for.

How do routes work in a VPC, and what can be a next hop?

Answer: Every subnet automatically generates routes; a default route of 0.0.0.0/0 points at the internet gateway; and custom routes add control with a priority, lowest wins among matching destinations. Valid next hops include internet gateway, VPN tunnels, Interconnect attachments, instance, internal passthrough load balancer, and the default package repository mirror. Two classic traps: instance next hops die with the instance, and route priority, not insertion order, decides who wins. Route mechanics are the backbone of many networking GCP interview questions.

What are VPC Flow Logs?

Answer: Sampled records of connections through your VPC: aggregation interval, five-tuple of IPs, ports, protocol, bytes and packets, start and end flags, written to Cloud Logging and exportable to BigQuery. They are enabled per subnet or per VPC with configurable sampling and metadata. The operational uses: verifying that a firewall change had the intended effect, finding talkers during an incident, and baselining traffic before segmentation work. Sampling means small flows can be missing, a caveat worth stating in any flow-log answer.

What are signed URLs, and when do you use them?

Answer: A signed URL is a time-boxed URL that grants anyone holding it access to one object without IAM credentials, constructed with a private key or through IAM-signed requests with an expiration, optional method restriction, and response headers. Use them for direct browser uploads and downloads that should bypass your backend’s bandwidth. The failure modes interviewers like: expired signatures returning 403, and clock skew between signer and Google. Signed URLs versus proxying through the app is a genuine architecture decision, not trivia.

How do lifecycle rules work in Cloud Storage?

Answer: Bucket-level rules evaluated roughly daily: each rule carries conditions, age, created-before, is-live, version matches, number of newer versions, and actions, either delete or set storage class transitions. A common pattern: 30 days to Nearline, 90 to Coldline, 365 to Archive, 730 to delete. Transitions before a class’s minimum duration still incur early-deletion charges, so rules must respect the economics, not just the calendar. Lifecycle is the primary lever for storage cost control, which is why cost-focused GCP interview questions always come back to it.

What do object versioning and soft delete give you?

Answer: Versioning keeps noncurrent versions of overwritten or deleted objects, each remaining billable and addressable, so accidental overwrites are recoverable, and lifecycle rules typically prune noncurrent versions after a window. Soft delete, on by default since 2024, keeps recently deleted objects for a short retention period, seven days by default, providing an undo that covers the human-factor deletion that versioning misses. The complete answer pairs both with lifecycle hygiene so protection does not become silent cost growth.

How consistent is Cloud Storage?

Answer: Strongly consistent for object writes and reads: after a successful write or delete, every subsequent read anywhere sees that state, list operations included. What is not immediate is metadata caching: public objects and bucket listings can be served from caches with TTLs, and the old eventual-consistency war stories no longer apply. The nuance to offer: consistency is about the object data, while CDN caches in front of buckets follow their own TTLs. Interviewers use this question to retire outdated knowledge, which is exactly what good GCP interview questions do.

How does BigQuery pricing work: on-demand or capacity?

Answer: On-demand charges per terabyte of data a query scans, with the first terabyte monthly free; capacity editions charge per slot-hour, where slots are the compute units executing your query, and you reserve or autoscale them. Workloads with steady heavy usage usually win on capacity, spiky analytical queries win on on-demand. Storage bills separately, logical versus physical, plus small charges for inserts and streaming. The interview skill is estimating bytes scanned before running, which bq query --dry_run gives you, a habit GCP interview questions on cost reward.

What are partitioning and clustering in BigQuery?

Answer: Partitioning splits a table by a column, usually a date or ingestion time, or by integer ranges, so queries with filters on the partition column scan only matching segments; partitions cap at 10,000 per table. Clustering sorts data within partitions by up to four columns, improving scan pruning for filters on those keys. Together they cut both latency and cost dramatically on large tables. The sharp detail: unpartitioned full scans are how BigQuery bills explode, which connects this mechanism directly to the cost scenarios interviewers pose.

Why does BigQuery separate storage and compute?

Answer: Storage lives in Capacitor, a columnar format replicated on Google’s filesystem, while queries execute on slot-based compute drawn from a shared pool, so neither scales with the other. Practically: you can run massive queries against terabytes without provisioning, many concurrent queries share the same stored data, and storage cost follows bytes while compute follows slots. The architectural consequence is that query cost is a function of design, partitioning and column selection, not of hardware size. That cost-as-design idea is what separates strong BigQuery candidates.

Cloud SQL high availability or read replicas: what is the difference?

Answer: HA is about availability: the instance runs regionally with a standby in another zone, transactions replicate synchronously, and failover is automatic on health failure, at the cost of roughly double compute. Read replicas are about throughput: asynchronous copies that serve read traffic or offload analytics, and they can lag or diverge, promoted only deliberately. Mature setups run both: HA for the primary, replicas for reads. Mixing the two purposes is the misconception this question exists to clear up, and the pairing is a reliable feature of intermediate GCP interview questions.

What does the Cloud SQL Auth Proxy do?

Answer: It is a small client that sits next to your application, authenticates to Google via the caller’s identity, and tunnels database connections to the instance over TLS without you managing certificates or opening network paths. Benefits: IAM-based authorization for database connections, automatic encryption, no need for allowlisted client IPs. It needs the Cloud SQL Admin API and the connector library in sidecar form on GKE or Cloud Run. IAM-and-TLS-in-one-move is the sentence that answers this question completely.

Private IP or public IP with authorized networks for Cloud SQL?

Answer: Private IP puts the instance inside your VPC through Private Service Access, so traffic never traverses public space, authorized networks become moot, and hybrid clients reach it over Interconnect or VPN. Public IP with authorized networks is simpler to start and fine for development, but every client IP must be maintained and the instance is still internet-reachable at the TLS layer. Production default: private IP plus Auth Proxy or PSA routing. State the reason, attack surface reduction, not just the preference, and this question lands well.

How does Cloud Run’s concurrency model work?

Answer: Each container instance can serve many concurrent requests, up to 1000, default 80, which is the big difference from functions-per-request models: fewer instances, fewer cold starts, and cheaper for I/O-bound APIs. CPU is allocated per-request by default, throttled while idle, so background threads starve unless you set CPU always allocated. Min instances hold warm capacity against cold-start latency; max instances cap cost. Tuning concurrency against workload type is a genuinely operational skill and a strong GCP interview questions differentiator.

How do gen2 Cloud Functions and Eventarc relate to Cloud Run?

Answer: Gen2 functions are Cloud Run services under the hood: same infrastructure, concurrency support, larger instances, and container access, which means one deployment model to learn. Eventarc provides the event wiring: triggers subscribe to sources like Pub/Sub topics, Cloud Storage buckets, or audit logs, and deliver events to the function over HTTP with routing and retries managed for you. The practical consequence: a gen2 function can be promoted to a full Cloud Run service with no re-platforming. Framing functions as a packaging of Cloud Run shows real architectural maturity.

Why is Google’s external HTTP(S) load balancer global and anycast?

Answer: You get one anycast IP advertised from hundreds of edge points of presence; users land at the nearest edge, TLS terminates there, and Google’s backbone carries the request to the closest backend with capacity, health checks deciding which regions serve. A region failing drops out of DNS-less routing automatically since the anycast address stays stable, and Cloud Armor policies evaluate at the edge before traffic crosses your backend. This edge-terminate-then-backbone model is the mechanism GCP interview questions probe with their global load balancing prompts.

How do you choose between the GCP load balancer types?

Answer: Decision axes: external or internal, layer 7 or layer 4, global or regional. External HTTP(S) for internet-facing web, with Cloud Armor and CDN; internal Application Load Balancer for service-to-service HTTP inside a VPC; external proxy Network LB for non-HTTP TCP with TLS offload; regional internal passthrough for databases and anything preserving client IP; external passthrough for UDP or legacy protocols. Global anything requires the premium network tier. Naming the axes before the products is exactly how senior candidates answer this.

What does Cloud Armor add?

Answer: Edge security policies that attach to external load balancer backends: IP and geolocation allow or deny lists, rate limiting, and preconfigured WAF rules covering OWASP patterns like SQL injection and cross-site scripting, evaluated before requests reach your backends. Adaptive protection adds ML-based detection of volumetric and application attacks with suggested rules. Policies are per-backend-service and evaluate at the edge points of presence. Edge placement is the understanding GCP interview questions on Armor grade, because the whole point is filtering before traffic ever crosses your backends.

How do GKE release channels and upgrades work?

Answer: Channels, rapid, regular, stable, automate control plane and node upgrades on a cadence, with regular being the production default; opting out means manual upgrades against published release schedules. The control plane upgrades first and is never down during it, then nodes update via surges that respect pod disruption budgets; maintenance windows and exclusions shape timing. Version skew rules matter: nodes may lag the control plane by a bounded number of minor versions. Channel choice plus PDB discipline is the complete answer interviewers want.

How does the GKE cluster autoscaler make decisions?

Answer: Scale up is demand-driven: pods that cannot schedule because no node fits, resources, taints, affinity, trigger node additions from the node pool, within per-pool min and max bounds. Scale down is utilization-driven: nodes running below a threshold, default 50 percent, whose pods can reschedule elsewhere are drained, respecting pod disruption budgets and annotations like safe-to-evict. The famous failure modes: PDBs blocking all drains, and pods unschedulable due to quota rather than nodes. Explaining both directions with their blockers is what GCP interview questions on autoscaling grade.

Pending pods no node fits them Scale up add node, cap at max Blocked? quota · zone capacity Underutilized node below 50 percent Scale down drain, respect PDBs Unschedulable: fit, taints, affinity A blocking PDB stops the drain Scale up answers pods that cannot schedule; scale down answers nodes nobody needs.
The autoscaler is two loops: demand-driven scale-up from unschedulable pods, utilization-driven scale-down gated by pod disruption budgets.
What does VPC-native clustering change about pod networking?

Answer: In VPC-native mode, pods draw IPs from a subnet’s secondary range as alias IPs, so every pod address is routable in the VPC without a NAT or overlay layer. Contrast with the legacy routes-based mode, which writes per-node routes for a virtual pod CIDR and consumes route quota. Consequences: firewall rules can target pod ranges directly, flow logs show true source IPs, and IP planning for the secondary range becomes a capacity decision made at cluster creation. Resizing that range later is painful, which is the operational caveat to state.

How does GKE ingress relate to the Google load balancer stack?

Answer: The GKE ingress controller translates Kubernetes Ingress resources into real Google Cloud load balancer objects: an external ingress creates an HTTP(S) load balancer with forwarding rules, URL maps, and backend services pointing at network endpoint groups for your pods. Gateway, the successor API, offers the same integration with more control over listener and route ownership. Container-native load balancing means health checks target pods, not nodes, so readiness gates traffic precisely. Knowing that ingress objects become billable GCLB constructs is a detail GCP interview questions reward.

How do log sinks and the log router work?

Answer: Every entry written to Cloud Logging passes through the log router, which matches it against sinks at org, folder, project, or billing-account level and routes matches to destinations: BigQuery for analysis, Cloud Storage for archive, Pub/Sub for streaming, or another Google Cloud project. Sinks need a service account granted write access to the destination, the classic broken-sink cause, and filters decide inclusion. Retention stays 30 days in the bucket regardless, so sinks are how logs outlive it. Sink permission failures are the scenario this question usually previews.

What are log-based metrics?

Answer: Metrics counted from log entries: system-defined ones track things like VM admission, while user-defined metrics count entries matching a filter, extract a number or label, and become a normal monitoring time series usable in dashboards and alerts. They convert events that only exist as text, application error lines, HTTP 5xx in access logs, into alertable numbers without changing application code. Costs accrue per matching entry, and filters too broad get expensive fast. This is the standard bridge between logging and alerting, and GCP interview questions treat it as such.

How do uptime checks, alerting policies, and notification channels fit together?

Answer: Uptime checks probe an URL or resource from multiple geographic locations and produce a synthetic time series; alerting policies define conditions over any series, like two consecutive failed regions, and when triggered open an incident; notification channels, email, Slack, PagerDuty, webhooks, decide who hears about it. Policies can align on any metric, so the pattern generalizes: check, condition, channel. Firewall rules must allow the checker ranges or the check fails everywhere. Naming the three-piece chain and its firewall prerequisite is the complete answer.

Scenario and troubleshooting questions

This tier is how scenario rounds actually feel: one symptom sentence, then the interviewer goes quiet while you think out loud. For every item below, the graded skill is the same: state your order of checks and the reasoning behind each one, then act. Silence plus random commands loses to a spoken diagnostic plan almost every time, and that plan is what these scenario GCP interview questions are really measuring.

A pipeline’s service account suddenly gets 403 Permission denied on a GCS upload that worked yesterday. Diagnose it.

Answer: First, confirm what changed: gcloud projects get-iam-policy project --flatten="bindings[].members" filtered to the SA, checking whether a binding was removed, because org policy changes and member cleanups are the usual culprits. Second, verify the permission itself with gcloud iam service-accounts ... testIamPermissions equivalent on the bucket, since bucket-level bindings can differ from project-level. Third, check the credential path: an expired key, a swapped Workload Identity annotation, or an impersonation chain that broke. Fourth, check org policy constraints like domain-restricted sharing newly enforced. The error names the missing permission in the response details; read it before guessing. That read-the-details-first discipline is what scenario GCP interview questions score highest.

403 Permission denied on the API call read the missing permission in the error details 1 · Which principal actually made the call? runtime SA vs impersonated vs user, audit logs confirm 2 · Does a binding grant that permission anywhere up the tree? bucket, project, folder, org, via get-iam-policy 3 · Does a deny policy or org policy subtract it? deny wins over every allow; constraints like domain sharing Work down the ladder in order; each step eliminates one whole class of causes.
A 403 is answered by walking principal, bindings, then guardrails, in that order, instead of regranting roles blindly.
GKE pods show ImagePullBackOff pulling from Artifact Registry. What is your order?

Answer: Read the event first: kubectl describe pod shows the exact image string and the pull error, and typos in the repository path are the number one cause. Second, identify the runtime identity: the node pool’s service account, unless Workload Identity maps a pod SA, and check it holds roles/artifactregistry.reader on the repository’s project. Third, confirm the image exists at that path and tag in the right region host, like us-docker.pkg.dev. Fourth, check org policy restricting image domains. Image pull failures sit near the top of scenario GCP interview questions for container roles because one symptom touches identity, policy, and naming at once.

After adding a custom route, instances lost internet access. What happened?

Answer: Routes match by longest prefix first, then lowest priority number. If your custom route’s destination is broader than intended, like 10.0.0.0/8 catching internal space is fine, but 0.0.0.0/8 or a mistyped mask catching the internet range, it can outrank or shadow the default route’s next hop with a blackhole, an instance next hop that is dead, or a VPN tunnel that is down. Check with gcloud compute routes list and gcloud compute networks subnets list, then verify the effective route from the instance: gcloud compute instances network-interfaces get-effective-routes. Fix by narrowing the destination or fixing the next hop. Effective routes are the ground truth, and route-override stories like this dominate scenario GCP interview questions on networking for exactly that reason.

You added the firewall rule, but the application is still unreachable. Diagnose.

Answer: Order: first confirm the rule matches the instance, because target-tags require the tag to actually be on the VM and target-service-accounts require the VM to run as that SA; gcloud compute instances describe shows both. Second, check priority shadowing: a lower-numbered deny above your allow wins, so list rules and sort by priority. Third, verify the rule’s direction and ranges: an ingress rule with a source range that misses the client’s real IP, or the load balancer’s ranges, blocks silently. Fourth, test from inside: does the listener exist on the port with ss -tlnp. The rule-match check first, shadowing second, is the sequence to narrate.

Pods have been Pending for twenty minutes and the node pool autoscaler is at max. Work it.

Answer: Read why the pods are unschedulable: kubectl describe pod prints the reason, insufficient CPU or memory against requests, taints, affinity rules, or quota. If requests are oversized relative to allocatable, the autoscaler adds nodes but each node fits fewer pods than expected, an allocation math problem, not an autoscaler bug. Check cluster autoscaler events and project quota, since hitting regional CPU quota stops scale-up with an event. Then the decision: reduce requests, raise pool max, raise quota, or add a pool with bigger machines. Quota-versus-fit is the distinction this scenario exists to draw, and it recurs in GCP interview questions about capacity.

The storage bill tripled last month. Where do you look first?

Answer: Start in BigQuery billing export filtered to Cloud Storage SKU and label, and split by bucket and API operation: the jump is usually class retrieval charges, early-deletion fees, or egress, not raw storage bytes. Then inspect lifecycle coverage: data that was supposed to move to Nearline or Coldline still sitting in Standard means a missing or misordered rule. Third, check for a new pipeline writing with versioning on and no noncurrent-version cleanup. Fourth, verify location choice, since cross-region replication and cross-continent egress are silent multipliers. Billing export first is the answer’s backbone, because guessing at buckets without data is how the scenario round exposes people. Cost mysteries are now a fixture of scenario GCP interview questions, so narrate the query before the conclusion.

Leadership asks: what happens to the product if us-east1 goes down? Sketch the posture.

Answer: Answer in layers. Compute: user-facing tiers behind the global HTTP(S) load balancer already route around a dead region if backends exist in two regions as regional MIGs; that is the first and cheapest win. Data: database strategy is the hard part, Cloud SQL read replicas can be promoted cross-region, or Spanner and multi-region storage sidestep it for greenfield. Storage and analytics: dual-region or multi-region buckets, BigQuery datasets are regional, so replication jobs or dataset copies matter. DNS and front door survive regionally by design. Finish with the honest part: RPO and RTO numbers drive cost, and untested DR is fiction. That structure, edge, compute, data, then honesty, is exactly the architecture posture GCP interview questions reward.

IAP tunneling to a VM with no external IP worked yesterday, fails today. Checklist?

Answer: First, confirm the failure mode: gcloud compute ssh vm --tunnel-through-iap with verbose output distinguishes tunnel errors from auth errors. Second, check the caller’s IAM: IAP access needs roles/iap.tunnelResourceAccessor on the project or VM, and role cleanups frequently remove it. Third, verify the firewall rule allowing 35.235.240.0/20 to TCP 22 on the instance still exists, since IAP forwards from that range. Fourth, confirm OS Login state matches how keys are provisioned: an OS Login toggle change invalidates metadata-injected keys. Fifth, check the IAP TCP forwarding resource itself for brand-new org-level restrictions. Rule change before key debugging is the order that saves time.

A VM’s disk is at 100 percent and the app is failing writes. Fix it safely.

Answer: Grow the disk first, it is online and non-disruptive: gcloud compute disks resize disk --size=200GB, then extend inside the OS: growpart /dev/sda 1 for the partition and resize2fs or xfs_growfs for the filesystem, partition-level growth being the step people forget. Then investigate the growth before closing: du -x --max-depth=2 / to find the writer, logs and package caches being the usual suspects, and check whether snapshots have a retention policy. Note what does not require a resize: deleting files a process still holds open frees nothing, the same trap as any Linux box. Capacity plus cause is the complete answer.

An app in GKE cannot reach its Cloud SQL instance. Give the diagnostic order.

Answer: Establish the connection mode first: private IP or public IP with authorized networks, since the checks diverge immediately. For private IP: confirm the app’s pod network can route to the instance’s private range, that Private Service Access peering exists, and critically that any egress path or Shared VPC config does not bypass it; test with a debug pod running nc -vz instance-ip 5432. For the Auth Proxy path: check the sidecar logs, which report IAM and API errors explicitly, and verify the workload’s SA has cloudsql.client. For public IP: the client’s egress NAT IP must be in authorized networks. Mode-first is the structure GCP interview questions on database connectivity reward, because the checks genuinely diverge.

The load balancer started returning 502s right after a deployment. Sequence?

Answer: Check backend health first: gcloud compute backend-services describe --health-checks or the console shows healthy versus total, and 502 with zero healthy backends is a health check problem, not an app problem. Verify the app actually listens on the port the check probes and serves the check path; new containers sometimes bind a different port or return 404 on /. Second, confirm firewall rules allow the health checker ranges to the backends, a classic casualty of tightened egress rules. Third, look at load balancer logs and Cloud Logging for the backend response codes. Health-before-app is the order, because a red backend explains everything else.

A MIG keeps recreating instances in a loop. What do you check?

Answer: Read the instance’s lastAttempt errors and the MIG’s operations list, gcloud compute instance-groups managed operations list, which usually shows the recreation trigger. The classic causes, in order: the instance fails its health check and autohealing replaces it, so verify the health check path and that the app serves it within timeout; the startup script exits nonzero or takes longer than the timeout; the template references something missing, an image, a subnet, a quota-exhausted machine type in that zone. Then decide: fix the check, fix the startup, or fix the template. Autohealing loops are the most common, and explaining why the app must pass the check before autohealing is enabled shows real judgment.

Cloud Run latency spikes whenever traffic ramps. Diagnose and fix.

Answer: Correlate latency with instance count in Cloud Run metrics: cold-start spikes mean instances are scaling from zero or one faster than traffic arrives. Fixes in order: set min instances to hold warm capacity sized to baseline traffic, raise concurrency so fewer new instances are needed, and enable startup CPU boost so first requests get more CPU. If latency is within-instance rather than at scale-up, the cause is per-request CPU throttling: switch to CPU always allocated for CPU-bound work. Then measure the startup path itself, because a 10-second container init defeats the warm instances. Scaling metrics first, then CPU mode, is the order that resolves most of these.

A Cloud Function times out processing large files from a bucket. What are the options?

Answer: First check the timeout config: functions allow up to roughly 9 minutes, and event delivery retries can stack failures, so raising the timeout may simply be necessary. Second, check memory and CPU allocation, since a small instance processing a large file is slow and memory-bound. Third, reconsider the shape: a function is the wrong tool for long jobs, and the pattern interviewers want is fan-out, the trigger function validates and enqueues work chunks to Pub/Sub or a Cloud Tasks queue, workers process in parallel, or the job moves to Cloud Run jobs or a batch service. Fourth, ensure idempotency, because retries will redeliver. Reshape-before-tune is the senior answer.

The BigQuery bill exploded overnight. Diagnose.

Answer: Pull the BigQuery audit logs or INFORMATION_SCHEMA.JOBS and order by total bytes billed overnight: one rogue query, often a SELECT * join on unpartitioned tables from a dashboard or a scheduled job, usually explains most of it. Second, check for a new service account or API key running queries, cost explosions are frequently automation mistakes, not humans. Third, review whether custom quotas, per-user and per-project on-demand bytes, were ever set; setting them is the immediate containment. Fourth, evaluate the fix structurally: partition and cluster the offending tables, add dry-run checks in CI for query changes. Identifying the query before touching anything is the habit GCP interview questions on cost are testing.

After enabling uniform bucket-level access, an integration broke with 403. Explain and fix.

Answer: Explain first: uniform access disabled object ACLs, and any integration that relied on an ACL grant, often an old service account granted per-object, lost its access even though bucket IAM looks fine. Verify with the audit log which principal got denied and on what permission. Fix by granting the equivalent access at bucket or project level through IAM, ideally a predefined role scoped with an IAM condition to just that bucket rather than a broad project grant. Confirm the integration uses IAM-aware tooling, ancient gsutil patterns with ACLs must be updated. Cause-then-fix is the shape here, which is why this is a standby of scenario GCP interview questions about storage.

A signed URL that worked for months started returning 403. Run the ladder.

Answer: Check the URL’s own expiry first: signed URLs carry an expiration timestamp, and a long-lived integration generating them with a short validity is the classic self-inflicted cause. Second, check what signed it: URLs created with a service account key stop working if the key was disabled or deleted, and org policy restricting key creation often breaks the generator after a policy sweep. Third, clock skew on the signing host can invalidate signatures the moment they are minted. Fourth, confirm the object still exists at that exact path, versioning changes object generation identifiers. Regenerate the signature with impersonation-based signing rather than a key, which is both the fix and the prevention.

A log sink stopped delivering entries to BigQuery. Why?

Answer: Work the pipeline in order: is the sink’s filter still matching, since a filter edit upstream of the problem is common, test with the Logs Explorer using the sink’s query. Does the sink’s writer identity still have permission on the destination: BigQuery datasets need the sink’s service account granted roles/bigquery.dataEditor, and dataset ACL cleanups revoke it silently. Is the destination valid: deleted datasets or renamed tables break delivery while the sink shows no error. Check matched log counts in metrics to localize where entries stop. The writer-identity permission is the single most common break, and saying so first shows you have seen this before.

A budget alert configured at 90 percent never fired. What do you check?

Answer: First, scope: budgets alert on the actual charges they cover, so a budget scoped to specific projects or labels misses spend that carries no labels, which is the most common cause. Second, threshold rules: alerts fire at configured percentages of the budget amount, verify the 90 percent rule exists and points at real channels, because the default email-only notification goes to billing account admins nobody reads. Third, timing: billing data lags by hours, so alerts trail reality, and a spike between evaluation windows can overshoot before the alert lands. Fourth, confirm the Pub/Sub path if automation depends on it, topic permissions break quietly. Scope-first diagnosis is the answer’s spine, and budget stories are among the most common scenario GCP interview questions precisely because they expose who understands scoping.

A GKE node keeps getting auto-repaired repeatedly. How do you find out why?

Answer: Read the node’s conditions and events: kubectl describe node shows the repair trigger, and GKE repairs on unhealthy states like persistent NotReady, disk pressure, or failed kubelet. SSH onto the node, or check its serial console, and inspect disk usage first, full boot disks are the leading cause, then journalctl for kubelet errors, then whether the node is reachable at all. Check the node pool’s operations log for the repair history pattern, and correlate with any recent daemonset or kernel-level change, security agents being frequent offenders. The durable fix depends on the trigger: disk pressure means bigger boot disks or log rotation, NotReady means agent conflicts. Trigger-first, not restart-first, is the answer interviewers want.

Egress from GKE to a partner API is intermittently timing out. Connect it to Cloud NAT.

Answer: Check NAT metrics first: allocated ports per VM against the reservation, and dropped or queued packet counts, because port exhaustion produces exactly this intermittent pattern while every individual component looks healthy. Confirm the math: default 64 reserved ports per VM means a fleet of busy pods on one node consumes them fast, especially with many short-lived connections. Fixes in order: enable dynamic port allocation, raise min ports per VM, add NAT external IPs, and reduce connection churn with keepalives in the app. Verify with flow logs that source ports stabilize after the change. Explaining why the failure is silent, drops are not logged as errors by default, is the depth this staple of scenario GCP interview questions distinguishes on.

An IAM condition was added, and the user now has no access at all. Diagnose.

Answer: Conditions are evaluated per request, and a condition that evaluates to false makes the binding contribute nothing, so the first check is the expression itself against real resource attributes: resource.name formats differ per service, and a wrong prefix matches nothing while looking plausible. Second, check what the condition compares: time-based conditions expire quietly, and attribute names are case-sensitive. Third, test precisely with gcloud ... test-iam-permissions as the affected principal, or replay in Policy Troubleshooter, which shows exactly why each binding applied or failed, condition string included. The teaching point: conditions fail closed and silently. Naming Policy Troubleshooter as the tool of record is what completes this answer.

A zone in your primary region goes down. What survives, and what is your exposure?

Answer: Walk the stack as the interviewer expects: regional MIGs recreate instances in surviving zones automatically, so stateless compute keeps capacity, slightly reduced. Zonal persistent disks and anything pinned to the lost zone are down until the zone returns; regional PDs survive with synchronous two-zone replication. GKE control planes are already regional and multi-zone, so the cluster survives, though nodes in the dead zone drain. Load balancing routes around unhealthy backends. Managed services, Cloud SQL HA in another zone, Storage multi-region, BigQuery, generally ride through. The honest close: your exposure is exactly the zonal resources and the data pinned behind them, which is why the design review asks for regional resources in the first place. Zonal failure walkthroughs close senior GCP interview questions often, because they test whether design claims survive contact with reality.

VPC peering was established, but some traffic still fails. What are the usual causes?

Answer: Work the classics in order: peering is non-transitive, so traffic from a third network that reaches only one peer fails, and this is the cause most often missed. Second, check route exchange for overlaps: a conflicting subnet route in either network wins and blackholes the flow, and imported routes can be shadowed by local routes of the same specificity. Third, firewall rules on both sides must allow the peer ranges; an ingress default-deny on the server side fails everything regardless of peering health. Fourth, confirm DNS resolves to internal IPs the requester can actually route. Transitivity first is the ordering that shows real VPC experience.

A VM’s startup script clearly did not run. How do you diagnose it?

Answer: Check whether it ran at all: the serial console shows startup script execution, and google-startup-scripts service logs via journalctl -u google-startup-scripts show script output and failures. Then verify delivery: the metadata key must be exactly right, startup-script or startup-script-url, and a URL script needs the metadata server to be reachable and, for private buckets, the VM’s service account to have storage read. Remember the semantics: startup scripts run once per boot for most images, so a script added to a running VM does nothing until the next reboot, which is the trap in half of these tickets. Delivery, permissions, semantics, in that order.

A partner allowlists one egress IP, and calls to them fail intermittently. Connect the dots.

Answer: First find the real source: flow logs or partner-side logs reveal the traffic leaves from a rotating set of IPs, which happens when egress flows through multiple NAT configurations or a mixture of NAT and directly-attached external IPs. The fix is a stable egress identity: a dedicated Cloud NAT with a static, reserved external IP range that only this workload’s subnet or instances use, so the allowlist is both correct and complete. Verify with flow logs that egress now shows only the reserved range, then have the partner re-allowlist. The reusable principle: egress identity is a design decision, not an accident, and being able to narrate how GCP assigns it is what this scenario is really testing.

Hands-on scenario labs

Reading answers builds vocabulary; building reflexes takes repetition, and the scenario tier of GCP interview questions is graded on reflexes. Each lab below runs inside a sandbox project on the free tier and finishes with something you can say in an interview because you watched it happen. Do each one three times: once with the checklist open, once from memory, once narrating out loud as if a panelist were listening. That narration is exactly the rehearsal scenario GCP interview questions reward.

Lab 1: break and repair IAM on purpose

  • Create a service account: gcloud iam service-accounts create lab-sa, then grant it roles/storage.objectCreator on a test bucket and confirm an upload works with --impersonate-service-account.
  • Break it: remove the binding with gcloud projects remove-iam-policy-binding, rerun the upload, and read the 403 response until you can quote the missing permission line.
  • Repair it at the bucket level instead of project level using gcloud storage buckets add-iam-policy-binding, and confirm the narrower grant works.
  • Add an IAM condition on the binding that expires in ten minutes, then watch it stop working after expiry, which teaches the fail-closed behavior better than any paragraph.
  • Finish by running gcloud projects get-iam-policy and explaining every binding you see out loud.

Lab 2: firewall priority and route shadowing drill

  • Create a VPC and one subnet: gcloud compute networks create lab-net --subnet-mode=custom, then add gcloud compute networks subnets create with a small CIDR.
  • Start a VM with no external IP, then write an ingress allow rule for port 22 targeting a tag, and confirm IAP SSH reaches it only through --tunnel-through-iap.
  • Add a deny rule for the same port at priority 100, above your allow at 1000, and watch SSH break, then reorder the priorities and watch it return.
  • Add a custom route with a broad destination and a dead next hop, run gcloud compute instances network-interfaces get-effective-routes, and explain which route wins for a given destination.
  • Clean up by deleting routes, rules, and the network in reverse order, narrating why each command must come in that order.

Lab 3: storage lifecycle and cost drill

  • Create a bucket with uniform bucket-level access on, upload a few objects, and confirm that gsutil acl set style ACL attempts fail now, reading the actual error.
  • Add a lifecycle rule that moves objects to Nearline after 1 day using a JSON config and gcloud storage buckets update --lifecycle-file, then inspect it with gcloud storage buckets describe --format.
  • Enable versioning, overwrite an object, and list both versions with gcloud storage ls -a, then delete the live object and restore the noncurrent one.
  • Generate a signed URL with a ten-minute expiry, confirm it downloads, then rerun after expiry and read the 403.
  • Close by estimating what one terabyte costs per class and saying the retrieval-charge tradeoffs out loud, because that sentence is the one interviewers wait for.

Cheat sheet: the commands behind the answers

Nearly every item in this bank of GCP interview questions resolves to one of the commands below, in roughly the order you would reach for it live. Learn the table, then attach one diagnostic sentence to each row, and any scenario round becomes a sequence instead of a scramble.

CommandWhat it tells you
gcloud config list / --projectWhich project and account you are actually aiming at, the first thing to confirm
gcloud projects get-iam-policy PROJECTEvery binding at project level; flatten and filter for one principal
gcloud ... test-iam-permissionsWhether the caller holds a specific permission, the honest 403 test
gcloud iam service-accounts keys listWhich long-lived keys exist, and which should not
gcloud compute instances listInventory with internal and external IPs, status, and zone
gcloud compute instances describe VMService account, tags, scopes, and metadata for one machine
gcloud compute instances network-interfaces get-effective-routesThe routes a packet from this VM actually follows
gcloud compute ssh VM --tunnel-through-iapShell on a VM with no external IP, via Identity-Aware Proxy
gcloud compute firewall-rules list --formatRules sorted to expose priority shadowing and target mismatches
gcloud compute networks subnets listCIDR ranges, secondary ranges, and Private Google Access state
gcloud compute routes listSystem and custom routes with priorities and next hops
gcloud compute instance-groups managed list-instancesMIG membership, health state, and current actions
gcloud container clusters describeGKE release channel, networking mode, autoscaling bounds
gcloud container clusters get-credentialsWires kubectl at the right cluster before any pod debugging
kubectl describe podThe event that explains Pending, ImagePullBackOff, or OOMKilled
gcloud run services describeConcurrency, min and max instances, and CPU allocation mode
gcloud sql instances describeAvailability mode, IP configuration, replicas, and maintenance
gcloud storage du -s -b gs://bucketBucket size, the first number in any storage cost question
gcloud storage buckets describe --formatLifecycle rules, versioning, uniform access, and location
bq query --dry_runBytes a query will scan before you pay for it
bq show --format=prettyjson DATASETPartitioning and clustering that explain query cost
gcloud logging sinks listRouter destinations, filters, and the writer identity to check
gcloud services list --enabledWhether the API causing the 403 or 404 is even enabled
gcloud compute project-info describeQuotas and usage that silently cap scale-up

The authoritative reference for every command here is the gcloud CLI reference, and the per-service pages in the Google Cloud documentation cover the mechanisms this page summarizes, especially IAM evaluation and VPC routing.

Key takeaways and FAQ

The through-line of every tier above: GCP interview questions reward people who can name the component that owns a behavior and then state its consequence. Knowing that firewall rules have priorities is trivia; knowing that one broad allow at priority 100 shadows every deny below it is operational judgment. Pair mechanism with consequence in every answer you rehearse, and this bank becomes a script for the whole loop, from screening definitions to the scenario round.

How long should I prepare for GCP interview questions?

With daily GCP use, a focused week: two days on the beginner tier spoken aloud, two on intermediate, one on the scenario tier, the weekend on the labs. Without daily platform exposure, plan three to four weeks and run every lab in a sandbox project, because hands recall what eyes skim. GCP interview questions punish pure reading faster than most topics, since the answers are full of command-level details you either have typed or have not.

Do I need a GCP certification to pass GCP interview questions?

No, but the Associate Cloud Engineer syllabus overlaps this bank heavily, and preparing for it doubles as interview prep for the beginner and intermediate tiers. Past a couple of years of experience, panels weight war stories over certificates, so shift that study time to the scenario tier. Treat the cert as scaffolding for GCP interview questions early in a career, and as optional later.

Which services come up most in GCP interview questions?

IAM evaluation, VPC networking with firewall and route mechanics, GKE operations, Cloud Run versus Functions tradeoffs, and Cloud Storage cost behavior. Those five cover the large majority of rounds. Billing and labels appear less often but decide hiring calls, because cost judgment is what separates operators from architects in GCP interview questions.

How are GCP interview questions different from AWS ones?

The concepts rhyme and the models differ: one global VPC versus region-bound VPCs, IAM bindings that inherit versus policy documents, edge-terminating global load balancers versus regional ELB families. Interviewers specifically probe whether you carry over assumptions that do not transfer, so cross-cloud GCP interview questions reward candidates who prepare the contrast deliberately. Candidates who can articulate those differences handle both rounds with the same material.

Are GCP interview questions different for data engineering roles?

The beginner tier is identical; the emphasis moves to BigQuery pricing and performance, storage lifecycle, and pipeline failure handling, with less GKE and VPC depth. If the role touches streaming, expect Pub/Sub and Dataflow follow-ups. Either way, prepare the full bank, because you cannot predict which half of the panel owns which services.

What should I read after this page?

Continue with the Linux interview questions bank, since Compute Engine and GKE troubleshooting bottom out in Linux knowledge, and the Kubernetes interview questions bank for everything GKE-related. Then browse the DevOps Prep hub for the rest of the series, including the AWS and cloud computing banks that pair naturally with this one.

GCP Prep Quiz: Compute, IAM, Networking, and Cost

1 / 5

Data is accessed roughly once a year and storage cost is the priority. Which Cloud Storage class fits?

2 / 5

A pipeline's service account gets 403 Permission denied on a bucket upload. What do you check first?

3 / 5

Which signals can a managed instance group's autoscaler scale on?

4 / 5

In a default GCP VPC, what is the implied firewall posture?

5 / 5

An IAM binding at the organization node grants roles/viewer to a group. Where does it apply?

0%