Bird
Raised Fist0
GCPcloud~20 mins

Workflows for orchestration in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Workflow Orchestration Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
Understanding Workflow Execution Behavior

You have a Google Cloud Workflow that calls two HTTP endpoints sequentially. The first call succeeds, but the second call returns a 500 error. What will be the overall status of the workflow execution?

GCP
steps:
  - callFirst:
      call: http.get
      args:
        url: https://example.com/api/first
  - callSecond:
      call: http.get
      args:
        url: https://example.com/api/second
AThe workflow execution status will be 'FAILED' because the second call returned an error.
BThe workflow execution status will be 'SUCCEEDED' because the first call succeeded.
CThe workflow execution status will be 'RUNNING' indefinitely until manually stopped.
DThe workflow execution status will be 'CANCELLED' automatically after the error.
Attempts:
2 left
💡 Hint

Think about how workflows handle errors in sequential steps.

❓ Architecture
intermediate
2:00remaining
Choosing Workflow for Event-Driven Orchestration

You want to automate a process that triggers when a file is uploaded to Cloud Storage, then processes the file and updates a database. Which architecture best uses Google Cloud Workflows?

AUse Cloud Scheduler to run a Workflow every hour to check for new files and process them.
BUse a Compute Engine VM to poll Cloud Storage and run the processing logic directly.
CUse Cloud Storage trigger to start a Cloud Function that calls a Workflow to process the file and update the database.
DUse Pub/Sub to send messages to a Workflow that runs continuously processing files.
Attempts:
2 left
💡 Hint

Consider event-driven triggers and how Workflows integrate with other services.

❓ security
advanced
2:00remaining
Securing Workflow Access to Cloud Resources

You have a Workflow that needs to access a Cloud SQL database. What is the best practice to securely grant the Workflow access?

AAssign the Workflow's service account the Cloud SQL Client role and use IAM authentication in the Workflow.
BEmbed the database username and password directly in the Workflow definition.
CUse a public IP for Cloud SQL and allow all IPs to connect.
DRun the Workflow on a Compute Engine VM with the database credentials stored in environment variables.
Attempts:
2 left
💡 Hint

Think about least privilege and secure authentication methods.

❓ Configuration
advanced
2:00remaining
Identifying Workflow Syntax Error

Which option contains a syntax error in the Google Cloud Workflow YAML definition?

GCP
steps:
  - step1:
      call: http.get
      args:
        url: https://example.com/api
  - step2:
      call: http.get
      args:
        url: https://example.com/api2
AThe YAML is invalid because 'args' must be a list, not a map.
BThe YAML is valid and will run without errors.
CThe YAML is invalid because 'call' should be 'calls'.
DThe YAML is invalid because 'step2' is missing a colon after the dash.
Attempts:
2 left
💡 Hint

Check YAML syntax carefully, especially colons and indentation.

✅ Best Practice
expert
2:00remaining
Optimizing Workflow for Cost and Performance

You have a long-running Workflow that calls multiple APIs with some steps that can run in parallel. What is the best practice to optimize cost and performance?

ADuplicate the Workflow for each API call to run them in separate executions.
BUse parallel steps in the Workflow to run independent API calls concurrently and handle errors individually.
CUse a single step that calls all APIs in one combined request to reduce steps.
DRun all API calls sequentially to avoid complexity and reduce errors.
Attempts:
2 left
💡 Hint

Think about how parallelism affects execution time and cost.

Practice

(1/5)
1. What is the main purpose of Google Cloud Workflows?
easy
A. To store large amounts of data securely
B. To automate and coordinate multiple cloud services in a sequence
C. To create virtual machines for computing
D. To monitor network traffic in real-time

Solution

  1. Step 1: Understand the role of Workflows

    Workflows are designed to automate tasks by connecting different cloud services step-by-step.
  2. Step 2: Compare options with this role

    Options B, C, and D describe storage, computing, and monitoring, which are not the main purpose of Workflows.
  3. Final Answer:

    To automate and coordinate multiple cloud services in a sequence -> Option B
  4. Quick Check:

    Workflows automate cloud tasks = A [OK]
