Bird
Raised Fist0
DynamoDBquery~20 mins

AWS Console and DynamoDB setup - 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
🎖️
DynamoDB Setup Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
service_behavior
intermediate
2:00remaining
DynamoDB Table Read Capacity Behavior

You create a DynamoDB table with a provisioned read capacity of 5 units. What happens if your application tries to read 10 strongly consistent items per second?

AThe table will throttle the extra read requests, causing some reads to fail with a ProvisionedThroughputExceededException.
BDynamoDB will automatically increase the read capacity to 10 units to handle the load without errors.
CAll read requests will succeed without any throttling because DynamoDB queues them internally.
DThe table will switch to eventually consistent reads automatically to handle the extra load.
Attempts:
2 left
💡 Hint

Think about how provisioned capacity limits affect request throughput and what happens when limits are exceeded.

Architecture
intermediate
2:00remaining
Choosing Partition Key for DynamoDB Table

You want to create a DynamoDB table to store user sessions. Each user can have multiple sessions. Which partition key design will best distribute data and avoid hot partitions?

AUse a constant string as the partition key for all items.
BUse the session ID as the partition key only.
CUse the user ID as the partition key and session ID as the sort key.
DUse the user ID concatenated with the session ID as the partition key.
Attempts:
2 left
💡 Hint

Consider how partition keys affect data distribution and query patterns.

security
advanced
2:00remaining
IAM Policy for DynamoDB Table Access

You want to create an IAM policy that allows a Lambda function to read items from a specific DynamoDB table named 'UserData'. Which policy statement correctly grants read-only access to this table?

A{"Effect": "Deny", "Action": ["dynamodb:GetItem"], "Resource": "arn:aws:dynamodb:*:*:table/UserData"}
B{"Effect": "Allow", "Action": ["dynamodb:PutItem"], "Resource": "arn:aws:dynamodb:*:*:table/UserData"}
C{"Effect": "Allow", "Action": ["dynamodb:*"], "Resource": "arn:aws:dynamodb:*:*:table/*"}
D{"Effect": "Allow", "Action": ["dynamodb:GetItem", "dynamodb:Query", "dynamodb:Scan"], "Resource": "arn:aws:dynamodb:*:*:table/UserData"}
Attempts:
2 left
💡 Hint

Focus on actions that allow reading data and the resource ARN for the specific table.

Best Practice
advanced
2:00remaining
DynamoDB Table Backup Strategy

Your company requires daily backups of a DynamoDB table with minimal impact on performance and cost. Which backup method is best suited for this requirement?

AUse DynamoDB point-in-time recovery (PITR) to continuously back up data and restore to any second in the last 35 days.
BExport the table data to S3 every day using a custom script.
CEnable on-demand backups manually each day during off-peak hours.
DCreate a global table in another region and use it as a backup.
Attempts:
2 left
💡 Hint

Consider backup automation, recovery options, and cost efficiency.

🧠 Conceptual
expert
2:00remaining
DynamoDB Consistency Models Impact

You have a DynamoDB table with eventually consistent reads enabled. Your application requires the most up-to-date data immediately after a write. What is the impact of using eventually consistent reads in this scenario?

ADynamoDB automatically upgrades eventually consistent reads to strongly consistent when needed.
BReads may return stale data for a short time after a write, causing potential inconsistency.
CEventually consistent reads are slower but always accurate.
DReads will always return the latest data immediately after a write.
Attempts:
2 left
💡 Hint

Think about the difference between eventually consistent and strongly consistent reads.

Practice

(1/5)
1. What is the main purpose of the primary key when creating a DynamoDB table in the AWS Console?
easy
A. To uniquely identify each item in the table
B. To set the read and write capacity
C. To define the table's region
D. To specify the encryption method

Solution

  1. Step 1: Understand the role of the primary key

    The primary key is used to uniquely identify each item in a DynamoDB table, ensuring no duplicates.
  2. Step 2: Compare with other options

    Read/write capacity, region, and encryption are important but unrelated to item uniqueness.
  3. Final Answer:

    To uniquely identify each item in the table -> Option A
  4. Quick Check:

    Primary key = unique item ID [OK]
Hint: Primary key always means unique ID for each item [OK]
Common Mistakes:
  • Confusing primary key with capacity settings
  • Thinking primary key sets table region
  • Assuming primary key controls encryption
