AZ-401 · Preguntas de ejemplo
10 preguntas reales del banco de AZ-401 de CertifyDeck, repartidas por los dominios del temario oficial de Microsoft Certified: Agentic DevOps Engineer Expert, 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: D. Establecer Contribute en Deny para Contractors en el repositorio Ledger
Deny suele prevalecer sobre Allow, incluidos los permisos concedidos mediante otro grupo, y establecerlo en el repositorio concreto limita el efecto a Ledger. Not set no concede ni deniega, así que seguiría aplicándose el Allow heredado de Contributors. Denegar en All Repositories o quitar el grupo de Contributors cambiaría el acceso a todos los repositorios del proyecto.
Respuesta correcta: B. Confirmar los scripts en una carpeta .githooks y ejecutar git config core.hooksPath .githooks
El directorio de hooks es $GIT_DIR/hooks de forma predeterminada, pero se puede cambiar con la configuración core.hooksPath, así que una carpeta versionada más un comando git config activa los scripts. El contenido del directorio .git no forma parte de la confirmación, y el libro de Git indica que los hooks del lado del cliente no se copian al clonar. Los archivos .sample son solo ejemplos que hay que renombrar, y los hooks sin bit de ejecución se ignoran.
Respuesta correcta: A. Un webhook de organización suscrito a los eventos push y de revisión de solicitudes de cambios
Un webhook suscrito a los eventos push y de revisión envía una solicitud HTTP al servidor externo en cuanto ocurre cada evento, y un webhook de organización cubre todos los repositorios de la organización. Sondear la API REST repositorio por repositorio escala mal y agota rápidamente el límite de velocidad, lo que incumple el requisito. GitHub Services se retiró en favor de los webhooks, y un servidor MCP proporciona herramientas a Copilot; no es un mecanismo de entrega de eventos.
Respuesta correcta: B. Un servidor de tipo http con la URL https://mcp.dev.azure.com/{organization}
El servidor MCP remoto de Azure DevOps está hospedado por Azure DevOps, usa transporte HTTP transmitible y autenticación de Microsoft Entra, y se configura con una entrada mínima en mcp.json que apunta a https://mcp.dev.azure.com/{organization}. El servidor basado en npx es la opción local, que requiere Node.js en el equipo e incumple el requisito de no instalar nada. El servidor MCP de GitHub no expone datos de Azure Boards, y un enlace de servicio envía eventos pero no da herramientas a Copilot.
Respuesta correcta: C. actor:Copilot
El término de búsqueda actor:Copilot devuelve el registro de actividad de los agentes en el registro de auditoría. El término action:copilot devuelve eventos del plan de Copilot, como cambios de configuración, directivas y licencias, y action:pull_request.create devuelve todas las creaciones de solicitudes de incorporación de cambios, incluidas las hechas por personas. La captura de OpenTelemetry envía telemetría de los clientes a un back-end externo y no es una búsqueda en el registro de auditoría.
Respuesta correcta: C. Guardar la investigación como un issue de Azure Monitor
Los resultados de una investigación profunda son temporales; guardarlos como un issue de Azure Monitor conserva el informe, el razonamiento del agente, los datos de apoyo y la conversación de seguimiento, de modo que el equipo puede retomarlo y compartirlo. El chat de Observability Agent es temporal y no se guarda para consultarlo más tarde, y empezar una investigación nueva no mantendría el razonamiento ni el contexto de seguimiento existentes.
Respuesta correcta: D. Crear las solicitudes de incorporación de cambios con un token de acceso de instalación de una GitHub App.
Las solicitudes de incorporación de cambios creadas o actualizadas con GITHUB_TOKEN generan ejecuciones de pull_request que requieren aprobación, para evitar ejecuciones recursivas; GitHub indica usar un token de acceso de instalación de una GitHub App o un token de acceso personal cuando esas ejecuciones deban iniciarse sin aprobación. Cambiar los permisos del token en cualquiera de los flujos no altera este comportamiento, y workflow_dispatch solo agrega un desencadenador manual o por API en lugar de ejecutar la CI con el evento de la solicitud.
Respuesta correcta: D. Agregar pull-requests: write
Cuando un bloque permissions especifica algún permiso, todos los que no aparecen quedan en none, así que el token no puede modificar las solicitudes de incorporación de cambios; pull-requests: write es el permiso que permite a una acción agregar una etiqueta a una solicitud de incorporación de cambios. write-all funcionaría, pero concede mucho más que el mínimo. contents: write cubre el contenido del repositorio, como las versiones, no las etiquetas de las solicitudes, e id-token: write solo permite obtener un token de OpenID Connect.
Respuesta correcta: A. Corregirlo en main mediante una solicitud de incorporación de cambios y después aplicarlo con cherry-pick en releases/M129
En el flujo de versiones, las revisiones urgentes siempre empiezan en main con el proceso normal de solicitudes de incorporación de cambios y luego se llevan a la rama de versión con cherry-pick, de modo que la corrección está en ambas ramas y no puede reaparecer en la siguiente versión. Las ramas de versión nunca se combinan de vuelta en main, y hacerlo puede llevar a main cambios propios de la versión. Enviar directamente omite las directivas de rama, e implementar main publicaría trabajo no lanzado del sprint actual.
Respuesta correcta: C. En el enlace de ciclo de vida on: failure
Los trabajos de implementación terminan con el enlace on: success o con on: failure, y on: failure está pensado para pasos de reversión o limpieza cuando la implementación falla. postRouteTraffic se ejecuta después de enrutar el tráfico, normalmente para supervisar el estado de la nueva versión, y preDeploy inicializa recursos antes de empezar la implementación. Una fase posterior con condition: succeeded() solo se ejecuta cuando todo ha ido bien, lo contrario de lo que necesita una reversión.
Responde cada pregunta antes de abrir la explicación y anota por qué descartas las demás opciones. En AZ-401, 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 AZ-401.