Bird
Raised Fist0
GCPcloud~20 mins

Pub/Sub with Cloud Functions integration in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Pub/Sub Cloud Functions Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
What happens when a Cloud Function subscribed to a Pub/Sub topic throws an error?

You have a Cloud Function triggered by a Pub/Sub topic. The function processes messages but sometimes throws an error during execution.

What is the behavior of Pub/Sub and the Cloud Function when an error occurs?

AThe message is acknowledged and removed from the subscription, so it is not retried.
BThe message is not acknowledged and is retried until the function succeeds or the message expires.
CThe message is sent to a dead-letter topic immediately without retries.
DThe Cloud Function automatically scales down to zero and stops receiving messages.
Attempts:
2 left
💡 Hint

Think about how Pub/Sub handles message acknowledgment and retries.

❓ Configuration
intermediate
2:00remaining
Which IAM role must be granted to a Cloud Function to allow it to be triggered by a Pub/Sub topic?

You want to deploy a Cloud Function that triggers when messages are published to a specific Pub/Sub topic.

Which IAM role should you assign to the Cloud Function's service account to allow this trigger?

Aroles/pubsub.publisher
Broles/pubsub.subscriber
Croles/cloudfunctions.invoker
Droles/pubsub.viewer
Attempts:
2 left
💡 Hint

Consider which role allows receiving messages from Pub/Sub.

❓ Architecture
advanced
3:00remaining
How to design a reliable system to process Pub/Sub messages with Cloud Functions ensuring no message loss?

You need to build a system where Cloud Functions process Pub/Sub messages reliably without losing any messages, even if the function fails temporarily.

Which design choice best ensures message durability and processing reliability?

AUse a Pub/Sub topic with a subscription that has a dead-letter topic configured and Cloud Functions with retry enabled.
BUse a Pub/Sub topic with no dead-letter topic and disable retries on Cloud Functions to avoid duplicate processing.
CUse Cloud Storage to store messages and trigger Cloud Functions on file creation instead of Pub/Sub.
DUse a Pub/Sub topic with a push subscription directly calling the Cloud Function URL without retries.
Attempts:
2 left
💡 Hint

Think about how to handle failed messages and retries safely.

❓ security
advanced
3:00remaining
Which practice improves security when integrating Pub/Sub with Cloud Functions?

You want to secure your Cloud Function triggered by Pub/Sub so that only authorized messages can invoke it.

Which practice best enhances security in this integration?

AUse a push subscription with an authentication token and verify it in the Cloud Function code.
BUse a pull subscription and grant the Cloud Function's service account the subscriber role only.
CMake the Cloud Function public and rely on Pub/Sub topic permissions to restrict access.
DDisable authentication on the Cloud Function to allow all Pub/Sub messages to trigger it.
Attempts:
2 left
💡 Hint

Consider how to authenticate messages sent to the Cloud Function.

✅ Best Practice
expert
3:00remaining
What is the best way to handle high-throughput Pub/Sub message processing with Cloud Functions to avoid cold starts and throttling?

Your system receives a high volume of Pub/Sub messages. You use Cloud Functions to process them, but you notice cold starts and throttling affecting performance.

Which approach best addresses these issues?

AUse Cloud Run with Pub/Sub push subscription for better scaling and control over concurrency.
BIncrease the memory allocation of Cloud Functions to reduce cold start time.
CUse multiple Cloud Functions with different Pub/Sub topics to distribute load evenly.
DDisable retries on Cloud Functions to reduce duplicate invocations and throttling.
Attempts:
2 left
💡 Hint

Think about alternatives to Cloud Functions that handle scaling better.

Practice

(1/5)
1.

What is the main role of Google Cloud Pub/Sub when integrated with Cloud Functions?

easy
A. To send messages that trigger Cloud Functions automatically
B. To store large files for Cloud Functions to process
C. To provide a user interface for Cloud Functions
D. To manage user authentication for Cloud Functions

Solution

  1. Step 1: Understand Pub/Sub's purpose

    Pub/Sub is designed to send messages between parts of an app, acting as a messenger.
  2. Step 2: Connect Pub/Sub with Cloud Functions

    Cloud Functions run code automatically when they receive messages from Pub/Sub.
  3. Final Answer:

    To send messages that trigger Cloud Functions automatically -> Option A
  4. Quick Check:

    Pub/Sub triggers Cloud Functions [OK]
