Bird
Raised Fist0
GCPcloud~20 mins

Cloud Run jobs for batch work in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
πŸŽ–οΈ
Cloud Run Jobs Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
How does Cloud Run Jobs handle container execution?

Cloud Run Jobs run containers to perform batch work. What happens when a job container finishes its task?

AThe container instance stays running to accept new requests.
BThe container instance is immediately terminated and the job is marked complete.
CThe container instance restarts automatically to run the job again.
DThe container instance is paused and resumed later for the next batch.
Attempts:
2 left
πŸ’‘ Hint

Think about batch jobs that run once and then stop.

❓ Architecture
intermediate
2:00remaining
Choosing Cloud Run Jobs for batch workloads

You have a batch workload that processes files uploaded to Cloud Storage once per day. Which architecture best uses Cloud Run Jobs?

ATrigger a Cloud Run Job daily via Cloud Scheduler to process all new files.
BDeploy a Cloud Run service that listens to HTTP requests and processes files on demand.
CUse Cloud Functions triggered by Cloud Storage events to process each file individually.
DRun a Compute Engine VM that polls Cloud Storage every hour to process files.
Attempts:
2 left
πŸ’‘ Hint

Think about scheduled batch processing that runs once per day.

❓ security
advanced
2:00remaining
Securing Cloud Run Jobs with least privilege

You want to run a Cloud Run Job that accesses a Cloud Storage bucket. What is the best practice to grant access securely?

AUse the default Compute Engine service account with Owner role for the job.
BMake the Cloud Storage bucket public so the job can access it without credentials.
CAssign the Cloud Run Job's service account the Storage Object Viewer role on the bucket.
DEmbed a user’s personal credentials inside the container to access the bucket.
Attempts:
2 left
πŸ’‘ Hint

Follow the principle of least privilege for service accounts.

❓ Configuration
advanced
2:00remaining
Configuring parallelism in Cloud Run Jobs

You want to run a Cloud Run Job with 10 parallel tasks to speed up batch processing. Which configuration achieves this?

ASet the job's max instances to 10 but keep task count at 1.
BDeploy 10 separate Cloud Run services each running one task.
CConfigure the job to run a single task with 10 threads inside the container.
DSet the job's task count to 10 and max parallelism to 10 in the job spec.
Attempts:
2 left
πŸ’‘ Hint

Cloud Run Jobs support task count and parallelism settings.

βœ… Best Practice
expert
2:00remaining
Handling retries and failures in Cloud Run Jobs

You run a Cloud Run Job that processes data batches. Sometimes tasks fail due to transient errors. What is the best practice to handle retries?

AImplement retry logic inside the container code and configure the job to not retry failed tasks.
BConfigure Cloud Run Job to automatically retry failed tasks with exponential backoff.
CManually rerun the entire job when any task fails.
DIgnore failures and rely on logs to manually check for errors.
Attempts:
2 left
πŸ’‘ Hint

Cloud Run Jobs do not have built-in automatic retries for tasks.

Practice

(1/5)
1. What is the main purpose of Cloud Run jobs in Google Cloud?
easy
A. To manage user authentication
B. To host websites that run continuously
C. To store large amounts of data
D. To run containers that perform batch work and then stop

Solution

  1. Step 1: Understand Cloud Run jobs purpose

    Cloud Run jobs are designed to run containers that start, perform batch tasks, and then stop.
  2. Step 2: Compare with other options

    Options A, B, and C describe other services or functions not related to batch jobs.
  3. Final Answer:

    To run containers that perform batch work and then stop -> Option D
  4. Quick Check:

    Batch work = Cloud Run jobs [OK]
Hint: Batch tasks start and stop, not continuous [OK]
Common Mistakes:
  • Thinking Cloud Run jobs run continuously
  • Confusing jobs with storage or hosting
  • Assuming jobs manage user authentication
2. Which command correctly creates a Cloud Run job named data-processor?
easy
A. gcloud beta run create job data-processor --image=gcr.io/my-project/my-image
B. gcloud run jobs create data-processor --image=gcr.io/my-project/my-image
C. gcloud beta run jobs create data-processor --image=gcr.io/my-project/my-image
D. gcloud run create job data-processor --image=gcr.io/my-project/my-image