Hint: Workflows connect services step-by-step to automate tasks [OK]
Common Mistakes:
  • Confusing Workflows with storage or compute services
  • Thinking Workflows monitor network traffic
  • Assuming Workflows create virtual machines
2. Which of the following is the correct way to start a step in a Google Cloud Workflow YAML?
easy
A. steps:
B. start:
C. main:
D. execute:

Solution

  1. Step 1: Recall the YAML structure for Workflows

    The main entry point for a workflow is defined under the main: key.
  2. Step 2: Check other options

    Options like steps:, start:, and execute: are not valid top-level keys for starting a workflow.
  3. Final Answer:

    main: -> Option C
  4. Quick Check:

    Workflow starts with main: in YAML [OK]
Hint: Workflows start with main: block in YAML [OK]
Common Mistakes:
  • Using steps: instead of main:
  • Confusing start: as the entry point
  • Trying execute: which is invalid
3. Given this snippet of a workflow YAML:
main:
  steps:
  - call: http.get
    args:
      url: "https://example.com/api"
  - return: ${steps[0].body.status}

What will the workflow return if the HTTP GET response body is {"status": "success"}?
medium
A. "success"
B. {"status": "success"}
C. An error because of wrong syntax
D. null

Solution

  1. Step 1: Understand the call and return steps

    The first step calls an HTTP GET and stores the response in steps[0]. The second step returns the status field from the response body.
  2. Step 2: Extract the status value from the response

    The response body is {"status": "success"}, so steps[0].body.status is "success".
  3. Final Answer:

    "success" -> Option A
  4. Quick Check:

    Return status field from HTTP response = "success" [OK]
Hint: Return uses ${steps[index].body.field} to get JSON values [OK]
Common Mistakes:
  • Returning the whole body instead of the status field
  • Syntax errors in accessing steps array
  • Assuming null if not parsed correctly
4. Identify the error in this workflow snippet:
main:
  steps:
  - call: http.get
    args:
      url: "https://example.com/api"
  - return: steps[0].body.status
medium
A. Missing quotes around the URL
B. Incorrect indentation of steps
C. http.get is not a valid call
D. Missing ${} around the expression in return

Solution

  1. Step 1: Check expression syntax in return

    In Workflows YAML, expressions must be wrapped in ${} to be evaluated.
  2. Step 2: Verify other parts

    Indentation is correct, http.get is valid, and URL is quoted properly.
  3. Final Answer:

    Missing ${} around the expression in return -> Option D
  4. Quick Check:

    Expressions need ${} to evaluate in return [OK]
Hint: Wrap expressions in ${} to evaluate in workflow YAML [OK]
Common Mistakes:
  • Forgetting ${} around expressions
  • Misaligning YAML indentation
  • Assuming http.get is invalid
  • Not quoting URLs
5. You want to create a workflow that calls two APIs in sequence, but only calls the second API if the first returns status "ok". Which workflow feature helps you implement this conditional logic?
hard
A. Using switch or if steps to check the first API's response
B. Using parallel steps to call both APIs at the same time
C. Using retry to repeat the first API call until status is ok
D. Using return to stop the workflow after the first call

Solution

  1. Step 1: Understand conditional execution in workflows

    Workflows support switch or if steps to decide which steps run based on conditions.
  2. Step 2: Match the requirement

    To call the second API only if the first returns "ok", use if or switch to check the first response before proceeding.
  3. Final Answer:

    Using switch or if steps to check the first API's response -> Option A
  4. Quick Check:

    Conditional steps use if/switch to control flow [OK]
Hint: Use if or switch to run steps conditionally in workflows [OK]
Common Mistakes:
  • Using parallel steps which run both APIs simultaneously
  • Using retry which repeats calls but doesn't conditionally run next
  • Using return which ends workflow early
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard