Bird
Raised Fist0
GCPcloud~20 mins

Function deployment and testing in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Cloud Function Deployment Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
Function cold start behavior

You deploy a Google Cloud Function that processes HTTP requests. After a period of inactivity, the first request takes longer to respond than subsequent requests.

What causes this delay on the first request?

AThe HTTP request is blocked by firewall rules before reaching the function.
BThe function container is being created and initialized for the first time (cold start).
CThe function code has a syntax error causing retries and delays.
DThe function is scaling down to zero instances after each request.
Attempts:
2 left
💡 Hint

Think about what happens when a function has not been used for a while.

❓ Configuration
intermediate
2:00remaining
Setting environment variables for a Cloud Function

You want to deploy a Cloud Function that uses an API key stored as an environment variable named API_KEY. Which gcloud command correctly sets this environment variable during deployment?

Agcloud functions deploy my-function --runtime python39 --trigger-http --set-env-vars API_KEY=abcd1234
Bgcloud functions deploy my-function --runtime python39 --trigger-http --env-vars-file API_KEY=abcd1234
Cgcloud functions deploy my-function --runtime python39 --trigger-http --env API_KEY=abcd1234
Dgcloud functions deploy my-function --runtime python39 --trigger-http --set-env API_KEY=abcd1234
Attempts:
2 left
💡 Hint

Check the official flag for setting environment variables inline.

❓ Architecture
advanced
2:00remaining
Designing a Cloud Function for high concurrency

You need to deploy a Cloud Function that handles many simultaneous HTTP requests efficiently. Which configuration helps maximize concurrency and reduce cold starts?

AUse a single instance with minimal CPU to save costs.
BDisable concurrency and deploy multiple functions with different triggers.
CSet max instances to 1 and use a low memory allocation.
DIncrease max instances and allocate more memory to allow more concurrent executions.
Attempts:
2 left
💡 Hint

Think about how instance limits and memory affect concurrency.

❓ security
advanced
2:00remaining
Securing Cloud Function HTTP triggers

You deploy a Cloud Function with an HTTP trigger. You want to restrict access so only authenticated users from your organization can invoke it. Which is the best approach?

AMake the function public and check user identity inside the function code.
BDisable authentication and rely on IP address filtering in the function code.
CUse IAM to grant the 'Cloud Functions Invoker' role only to your organization's users.
DUse a firewall rule to block all external traffic to the function.
Attempts:
2 left
💡 Hint

Consider built-in Google Cloud security features for access control.

✅ Best Practice
expert
3:00remaining
Optimizing Cloud Function deployment for CI/CD pipelines

You want to automate Cloud Function deployments in a CI/CD pipeline. Which practice ensures reliable and repeatable deployments?

AUse Infrastructure as Code tools like Terraform or Deployment Manager to define and deploy functions.
BUse random function names for each deployment to avoid conflicts.
CDeploy functions by copying code files directly to the Cloud Storage bucket.
DManually deploy functions from the Cloud Console after each code change.
Attempts:
2 left
💡 Hint

Think about automation and version control in deployments.

Practice

(1/5)
1. What does deploying a Cloud Function in GCP mean?
easy
A. Uploading your code to the cloud so it can run when needed
B. Writing code on your local computer only
C. Deleting old versions of your code
D. Running your code only on your personal device

Solution

  1. Step 1: Understand deployment meaning

    Deployment means putting your code on the cloud so it can be accessed and run remotely.
  2. Step 2: Compare options

    Only Uploading your code to the cloud so it can run when needed describes uploading code to the cloud to run on demand, which matches deployment.
  3. Final Answer:

    Uploading your code to the cloud so it can run when needed -> Option A
  4. Quick Check:

    Deploy = Upload code to cloud [OK]
Hint: Deployment means putting code on cloud to run [OK]
Common Mistakes:
  • Confusing deployment with local coding
  • Thinking deployment deletes code
  • Assuming deployment runs code only locally