Hint: Pub/Sub sends messages; Cloud Functions react to them [OK]
Common Mistakes:
  • Thinking Pub/Sub stores files
  • Confusing Pub/Sub with UI or authentication
  • Assuming Cloud Functions manage user login
2.

Which of the following is the correct way to specify a Pub/Sub trigger in a Cloud Function deployment command?

gcloud functions deploy myFunction --trigger-?
easy
A. --trigger-http my-topic
B. --trigger-bucket my-topic
C. --trigger-topic my-topic
D. --trigger-event my-topic

Solution

  1. Step 1: Identify the trigger type for Pub/Sub

    Pub/Sub triggers require specifying the topic name with --trigger-topic.
  2. Step 2: Match the correct flag

    --trigger-topic is the correct flag; others relate to storage or HTTP triggers.
  3. Final Answer:

    --trigger-topic my-topic -> Option C
  4. Quick Check:

    Pub/Sub trigger uses --trigger-topic [OK]
Hint: Pub/Sub triggers use --trigger-topic flag [OK]
Common Mistakes:
  • Using --trigger-bucket which is for Cloud Storage
  • Using --trigger-http which is for HTTP triggers
  • Confusing event triggers with topic triggers
3.

Given this Cloud Function code triggered by Pub/Sub messages, what will be logged when a message with data "Hello" is published?

def hello_pubsub(event, context):
    import base64
    message = base64.b64decode(event['data']).decode('utf-8')
    print(f"Received message: {message}")
medium
A. Received message: event['data']
B. Received message: Hello
C. Received message: b'Hello'
D. Error: 'data' key missing

Solution

  1. Step 1: Decode the Pub/Sub message data

    The message data is base64 encoded; decoding it gives the original string "Hello".
  2. Step 2: Print the decoded message

    The print statement outputs "Received message: Hello" exactly.
  3. Final Answer:

    Received message: Hello -> Option B
  4. Quick Check:

    Base64 decode then print = Received message: Hello [OK]
Hint: Decode base64 data to get original message [OK]
Common Mistakes:
  • Printing raw base64 bytes instead of decoded string
  • Using event['data'] directly without decoding
  • Assuming 'data' key is missing
4.

What is the likely cause if a Cloud Function triggered by Pub/Sub never runs after publishing messages?

medium
A. The Cloud Function is not subscribed to the correct Pub/Sub topic
B. The Cloud Function code has a syntax error
C. The Pub/Sub topic does not exist
D. The Cloud Function has too much memory allocated

Solution

  1. Step 1: Check the Cloud Function trigger configuration

    If the function is not subscribed to the right topic, it won't receive messages.
  2. Step 2: Rule out other causes

    Syntax errors cause deployment failure, not silent no-run; topic existence is needed but usually checked; memory size doesn't stop triggers.
  3. Final Answer:

    The Cloud Function is not subscribed to the correct Pub/Sub topic -> Option A
  4. Quick Check:

    Wrong topic subscription = no trigger [OK]
Hint: Check topic subscription if function never runs [OK]
Common Mistakes:
  • Assuming syntax error causes silent no-run
  • Ignoring topic existence or permissions
  • Blaming memory size for trigger issues
5.

You want to build a system where multiple Cloud Functions react independently to the same Pub/Sub messages. What is the best way to set this up?

hard
A. Publish messages multiple times to different topics
B. Create multiple Pub/Sub topics, each with one Cloud Function subscription
C. Use one Cloud Function that calls other functions internally
D. Create one Pub/Sub topic and multiple subscriptions, each triggering a different Cloud Function

Solution

  1. Step 1: Understand Pub/Sub fan-out pattern

    One topic can have multiple subscriptions; each subscription can trigger a different Cloud Function independently.
  2. Step 2: Compare options

    Multiple topics add complexity; one function calling others is indirect; publishing multiple times is inefficient.
  3. Final Answer:

    Create one Pub/Sub topic and multiple subscriptions, each triggering a different Cloud Function -> Option D
  4. Quick Check:

    One topic, many subscriptions = multiple triggers [OK]
Hint: Use multiple subscriptions on one topic for parallel triggers [OK]
Common Mistakes:
  • Creating many topics unnecessarily
  • Using one function to call others instead of triggers
  • Publishing duplicate messages to multiple topics
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