DVA-C02 · Preguntas de ejemplo
10 preguntas reales del banco de DVA-C02 de CertifyDeck, repartidas por los dominios del temario oficial de AWS Certified Developer - Associate, con la respuesta correcta y la explicación completa de por qué las demás opciones no lo son. Son preguntas originales redactadas a partir del temario público, no dumps, y tienen el mismo estilo que encontrarás en los tests de práctica y en el simulador.
Respuesta correcta: C. Crear un autorizador COGNITO_USER_POOLS y hacer que la aplicación envíe el token del grupo de usuarios en la cabecera Authorization.
Un autorizador de tipo COGNITO_USER_POOLS en una API REST permite que API Gateway valide el token de identidad o de acceso que envía el cliente, normalmente en la cabecera Authorization, sin código propio. La autorización AWS_IAM exige peticiones firmadas con credenciales de AWS, no un token del grupo de usuarios. Una clave de API identifica al cliente para los planes de uso y no prueba la autenticación del usuario, y una política de recursos basada en el origen no valida ningún token.
Respuesta correcta: A. Guardar las credenciales en AWS Secrets Manager y activar la rotación automática del secreto.
Secrets Manager es el servicio que AWS recomienda para credenciales de bases de datos y ofrece rotación automática con integraciones nativas, que actualiza tanto el secreto como la base de datos. Parameter Store no rota credenciales, así que un parámetro SecureString necesitaría un script propio que el equipo tendría que crear y mantener. La rotación de claves de KMS cambia el material de la clave que protege el texto cifrado, no la contraseña de la base de datos.
Respuesta correcta: C. Asumir un rol compartido con una etiqueta de sesión TenantID y hacer coincidir dynamodb:LeadingKeys con ${aws:PrincipalTag/TenantID}.
La clave de condición dynamodb:LeadingKeys restringe el acceso a los elementos cuya clave de partición coincide con un valor, y al hacer referencia a ${aws:PrincipalTag/TenantID} un solo rol sirve a todos los inquilinos, porque el ID llega como etiqueta de sesión al asumir el rol. Un rol por inquilino también aísla los datos, pero incumple el requisito de no crear roles por inquilino. dynamodb:Attributes limita qué atributos se pueden leer, no qué elementos, y filtrar en el código no ofrece control a nivel de IAM.
Respuesta correcta: C. Hacer que la función Lambda use el SDK de AWS para crear una URL prefirmada para PUT y devolverla a la app.
Una URL prefirmada permite que alguien suba un objeto sin tener credenciales ni permisos de AWS propios; está limitada por los permisos de la identidad que la creó y solo es válida hasta que caduca, y el cliente envía el archivo directamente a S3 con un PUT HTTP. Pasar cada foto por API Gateway y Lambda funciona, pero incumple el requisito de que los archivos no pasen por el backend. Incrustar claves de un usuario de IAM pone credenciales de larga duración en la app, y una política de bucket abierta a cualquier entidad permite que cualquiera escriba en el bucket.
Respuesta correcta: B. Desplegar la pila en un entorno de pruebas de AWS y ejecutar pruebas de integración contra los recursos desplegados.
Las pruebas locales no lo validan todo, por ejemplo los permisos entre recursos en la nube; las pruebas contra un entorno de pruebas desplegado cubren las políticas de seguridad y la configuración, y herramientas como sam remote invoke o sam sync facilitan ese flujo. Las variables de entorno, los objetos simulados y los eventos de ejemplo adicionales mantienen las pruebas en local o simuladas, así que el problema de IAM seguiría sin detectarse.
Respuesta correcta: A. Añadir un sufijo aleatorio a la fecha, consultar cada sufijo en el proceso y combinar los resultados.
La fragmentación de escrituras con un sufijo aleatorio, como la fecha seguida de un número dentro de un rango fijo, reparte las escrituras de cada día entre muchos valores de clave de partición; a cambio, el lector debe consultar cada sufijo y combinar los resultados, lo que encaja con un proceso que lee días completos. Un índice secundario local mantiene la misma clave de partición, y una hora de creación redondeada a la hora sigue enviando todas las escrituras actuales a un único valor.
Respuesta correcta: B. Ejecutar aws cloudformation package para subir los artefactos locales a S3 y después desplegar la plantilla que devuelve.
El comando aws cloudformation package sube a un bucket de S3 los artefactos locales referenciados en propiedades como Code de AWS::Lambda::Function y BodyS3Location de AWS::ApiGateway::RestApi, y devuelve una copia de la plantilla con las ubicaciones de S3, que es la que se despliega. CloudFormation trabaja con artefactos en S3, no con rutas de la máquina de compilación, así que desplegar o crear un conjunto de cambios con la plantilla original no sube los archivos. Validar una plantilla comprueba su sintaxis y no sube nada.
Respuesta correcta: A. Crear un conjunto de cambios con la plantilla modificada, revisarlo y ejecutarlo solo si los cambios son aceptables.
Un conjunto de cambios permite al equipo ver de antemano cómo afectan los cambios propuestos a los recursos en ejecución, incluido si se añadirán, modificarán, eliminarán o sustituirán, y CloudFormation solo cambia la pila cuando se ejecuta el conjunto de cambios. Desactivar la reversión aplica primero los cambios, así que no ofrece una vista previa. validate-template solo comprueba que la plantilla sea JSON o YAML válido, y una política de pila bloquea actualizaciones en recursos protegidos sin informar de los cambios previstos.
Respuesta correcta: C. Establecer MaximumConcurrency en la configuración de escalado de la asignación de origen de eventos de la cola de baja prioridad.
La concurrencia máxima es un ajuste a nivel de origen de eventos: cada origen de SQS asignado a una función puede tener su propio valor, lo que impide que una cola use toda la concurrencia de la función. La concurrencia reservada se aplica a toda la función, así que fijarla en el límite de baja prioridad también limitaría la cola de alta prioridad. La concurrencia aprovisionada preinicializa entornos para reducir los arranques en frío, pero no limita una cola, y un lote más pequeño puede aumentar el número de invocaciones en lugar de limitarlas.
Respuesta correcta: C. Añadir method.request.header.X-Tenant-Id a los parámetros de clave de caché de la integración del método.
API Gateway puede usar parámetros del método o de la integración, incluidas cabeceras personalizadas, como claves de caché, y guarda por separado las respuestas de cada valor de la clave, así que añadir la cabecera del inquilino a los parámetros de clave mantiene una respuesta en caché por inquilino. Vaciar la caché o acortar el TTL solo reduce el tiempo durante el que se sirve una respuesta errónea. Enviar Cache-Control: max-age=0 hace que cada petición omita y sustituya la entrada en caché, lo que anula la finalidad de la caché.
Responde cada pregunta antes de abrir la explicación y anota por qué descartas las demás opciones. En DVA-C02, la mayoría de los fallos vienen de elegir una opción técnicamente posible que no cumple todos los requisitos del escenario.
Estas 10 preguntas sirven para conocer el formato, no como diagnóstico. Para saber en qué dominios fallas, practica por dominio gratis y haz un examen de prueba cronometrado con la ponderación y la duración oficiales.
Empieza gratis, sin registro ni tarjeta. Todas las preguntas llevan una explicación como las de arriba y el simulador reproduce el formato oficial de DVA-C02.