2. Which command correctly deploys a Cloud Function named helloWorld with runtime python39 and trigger HTTP?
easy
A. gcloud functions run helloWorld --runtime python39 --trigger-http
B. gcloud deploy function helloWorld --runtime python39 --trigger-http
C. gcloud functions create helloWorld --runtime python39 --trigger-http
D. gcloud functions deploy helloWorld --runtime python39 --trigger-http

Solution

  1. Step 1: Recall correct deploy syntax

    The correct command starts with 'gcloud functions deploy' followed by the function name and flags.
  2. Step 2: Check options

    Only gcloud functions deploy helloWorld --runtime python39 --trigger-http uses 'gcloud functions deploy' with correct flags for runtime and trigger.
  3. Final Answer:

    gcloud functions deploy helloWorld --runtime python39 --trigger-http -> Option D
  4. Quick Check:

    Deploy command = 'gcloud functions deploy' [OK]
Hint: Deploy uses 'gcloud functions deploy' command [OK]
Common Mistakes:
  • Using 'create' instead of 'deploy'
  • Using 'run' instead of 'deploy'
  • Wrong command order or missing flags
3. Given this deployment command:
gcloud functions deploy greetUser --runtime nodejs18 --trigger-http --allow-unauthenticated

What is the effect of the --allow-unauthenticated flag?
medium
A. Only authenticated users can call the function
B. Anyone can call the function without signing in
C. The function will not be deployed
D. The function will require a password to run

Solution

  1. Step 1: Understand the flag meaning

    The flag '--allow-unauthenticated' means the function can be called by anyone without login.
  2. Step 2: Match options

    Anyone can call the function without signing in correctly states that anyone can call the function without signing in.
  3. Final Answer:

    Anyone can call the function without signing in -> Option B
  4. Quick Check:

    Allow unauthenticated = open access [OK]
Hint: Allow unauthenticated means open access [OK]
Common Mistakes:
  • Thinking it restricts access
  • Confusing with authentication required
  • Assuming it blocks deployment
4. You deployed a function but get an error when testing it. Which of these is a common cause?
medium
A. The function name in the deploy command does not match the code's exported function
B. You used the correct runtime but forgot to deploy
C. The function was deployed with the correct trigger and runs fine
D. You tested the function before writing any code

Solution

  1. Step 1: Identify common deployment error

    If the deployed function name does not match the exported function in code, it causes errors on test.
  2. Step 2: Evaluate options

    The function name in the deploy command does not match the code's exported function correctly points out this mismatch as a common cause of errors.
  3. Final Answer:

    The function name in the deploy command does not match the code's exported function -> Option A
  4. Quick Check:

    Name mismatch causes test errors [OK]
Hint: Match deploy name with exported function name [OK]
Common Mistakes:
  • Ignoring function name mismatch
  • Assuming deployment without code causes errors
  • Testing before code exists
5. You want to deploy a function that triggers on new files in a Cloud Storage bucket named my-bucket. Which command correctly sets this trigger?
hard
A. gcloud functions deploy processFile --runtime python39 --trigger-http
B. gcloud functions deploy processFile --runtime python39 --trigger-topic my-bucket
C. gcloud functions deploy processFile --runtime python39 --trigger-resource my-bucket --trigger-event google.storage.object.finalize
D. gcloud functions deploy processFile --runtime python39 --trigger-bucket my-bucket

Solution

  1. Step 1: Identify correct trigger for Cloud Storage

    Cloud Storage triggers use '--trigger-resource' with bucket name and '--trigger-event' with event type like 'google.storage.object.finalize'.
  2. Step 2: Check options

    gcloud functions deploy processFile --runtime python39 --trigger-resource my-bucket --trigger-event google.storage.object.finalize correctly uses '--trigger-resource my-bucket' and '--trigger-event google.storage.object.finalize'. Others use wrong triggers.
  3. Final Answer:

    gcloud functions deploy processFile --runtime python39 --trigger-resource my-bucket --trigger-event google.storage.object.finalize -> Option C
  4. Quick Check:

    Storage trigger = resource + event flags [OK]
Hint: Use --trigger-resource and --trigger-event for storage triggers [OK]
Common Mistakes:
  • Using --trigger-http for storage events
  • Using --trigger-topic instead of resource/event
  • Using non-existent --trigger-bucket flag
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