Bird
Raised Fist0
GCPcloud~20 mins

Buckets and objects concept in GCP - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Buckets and Objects Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Bucket Naming Rules
Which of the following bucket names is valid according to Google Cloud Storage naming rules?
Amy.bucket.name
BMyBucketName
Cmy_bucket_name_123
Dmy-bucket-name
Attempts:
2 left
💡 Hint
Bucket names must be globally unique, lowercase, and follow DNS naming conventions.
service_behavior
intermediate
2:00remaining
Object Versioning Behavior
If object versioning is enabled on a bucket, what happens when you upload a new object with the same name as an existing object?
AThe bucket automatically deletes the old object before saving the new one.
BThe new object is rejected with an error because the name already exists.
CThe new object is saved as a new version, and the old version is retained.
DThe new object overwrites the old one and the old version is lost.
Attempts:
2 left
💡 Hint
Think about how versioning helps keep old copies.
Architecture
advanced
2:30remaining
Designing for Data Residency Compliance
You need to store sensitive data in Google Cloud Storage and ensure it never leaves the European Union. Which bucket configuration meets this requirement?
ACreate a bucket in a multi-region location in the US.
BCreate a bucket in a region located in Europe.
CCreate a bucket in a dual-region with one region in Europe and one in Asia.
DCreate a bucket in a multi-region location in Asia.
Attempts:
2 left
💡 Hint
Data residency depends on the physical location of the bucket.
security
advanced
2:30remaining
Bucket Access Control Best Practice
Which of the following is the safest way to grant a user read access to objects in a bucket?
AGrant the user the 'Storage Object Viewer' role on the bucket.
BMake the bucket publicly readable.
CGrant the user 'Storage Admin' role on the project.
DShare the bucket's URL with the user.
Attempts:
2 left
💡 Hint
Least privilege principle is key for security.
Best Practice
expert
3:00remaining
Optimizing Object Lifecycle Management
You want to automatically delete objects older than 365 days and archive objects older than 180 days in Google Cloud Storage. Which lifecycle rule configuration achieves this?
ASet a lifecycle rule to delete objects with age > 365 days and another to set storage class to ARCHIVE for age > 180 days.
BSet a lifecycle rule to delete objects with age > 180 days and another to set storage class to ARCHIVE for age > 365 days.
CSet a single lifecycle rule to delete objects with age > 365 days only.
DSet a lifecycle rule to archive objects with age > 365 days and delete objects with age > 180 days.
Attempts:
2 left
💡 Hint
Think about the order of archiving before deletion.

Practice

(1/5)
1. What is a bucket in Google Cloud Storage?
easy
A. A database for storing records
B. A type of virtual machine
C. A container that holds your files (objects) in the cloud
D. A network firewall rule

Solution

  1. Step 1: Understand the role of buckets

    Buckets are used to organize and store files in cloud storage.
  2. Step 2: Differentiate buckets from other services

    Unlike virtual machines or databases, buckets specifically hold files called objects.
  3. Final Answer:

    A container that holds your files (objects) in the cloud -> Option C
  4. Quick Check:

    Bucket = container for files [OK]
Hint: Buckets hold files; think of them as folders in the cloud [OK]
Common Mistakes:
  • Confusing buckets with virtual machines
  • Thinking buckets are databases
  • Mixing buckets with network settings
2. Which command correctly creates a new bucket named my-bucket in Google Cloud Storage using the gcloud CLI?
easy
A. gcloud storage buckets create my-bucket
B. gcloud create bucket my-bucket
C. gcloud storage create-bucket my-bucket
D. gcloud bucket create my-bucket

Solution

  1. Step 1: Recall the correct gcloud syntax for bucket creation

    The correct command uses 'gcloud storage buckets create' followed by the bucket name.
  2. Step 2: Compare options to syntax

    Only gcloud storage buckets create my-bucket matches the correct syntax exactly.
  3. Final Answer:

    gcloud storage buckets create my-bucket -> Option A
  4. Quick Check:

    Correct gcloud bucket creation command = gcloud storage buckets create my-bucket [OK]
Hint: Use 'gcloud storage buckets create' to make buckets [OK]
Common Mistakes:
  • Using wrong command order
  • Missing 'storage' keyword
  • Using 'bucket' instead of 'buckets'
3. Given the following Python code using Google Cloud Storage client library:
from google.cloud import storage
client = storage.Client()
bucket = client.get_bucket('my-bucket')
blob = bucket.blob('file.txt')
blob.upload_from_string('Hello World')

What does this code do?
medium
A. Creates a new bucket named 'my-bucket'
B. Uploads a file named 'file.txt' with content 'Hello World' to 'my-bucket'
C. Deletes the file 'file.txt' from 'my-bucket'
D. Downloads the file 'file.txt' from 'my-bucket'

Solution

  1. Step 1: Analyze the code actions

    The code gets an existing bucket 'my-bucket', creates a blob (file) named 'file.txt', and uploads the string 'Hello World' as its content.
  2. Step 2: Match code behavior to options

    It uploads a file with given content, so Uploads a file named 'file.txt' with content 'Hello World' to 'my-bucket' is correct.
  3. Final Answer:

    Uploads a file named 'file.txt' with content 'Hello World' to 'my-bucket' -> Option B
  4. Quick Check:

    blob.upload_from_string uploads content to bucket [OK]
Hint: upload_from_string means upload file content as string [OK]
Common Mistakes:
  • Thinking it creates a bucket
  • Confusing upload with download
  • Assuming it deletes the file
4. You run the command gsutil cp file.txt gs://my-bucket/ but get an error saying the bucket does not exist. What is the most likely cause?
medium
A. The file 'file.txt' does not exist locally
B. The gsutil command is misspelled
C. You do not have permission to read 'file.txt'
D. The bucket 'my-bucket' was not created yet

Solution

  1. Step 1: Understand the error message

    The error says the bucket does not exist, so the problem is with the bucket, not the file.
  2. Step 2: Identify the cause

    If the bucket was not created, gsutil cannot copy files there, causing the error.
  3. Final Answer:

    The bucket 'my-bucket' was not created yet -> Option D
  4. Quick Check:

    Bucket must exist before uploading files [OK]
Hint: Bucket must exist before copying files there [OK]
Common Mistakes:
  • Assuming local file missing causes bucket error
  • Blaming permissions without checking bucket existence
  • Thinking gsutil command is wrong
5. You want to organize files by year inside a bucket named archive-bucket. Which object name structure best supports easy retrieval of files from 2023?
hard
A. "2023/report.pdf"
B. "report_2023.pdf"
C. "archive-bucket/2023/report.pdf"
D. "/2023/report.pdf"

Solution

  1. Step 1: Understand object naming in buckets

    Objects are stored inside buckets with names that can include slashes to simulate folders.
  2. Step 2: Evaluate naming options for organization

    "2023/report.pdf" uses a folder-like prefix '2023/' which helps group files by year inside the bucket.
  3. Step 3: Eliminate incorrect options

    "report_2023.pdf" mixes year in filename, less organized; C repeats bucket name in object; D starts with slash which is invalid.
  4. Final Answer:

    "2023/report.pdf" -> Option A
  5. Quick Check:

    Use folder-like prefixes for organization [OK]
Hint: Use folder-like prefixes (e.g., '2023/') in object names [OK]
Common Mistakes:
  • Including bucket name in object name
  • Starting object name with slash
  • Putting year only in filename, not as prefix