2. Which of the following is the correct way to select the capacity mode when creating a DynamoDB table in the AWS Console?
easy
A. Set capacity mode to Manual or Automatic
B. Choose between On-Demand or Provisioned capacity modes
C. Select capacity mode as Static or Dynamic
D. Pick capacity mode as Fixed or Variable

Solution

  1. Step 1: Recall DynamoDB capacity modes

    DynamoDB offers two capacity modes: On-Demand (automatic scaling) and Provisioned (fixed capacity).
  2. Step 2: Eliminate incorrect terms

    Manual/Automatic, Static/Dynamic, Fixed/Variable are not official DynamoDB terms for capacity modes.
  3. Final Answer:

    Choose between On-Demand or Provisioned capacity modes -> Option B
  4. Quick Check:

    Capacity mode = On-Demand or Provisioned [OK]
Hint: Remember only On-Demand and Provisioned are valid capacity modes [OK]
Common Mistakes:
  • Using wrong terms like Manual or Static
  • Confusing capacity mode with encryption settings
  • Assuming capacity mode is set after table creation
3. You create a DynamoDB table with a primary key named OrderId and choose On-Demand capacity mode. What happens when you insert a new item with OrderId = 123?
medium
A. The table requires manual capacity increase before insertion
B. The item is rejected because capacity is not provisioned
C. The item is stored uniquely and capacity scales automatically
D. The item overwrites any existing item regardless of key

Solution

  1. Step 1: Understand On-Demand capacity mode behavior

    On-Demand mode automatically adjusts capacity to handle requests without manual provisioning.
  2. Step 2: Consider primary key uniqueness

    Primary key OrderId ensures the item with value 123 is stored uniquely; no overwriting unless key duplicates.
  3. Final Answer:

    The item is stored uniquely and capacity scales automatically -> Option C
  4. Quick Check:

    On-Demand + unique key = auto scale and store [OK]
Hint: On-Demand means no manual capacity needed [OK]
Common Mistakes:
  • Thinking On-Demand requires manual capacity setup
  • Assuming item overwrites existing without key conflict
  • Believing insertion fails without provisioned capacity
4. You tried to create a DynamoDB table in the AWS Console but got an error saying the primary key is missing. What should you do to fix this?
medium
A. Create the table without a primary key and add it later
B. Skip primary key and rely on DynamoDB to auto-generate it
C. Set the capacity mode to Provisioned to avoid the error
D. Specify a primary key attribute name and type before creating the table

Solution

  1. Step 1: Recognize primary key requirement

    DynamoDB requires a primary key defined at table creation to uniquely identify items.
  2. Step 2: Correct the table setup

    Specify the primary key attribute name (e.g., "UserId") and its data type (String or Number) in the AWS Console before creating the table.
  3. Final Answer:

    Specify a primary key attribute name and type before creating the table -> Option D
  4. Quick Check:

    Primary key must be set at creation [OK]
Hint: Always define primary key before creating table [OK]
Common Mistakes:
  • Expecting DynamoDB to auto-create primary key
  • Trying to create table without primary key
  • Changing capacity mode to fix primary key error
5. You want to create a DynamoDB table for a mobile app that has unpredictable traffic spikes. Which capacity mode should you choose in the AWS Console to optimize cost and performance?
hard
A. On-Demand capacity mode to handle variable traffic automatically
B. Provisioned capacity mode with fixed read/write units
C. Provisioned capacity mode with auto-scaling disabled
D. Manual capacity mode with scheduled scaling

Solution

  1. Step 1: Analyze traffic pattern

    Unpredictable traffic spikes require flexible capacity to avoid throttling or overspending.
  2. Step 2: Choose capacity mode accordingly

    On-Demand capacity mode automatically adjusts to traffic changes, optimizing cost and performance without manual intervention.
  3. Step 3: Eliminate incorrect options

    Provisioned with fixed units or disabled auto-scaling cannot handle spikes well; manual mode is not a DynamoDB option.
  4. Final Answer:

    On-Demand capacity mode to handle variable traffic automatically -> Option A
  5. Quick Check:

    Unpredictable traffic = On-Demand mode [OK]
Hint: Use On-Demand for apps with unpredictable traffic [OK]
Common Mistakes:
  • Choosing fixed provisioned capacity for variable traffic
  • Disabling auto-scaling in provisioned mode
  • Assuming manual capacity mode exists