Free practice test · no sign-up
AWS DVA-C02Free AWS Certified Developer — Associate practice test
- ✓ 10 free questions
- ✓ Instant answers & explanations
- ✓ No sign-up, no email
10 real AWS DVA-C02 practice questions with instant answers and explanations — no account, no credit card, no email. Score yourself, then unlock the full bank of 500 questions whenever you’re ready. The AWS DVA-C02 passing score is 720 / 1000.
A developer is designing a DynamoDB table for a multi-tenant SaaS application where each tenant can have millions of orders. The access pattern requires fetching all orders for a specific tenant sorted by order creation timestamp, and the cardinality of tenants is very high (hundreds of thousands). Which partition key design best avoids hot partitions while supporting this access pattern?
Answer key
All 10 AWS DVA-C02 questions & answers
Prefer to just read the answers and explanations? Here’s the full key for this free AWS DVA-C02 test.
Q1. A developer is designing a DynamoDB table for a multi-tenant SaaS application where each tenant can have millions of orders. The access pattern requires fetching all orders for a specific tenant sorted by order creation timestamp, and the cardinality of tenants is very high (hundreds of thousands). Which partition key design best avoids hot partitions while supporting this access pattern?
Correct answer: B. Use a composite partition key such as tenantId#shardSuffix (e.g., tenantId#1 through tenantId#10) and createdAt as the sort key, then scatter-gather across shards at read time.
Write sharding by appending a random or deterministic suffix to the partition key (tenantId#N) distributes writes across multiple physical partitions, preventing hot-partition throttling for high-volume tenants. At read time you issue parallel Query requests for each shard and merge results — a well-known scatter-gather pattern. Option A creates a hot partition for any tenant with very high write throughput. Option C requires a full-table Scan, which is expensive and does not scale. Option D co-locates all tenant data under a single partition key value 'SERVICE', which creates the most extreme hot-partition scenario possible.
Q2. A mobile app backend stores session tokens in an ElastiCache Redis cluster using the cache-aside (lazy-loading) pattern. A developer notices that after a Redis node failure, the first request for each session key experiences elevated latency. What is the most accurate explanation for this behavior?
Correct answer: B. After a node failure the cache is cold for all keys that were resident on that node; the application must re-fetch from the origin database and re-populate the cache on each cache miss.
In the cache-aside pattern, the application checks the cache first; on a miss it reads from the primary data store and writes the result back to the cache. After a node failure (or primary failover), the replacement node starts empty for the keys it owned, so the first request for each evicted key is a cache miss that pays the full database round-trip cost. Option A is incorrect — ElastiCache Redis Cluster Mode Enabled and Multi-AZ both support automatic failover. Option C describes a client-side retry delay that is not a default behavior of the ElastiCache client. Option D is wrong because only keys on the failed shard are lost, not cluster-wide.
Q3. A developer needs to give an unauthenticated third-party partner the ability to upload a single large video file (up to 5 GB) directly to a private S3 bucket without exposing long-term AWS credentials. The URL must expire after 30 minutes. Which approach satisfies these requirements?
Correct answer: B. Generate a pre-signed URL for s3:PutObject using the AWS SDK with an expiration of 1800 seconds and share it with the partner.
Pre-signed URLs embed scoped, time-limited credentials derived from the signing IAM identity, allowing the holder to perform a specific S3 operation (PutObject) without needing AWS credentials of their own. A single pre-signed PUT URL supports objects up to 5 GB, which is exactly the S3 single-PUT object size limit. Option A exposes the bucket to any internet actor for the window and requires manual remediation. Option C introduces IAM user lifecycle management overhead and still requires the partner to hold credentials. Option D (Transfer Acceleration) routes data through CloudFront edge nodes to speed transfers but does not provide any access control or time-limiting mechanism on its own.
Q4. An e-commerce application writes order records to DynamoDB using the Transactions API (TransactWriteItems). The transaction writes to three separate items across two tables. Under which condition will DynamoDB return a TransactionConflictException?
Correct answer: B. Another concurrent TransactWriteItems or TransactGetItems call is in progress on any of the same items at the same time.
DynamoDB Transactions implement optimistic concurrency; a TransactionConflictException is raised when two transactions attempt to modify or read the same item concurrently and one of them detects a conflict during its commit phase. Option A is incorrect — TransactWriteItems supports Put operations that create new items. Option C describes a ValidationException (the maximum total payload for a transaction is 4 MB; the per-item limit is 400 KB). Option D is incorrect because DynamoDB Transactions work within a single Region — Global Tables replicate asynchronously, so cross-region transactional guarantees are not available via this API.
Q5. A developer queries a DynamoDB table with ConsistentRead set to false and receives data that appears stale by approximately 1 second compared to the most recent write. The application then switches to ConsistentRead: true on the same Query. What is the trade-off the developer must accept?
Correct answer: A. Strongly consistent reads consume twice the read capacity units (RCUs) compared to eventually consistent reads.
DynamoDB charges one RCU per 4 KB of data for a strongly consistent read and 0.5 RCU for an eventually consistent read of the same item — effectively doubling the read cost. This is the documented trade-off for guaranteeing that a read reflects all writes that received a successful response. Option B is the opposite of the truth: strongly consistent reads are supported on base tables and LSIs, but NOT on GSIs (GSIs only support eventual consistency). Option C is fabricated — there is no fixed delay. Option D is false; DynamoDB Streams operation is independent of read consistency settings.
Q6. A Lambda function behind an API Gateway endpoint is experiencing intermittent 'too many connections' errors from Amazon RDS PostgreSQL during traffic spikes caused by Lambda's concurrency scaling. The team wants to resolve this without changing the database instance size. What is the recommended solution?
Correct answer: B. Place Amazon RDS Proxy between Lambda and RDS; configure the Proxy to pool and reuse database connections.
RDS Proxy is designed precisely for this scenario: it maintains a warm pool of persistent database connections and multiplexes thousands of short-lived application connections (from Lambda invocations) onto a much smaller set of actual DB connections, preventing max_connections exhaustion. Option A is wrong — Multi-AZ standby does not serve read traffic; it is purely for failover. Option C worsens the problem by keeping connections open longer, increasing the connection count per unit time. Option D (Aurora Serverless v1) scales compute capacity, not the max_connections limit relative to Lambda concurrency; RDS Proxy is still the correct tool even with Aurora Serverless.
Q7. A developer needs to search a product catalog stored in DynamoDB for items matching a user-supplied free-text query such as 'wireless noise-cancelling headphones'. DynamoDB's Query and Scan operations with FilterExpression return poor relevance results. What is the most appropriate architecture to add full-text search capability?
Correct answer: B. Enable DynamoDB Streams and use a Lambda function to index new or updated items into Amazon OpenSearch Service; direct search queries to OpenSearch.
Amazon OpenSearch Service provides inverted-index-based full-text search with relevance scoring, fuzzy matching, and compound queries — capabilities DynamoDB is not designed for. Streaming changes via DynamoDB Streams → Lambda → OpenSearch keeps the search index near-real-time. Option A only supports exact or range partition-key lookups, not free-text relevance search. Option C (S3 Select) uses SQL predicates against columnar data and does not provide relevance ranking or stemming. Option D is incorrect — DAX is a read-through/write-through cache that accelerates DynamoDB API calls; it does not add search or ranking functionality.
Q8. A developer is uploading a 20 GB genomics file to S3. The upload fails partway through and the developer wants to resume from where it stopped rather than restarting from the beginning. Which S3 feature enables this capability, and what is the minimum part size for all parts except the last?
Correct answer: B. S3 Multipart Upload; minimum part size is 5 MB.
S3 Multipart Upload splits a large object into independently uploaded parts (minimum 5 MB each, except the last part which has no minimum size requirement). Each part receives its own ETag; a CompleteMultipartUpload call assembles them. If the upload fails, only the in-flight part needs to be retried, enabling resume semantics. Option A (Transfer Acceleration) routes data through CloudFront edge nodes to speed transfers but does not itself enable resumable uploads. Option C overstates the minimum — 5 MB is the documented minimum per part. Option D (Byte-Range Fetch) is a download feature for parallel reads, not uploads.
Q9. A developer stores user profile objects as JSON in S3. The objects average 800 KB each, but queries only need three of the twenty fields (userId, email, planTier). Reading the full object and parsing it in Lambda is adding noticeable latency and cost. What S3 feature can reduce the data transferred and parsed per request?
Correct answer: B. S3 Select, which allows the application to issue a SQL expression against the object and retrieve only the matching fields server-side.
S3 Select evaluates a SQL expression (SELECT userId, email, planTier FROM S3Object) against JSON, CSV, or Parquet objects server-side and returns only the matching data, dramatically reducing transfer size and Lambda parsing overhead. Option A (Intelligent-Tiering) manages storage cost based on access frequency and has no concept of field-level projection. Option C (S3 Object Lambda) can transform responses on the fly but requires writing, deploying, and maintaining a Lambda function — S3 Select is simpler and purpose-built for server-side field projection. Option D (Batch Operations) is an asynchronous bulk job tool, not a per-request query mechanism.
Q10. A developer sets a TTL attribute on DynamoDB items to automatically expire session records after 24 hours. The TTL value is stored as the Unix epoch timestamp (seconds since Jan 1, 1970) of the desired expiration time. After the TTL deadline passes, the developer queries for a specific expired item using GetItem and receives the item back. What is the most likely explanation?
Correct answer: B. DynamoDB TTL deletions are asynchronous and may lag the expiration timestamp by up to 48 hours; expired items can still be returned until the background deletion process removes them.
DynamoDB TTL uses a background process to identify and delete expired items; AWS documentation states this process can take up to 48 hours after the expiration timestamp. During that window, expired items remain visible to reads unless the application explicitly filters them (e.g., by comparing the TTL attribute value to the current epoch time in a FilterExpression). Option A is false — TTL is enabled per-table via the UpdateTimeToLive API call on any numeric attribute name; no GSI is required. Option C is false — you can choose any attribute name when enabling TTL on a table. Option D is false — TTL has no effect on write access; it is purely a background delete mechanism.
Exam facts and objectives sourced from the official AWS certification page. Last reviewed June 2026.
Ready for the full AWS DVA-C02 bank? Start free.
500 questions, timed mock exams, and missed-question review — 30 free questions, no card.
Start free trial