Notes from my beta Google Cloud Professional Cloud Developer Exam
Subscribe to my YouTube channel that teaches you to apply Google Cloud to your projects and also prepare for the certifications: youtube.com/AwesomeGCP. Check out the playlists I currently have for Associate Cloud Engineer, Professional Architect, Professional Data Engineer, Professional Cloud Developer, Professional Cloud DevOps Engineer, Professional Cloud Network Engineer, and Professional Cloud Security Engineer.
Update on Jan 24th, 2019: The Professional Cloud Developer exam is now out of beta. Also, I passed the exam!
Immediately after the exam I do a memory dump as notes. Hence it is also quite unordered. This is a sanitized list that gives general topics and questions I encountered. The intention is not to give you the questions, but to give you topics that you can be prepared for. I was often stumped by some questions; hopefully you can be more prepared based on my experience. Wish you the very best!
I didn’t really prepare for this exam. There was no material to prepare with either (at the time that I wrote the exam). But I hoped my preparation for the other three certifications would carry me through on this one. The results are out only in a few months and I cannot be certain I passed yet. Btw, because it was a beta exam, there were 102 questions for me and 4 hours to do it in. In the notes below I’ve mentioned topics from the exam outline.
- Identity aware proxy. What is the use-case for this? How do you set it up in the network? Where do users connect from?
https://cloud.google.com/iap/ - Endpoints. What are the services you can use Endpoints with? How do you do authentication/authorization with it?
https://cloud.google.com/endpoints/docs/choose-endpoints-option - Stackdriver. Tracer vs profiler, what additional things you get when you install the monitoring agent, what API permissions do you need after you install it, how do you get data from GKE or GCE into stackdriver logs, Transparent SLIs, etc.
https://cloud.google.com/stackdriver/ - IAM. Google Groups, Service Accounts, BigQuery job permissions. Basically, learn everything about IAM permissions for each product/service. Remember you don’t need to by-heart all the roles, but get key concepts and nomenclature that you can reapply to many situations.
- BigTable keys. Best practices for key schema and how to avoid hotspotting.
https://cloud.google.com/bigtable/docs/schema-design - Big Query. Batching. Advantages of using batches instead of single queries.
https://cloud.google.com/bigquery/batch - Datastore. Working with batches. Ways to optimize insertion and queries. Ways to avoid hotspotting. Working with transactions. Is ACID possible with Datastore?
https://cloud.google.com/datastore/docs/best-practices - AppEngine. Using memcache with AppEngine.
https://cloud.google.com/appengine/docs/standard/python/memcache/ - Memcache. How do you work with memcache and flush it?
https://cloud.google.com/appengine/docs/standard/python/memcache/using - Cloud SQL Proxy. When is it used and how? How to connect from various environments.
https://cloud.google.com/sql/docs/mysql/sql-proxy - GKE. Scaling deployments.
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ - Managed Instance Groups. Scaling and updating deployments.
https://cloud.google.com/compute/docs/instance-groups/updating-managed-instance-groups - Deployment Manager. Learn how to write templates, how to use references, environment variables, etc.
https://cloud.google.com/deployment-manager/docs/how-to - GKE . Learn how to check the health of VMs, pods, and services.
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ - Stackdriver. Learn how to check the health of resources.
https://cloud.google.com/monitoring/uptime-checks/ - BigQuery. Learn how to work with arrays and structs. How do you join them?
https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays - BigQuery + IAM. How do you provide/restrict access? Remember that you cannot restrict access at table level. It is only at dataset level. Also look up what Authorized Views are.
https://cloud.google.com/bigquery/docs/access-control - GDPR. Know what GDPR, HIPAA, COPPA, etc. is at a fairly high level.
- Resource Manager. Look up how you can work with Resource Manager programmatically.
https://cloud.google.com/resource-manager/ - Data Loss Prevention API. Learn what this is used for.
https://cloud.google.com/dlp/ - Integrating with GSuite/GDrive/etc. How do you write an app that has permissions on GSuite products?
- GKE+gcloud+kubectl. How do you diagnose pods and containers? Know the limits of gcloud when it comes to GKE, and what all kubectl does. I would suggest you take an entire course in kubernetes.
- gsutil. Know all the different commands when using gsutil. Know recommended practices when using it.
https://cloud.google.com/storage/docs/gsutil/commands/acl - Cloud Armor vs Cloud Security Scanner. What are their use cases? How do you use them and for what kind of protection?
- Cloud Identity Proxy. (Edit: I would assume this has become more important than it used to be when I wrote the exam.)
- Java was the language of code examples. Most code was for AppEngine and one for Cloud Functions in JavaScript. (Since I wrote the exam, Go and Python have been added as options for Cloud Functions.) Java, being verbose (ugh), sometimes took a long time for me to read and understand the code. Don’t focus too much on learning all the languages — you should be able to fairly interpret code from any language.
- Deployment Manager.
- DNS, not Cloud DNS, but DNS in general in connection with some GCP resources.
- As I’ve mentioned in all other notes also, as a Professional Developer you are expected to know just GCP but also tools, technologies, and processes from all software development.
- BigQuery. Did you know BigQuery also has DML statements? Which ones? How and when should they be used?
https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language - Managed Instance Groups. Scaling MIGs based on various parameters.
https://cloud.google.com/compute/docs/autoscaler/scaling-cpu-load-balancing - Cloud Storage. Standard storage, nearline, coldline, signed urls, using SSD. What use-cases are they relevant for and setting policies.
https://cloud.google.com/storage/docs/storage-classes - Cloud Storage. Bucket limitations and quotas. How can you optimize for heavy load?
https://cloud.google.com/storage/docs/best-practices - Cloud Storage. Apart from the above, what are the best options to transfer various amounts of data.
https://cloud.google.com/storage/quotas - Cloud Composer. (Edit: this solution was still in early stages when I wrote the exam, but this would have become more important now). This is the GCP managed solution for Apache Airflow.
https://cloud.google.com/composer/ - Case studies: Know the case studies properly and work through the solutions, but don’t by-heart them.
https://cloud.google.com/certification/guides/cloud-developer/casestudy-hiplocal - Cloud Spanner. Under what circumstances and for what use cases is Cloud Spanner a good fit?
- Cloud SQL. Know that this is regional.
https://cloud.google.com/sql/docs/mysql/locations - Cloud CDN. Learn about caching, deleting cache, setting it up.
https://cloud.google.com/cdn/docs/ - NAT. Brush up your general networking.
- Cloud Build. Relation to Container Registry. Setting up continuous builds.
https://cloud.google.com/cloud-build/ - PubSub.What are the use cases and preferred architecture for and when using PubSub. Know your PubSub fundamentals.
https://cloud.google.com/pubsub/docs/overview - Cloud Tasks.
https://cloud.google.com/blog/products/application-development/announcing-cloud-tasks-a-task-queue-service-for-app-engine-flex-and-second-generation-runtimes - Key Management Service. Note that there is a default key management where Google manages all the keys, then there is a customer managed encryption keys, and also a customer supplied encryption keys.
https://cloud.google.com/kms/docs/ - A general knowledge of kubernetes and microservices is useful for a cloud developer.
- Know the various types of testing — Canary, Blue/Green Testing, Rolling, etc.
- AppEngine+Testing+Rollout. How to do some of that testing on AppEngine.
- Datastore. Know the difference between strong and eventual consistency. What are the use-cases for them and how does it affect your choice of database?
https://cloud.google.com/datastore/docs/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore/
My Certification
Update: the exam is out of beta now. I passed and got my certificate.
Google Cloud Certified — Professional Cloud Developer
Notes from each of my exams
For those appearing for the various certification exams, here is a list of sanitized notes (no direct question, only general topics) about the exam.
Overall notes across all GCP certification exams
Notes from the Professional Cloud Architect exam
Notes from the beta Professional Cloud Developer exam
Notes from the Professional Data Engineer exam
Notes from the Associate Cloud Engineer exam
Notes from the beta Professional Cloud Network Engineer Exam
Notes from the beta Professional Cloud Security Engineer Exam
Notes from the Professional Collaboration Engineer Exam
Notes from the Professional DevOps Engineer Exam
Notes from the Professional Machine Learning Engineer Exam
Official Links
Main Link — https://cloud.google.com/certification/cloud-developer
Topics Outline — https://cloud.google.com/certification/guides/cloud-developer/
Practice Exam — https://cloud.google.com/certification/practice-exam/cloud-developer
Github Repo: awesome-gcp-certifications
A collection of posts, videos, courses, qwiklabs, and other exam details for all exams: https://github.com/sathishvj/awesome-gcp-certifications
Free Qwiklabs Codes to Practice
I’ve collected here a bunch of free Qwiklabs codes which are awesome to get lots of hands-on practice. Use them well.
More Questions?
Check the FAQs here: https://medium.com/@sathishvj/frequently-asked-follow-up-questions-on-google-cloud-gcp-certifications-438e1addb91d.
Wish you the very best with your GCP certifications. You can reach me at LinkedIn and Twitter. If you can support my work creating videos on my YouTube channel AwesomeGCP, you can do so on Patreon or BuyMeACoffee.