Solution

  1. Step 1: Identify correct command syntax

    The correct command uses 'gcloud beta run jobs create' followed by the job name and image.
  2. Step 2: Check each option

    gcloud beta run jobs create data-processor --image=gcr.io/my-project/my-image matches the correct syntax. Options B, C, and D have incorrect order or missing 'beta' keyword.
  3. Final Answer:

    gcloud beta run jobs create data-processor --image=gcr.io/my-project/my-image -> Option C
  4. Quick Check:

    Correct command syntax = gcloud beta run jobs create data-processor --image=gcr.io/my-project/my-image [OK]
Hint: Use 'gcloud beta run jobs create' to create jobs [OK]
Common Mistakes:
  • Omitting 'beta' keyword
  • Swapping 'create' and 'jobs' keywords
  • Using 'gcloud run create job' instead
3. Given this command sequence:
gcloud beta run jobs create batch-job --image=gcr.io/my-project/batch-image
gcloud beta run jobs execute batch-job

What happens when the execute command runs?
medium
A. The batch-job container starts, runs the batch task, then stops
B. The batch-job container runs continuously until manually stopped
C. The batch-job container fails because execute requires an extra flag
D. The batch-job container is deleted after execution

Solution

  1. Step 1: Understand execute command behavior

    Executing a Cloud Run job starts the container, runs the batch task, and then stops automatically.
  2. Step 2: Evaluate other options

    The batch-job container runs continuously until manually stopped is wrong because jobs do not run continuously. The batch-job container fails because execute requires an extra flag is incorrect; no extra flag is required. The batch-job container is deleted after execution is false; the job is not deleted after execution.
  3. Final Answer:

    The batch-job container starts, runs the batch task, then stops -> Option A
  4. Quick Check:

    Execute runs batch task once then stops [OK]
Hint: Execute runs job once, then container stops [OK]
Common Mistakes:
  • Thinking execute runs container continuously
  • Assuming extra flags are mandatory
  • Believing job deletes after run
4. You try to run this command:
gcloud run jobs execute my-job

But get an error saying the command is not found. What is the likely cause?
medium
A. You forgot to use the 'beta' keyword before 'run jobs execute'
B. The job name 'my-job' does not exist
C. You need to add '--image' flag when executing
D. You must be logged out to run jobs

Solution

  1. Step 1: Check command syntax for Cloud Run jobs

    The 'execute' command for Cloud Run jobs is currently in beta, so 'gcloud beta run jobs execute' is required.
  2. Step 2: Analyze error cause

    Missing 'beta' keyword causes 'command not found' error. Other options do not cause this specific error.
  3. Final Answer:

    You forgot to use the 'beta' keyword before 'run jobs execute' -> Option A
  4. Quick Check:

    Missing 'beta' causes command error [OK]
Hint: Use 'gcloud beta run jobs execute' for job runs [OK]
Common Mistakes:
  • Omitting 'beta' keyword
  • Assuming job name error causes command not found
  • Adding unnecessary flags on execute
5. You want to run a batch job every day at midnight using Cloud Run jobs. Which approach is best?
hard
A. Create a Cloud Run service and keep it running 24/7 to check the time and run batch tasks
B. Create the job with 'gcloud beta run jobs create' and schedule it using Cloud Scheduler to run 'gcloud beta run jobs execute' daily
C. Manually run 'gcloud beta run jobs execute' every day at midnight
D. Use Cloud Storage triggers to start the job automatically at midnight

Solution

  1. Step 1: Understand scheduling batch jobs

    Cloud Run jobs are designed for batch tasks and can be triggered on a schedule using Cloud Scheduler.
  2. Step 2: Evaluate options for automation

    Create the job with 'gcloud beta run jobs create' and schedule it using Cloud Scheduler to run 'gcloud beta run jobs execute' daily uses Cloud Scheduler to run the job daily, which is best practice. Create a Cloud Run service and keep it running 24/7 to check the time and run batch tasks wastes resources by running continuously. Manually run 'gcloud beta run jobs execute' every day at midnight is manual and not automated. Use Cloud Storage triggers to start the job automatically at midnight is incorrect because Cloud Storage triggers do not support time-based schedules.
  3. Final Answer:

    Create the job with 'gcloud beta run jobs create' and schedule it using Cloud Scheduler to run 'gcloud beta run jobs execute' daily -> Option B
  4. Quick Check:

    Use Cloud Scheduler to automate job runs [OK]
Hint: Use Cloud Scheduler to automate job execution [OK]
Common Mistakes:
  • Running jobs manually instead of scheduling
  • Keeping services running continuously for batch tasks
  • Using unsupported triggers for time scheduling
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