Google Professional Cloud Developer Practice Exams
Last updated on Oct 22,2026- Exam Code: Professional Cloud Developer
- Exam Name: Professional Cloud Developer
- Certification Provider: Google
- Latest update: Oct 22,2026
You need to containerize a web application that will be hosted on Google Cloud behind a global load balancer with SSL certificates. You don’t have the time to develop authentication at the application
level, and you want to offload SSL encryption and management from your application. You want to configure the architecture using managed services where possible.
What should you do?
- A . Host the application on Compute Engine, and configure Cloud Endpoints for your application.
- B . Host the application on Google Kubernetes Engine and use Identity-Aware Proxy (IAP) with Cloud Load Balancing and Google-managed certificates.
- C . Host the application on Google Kubernetes Engine, and deploy an NGINX Ingress Controller to handle authentication.
- D . Host the application on Google Kubernetes Engine, and deploy cert-manager to manage SSL certificates.
Your company has created an application that uploads a report to a Cloud Storage bucket. When the report is uploaded to the bucket, you want to publish a message to a Cloud Pub/Sub topic. You want to implement a solution that will take a small amount to effort to implement.
What should you do?
- A . Configure the Cloud Storage bucket to trigger Cloud Pub/Sub notifications when objects are modified.
- B . Create an App Engine application to receive the file; when it is received, publish a message to the Cloud Pub/Sub topic.
- C . Create a Cloud Function that is triggered by the Cloud Storage bucket. In the Cloud Function, publish a message to the Cloud Pub/Sub topic.
- D . Create an application deployed in a Google Kubernetes Engine cluster to receive the file; when it is received, publish a message to the Cloud Pub/Sub topic.
C
Explanation:
: https://cloud.google.com/storage/docs/pubsub-notifications
You work at a rapidly growing financial technology startup. You manage the payment processing application written in Go and hosted on Cloud Run in the Singapore region (asia-southeast1). The payment processing application processes data stored in a Cloud Storage bucket that is also located in the Singapore region.
The startup plans to expand further into the Asia Pacific region. You plan to deploy the Payment Gateway in Jakarta, Hong Kong, and Taiwan over the next six months. Each location has data residency requirements that require customer data to reside in the country where the transaction was made. You want to minimize the cost of these deployments.
What should you do?
- A . Create a Cloud Storage bucket in each region, and create a Cloud Run service of the payment processing application in each region.
- B . Create a Cloud Storage bucket in each region, and create three Cloud Run services of the payment processing application in the Singapore region.
- C . Create three Cloud Storage buckets in the Asia multi-region, and create three Cloud Run services of the payment processing application in the Singapore region.
- D . Create three Cloud Storage buckets in the Asia multi-region, and create three Cloud Run revisions of the payment processing application in the Singapore region.
You are writing a Compute Engine hosted application in project A that needs to securely authenticate
to a Cloud Pub/Sub topic in project B.
What should you do?
- A . Configure the instances with a service account owned by project B. Add the service account as a Cloud Pub/Sub publisher to project A.
- B . Configure the instances with a service account owned by project A. Add the service account as a publisher on the topic.
- C . Configure Application Default Credentials to use the private key of a service account owned by project B. Add the service account as a Cloud Pub/Sub publisher to project A.
- D . Configure Application Default Credentials to use the private key of a service account owned by project A. Add the service account as a publisher on the topic
B
Explanation:
https://cloud.google.com/pubsub/docs/access-control
"For example, suppose a service account in Cloud Project A wants to publish messages to a topic in Cloud Project B. You could accomplish this by granting the service account Edit permission in Cloud Project B"
You need to configure a Deployment on Google Kubernetes Engine (GKE). You want to include a check that verifies that the containers can connect to the database. If the Pod is failing to connect, you want a script on the container to run to complete a graceful shutdown.
How should you configure the Deployment?
- A . Create two jobs: one that checks whether the container can connect to the database, and another that runs the shutdown script if the Pod is failing.
- B . Create the Deployment with a livenessProbe for the container that will fail if the container can’t connect to the database. Configure a Prestop lifecycle handler that runs the shutdown script if the container is failing.
- C . Create the Deployment with a PostStart lifecycle handler that checks the service availability. Configure a PreStop lifecycle handler that runs the shutdown script if the container is failing.
- D . Create the Deployment with an initContainer that checks the service availability. Configure a Prestop lifecycle handler that runs the shutdown script if the Pod is failing.
B
Explanation:
https://cloud.google.com/architecture/best-practices-for-running-cost-effective-kubernetes-applications-on-gke#make_sure_your_applications_are_shutting_down_in_accordance_with_kubernetes_expectations
You need to configure a Deployment on Google Kubernetes Engine (GKE). You want to include a check that verifies that the containers can connect to the database. If the Pod is failing to connect, you want a script on the container to run to complete a graceful shutdown.
How should you configure the Deployment?
- A . Create two jobs: one that checks whether the container can connect to the database, and another that runs the shutdown script if the Pod is failing.
- B . Create the Deployment with a livenessProbe for the container that will fail if the container can’t connect to the database. Configure a Prestop lifecycle handler that runs the shutdown script if the container is failing.
- C . Create the Deployment with a PostStart lifecycle handler that checks the service availability. Configure a PreStop lifecycle handler that runs the shutdown script if the container is failing.
- D . Create the Deployment with an initContainer that checks the service availability. Configure a Prestop lifecycle handler that runs the shutdown script if the Pod is failing.
B
Explanation:
https://cloud.google.com/architecture/best-practices-for-running-cost-effective-kubernetes-applications-on-gke#make_sure_your_applications_are_shutting_down_in_accordance_with_kubernetes_expectations
You want to re-architect a monolithic application so that it follows a microservices model. You want to
accomplish this efficiently while minimizing the impact of this change to the business.
Which approach should you take?
- A . Deploy the application to Compute Engine and turn on autoscaling.
- B . Replace the application’s features with appropriate microservices in phases.
- C . Refactor the monolithic application with appropriate microservices in a single effort and deploy it.
- D . Build a new application with the appropriate microservices separate from the monolith and replace it when it is complete.
C
Explanation:
Reference: https://cloud.google.com/solutions/migrating-a-monolithic-app-to-microservices-gke
You are working on a new application that is deployed on Cloud Run and uses Cloud Functions Each time new features are added, new Cloud Functions and Cloud Run services are deployed You use ENV variables to keep track of the services and enable interservice communication but the maintenance of the ENV variables has become difficult. You want to implement dynamic discovery in a scalable way.
What should you do?
- A . Create a Service Directory Namespace Use API calls to register the services during deployment, and query during runtime.
- B . Configure your microservices to use the Cloud Run Admin and Cloud Functions APIs to query for deployed Cloud Run services and Cloud Functions in the Google Cloud project.
- C . Deploy Hashicorp Consul on a single Compute Engine Instance Register the services with Consul during deployment and query during runtime
- D . Rename the Cloud Functions and Cloud Run services endpoints using a well-documented naming convention
You need to migrate a standalone Java application running in an on-premises Linux virtual machine (VM) to Google Cloud in a cost-effective manner. You decide not to take the lift-and-shift approach, and instead you plan to modernize the application by converting it to a container.
How should you accomplish this task?
- A . Use Migrate for Anthos to migrate the VM to your Google Kubernetes Engine (GKE) cluster as a container.
- B . Export the VM as a raw disk and import it as an image. Create a Compute Engine instance from the Imported image.
- C . Use Migrate for Compute Engine to migrate the VM to a Compute Engine instance, and use Cloud Build to convert it to a container.
- D . Use Jib to build a Docker image from your source code, and upload it to Artifact Registry. Deploy the application in a GKE cluster, and test the application.
D
Explanation:
https://cloud.google.com/blog/products/application-development/introducing-jib-build-java-docker-images-better
You are a developer at a large organization Your team uses Git for source code management (SCM). You want to ensure that your team follows Google-recommended best practices to manage code to drive higher rates of software delivery.
Which SCM process should your team use?
- A . Each developer commits their code to the main branch before each product release, conducts testing, and rolls back if integration issues are detected.
- B . Each group of developers copies the repository, commits their changes to their repository, and merges their code into the main repository before each product release.
- C . Each developer creates a branch for their own work, commits their changes to their branch, and merges their code into the main branch daily.
- D . Each group of developers creates a feature branch from the main branch for their work, commits their changes to their branch, and merges their code into the main branch after the change advisory board approves it.
D
Explanation:
Use a centralized repository. A centralized repository is a single location where all of your team’s code is stored. This makes it easy for everyone to access the latest code, and it also helps to prevent conflicts. Use branches. Branches are a way to create a separate version of the code for development purposes. This allows developers to work on new features or bug fixes without affecting the main branch of the code.