1/63
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
You want a job to wait for two previous jobs to complete before running. Which keyword do you use? A) depends_on: [job1, job2] B) needs: [job1, job2] C) requires: [job1, job2] D) wait_for: [job1, job2]
B) needs: [job1, job2]
What does github.head_ref represent in a pull_request workflow? A) The base branch name B) The PR source branch name C) The commit SHA of the PR D) The PR number
B) The PR source branch name
What does github.base_ref represent in a pull_request workflow? A) The PR source branch name B) The base branch name C) The commit SHA of the base D) The base repository name
B) The base branch name
You need to pass data from one job to another using job outputs. Which approach is correct? A) Use $GITHUB_OUTPUT B) Use $GITHUB_ENV C) Use artifacts D) Both A and C
A) Use $GITHUB_OUTPUT
You need to pass large files or directories between jobs. Which approach is correct? A) Use $GITHUB_OUTPUT B) Use $GITHUB_ENV C) Use artifacts D) Use git commits
C) Use artifacts
What does concurrency: cancel-in-progress: true do? A) Cancels all previous runs B) Cancels in-progress runs with the same concurrency group when a new run starts C) Prevents concurrent runs D) Cancels the current run if another run is in progress
B) Cancels in-progress runs with the same concurrency group
What does concurrency: queue: max do? A) Cancels stale runs B) Enforces sequential processing C) Limits concurrent runs D) Queues runs indefinitely
B) Enforces sequential processing
You have a matrix job with agent: [reviewer, auditor, tester]. How do you access the current agent name? A) ${{ matrix.agent }} B) ${{ env.AGENT }} C) ${{ github.agent }} D) ${{ job.agent }}
A) ${{ matrix.agent }}
A workflow runs on pull_request events. You want to check out the PR source branch. What is the correct checkout ref? A) ref: ${{ github.ref }} B) ref: ${{ github.head_ref }} C) ref: ${{ github.base_ref }} D) ref: main
B) ref: ${{ github.head_ref }}
A workflow runs on pull_request events. You want to check out the base/target branch. What is the correct checkout ref? A) ref: ${{ github.ref }} B) ref: ${{ github.head_ref }} C) ref: ${{ github.base_ref }} D) ref: main
C) ref: ${{ github.base_ref }}
You have three agents: reviewer, auditor, consolidator. The consolidator needs output from both. What workflow structure is correct? A) All three run in parallel B) reviewer and auditor run in parallel, consolidator waits C) Sequential D) consolidator runs first
B) reviewer and auditor run in parallel, consolidator waits
Agent A writes a file to an artifact. Agent B needs to use that file. Which approach is correct? A) Agent A uploads with actions/upload-artifact B) Agent A writes to $GITHUB_OUTPUT C) Agent A commits the file D) Both A and C
A) Agent A uploads with actions/upload-artifact
Agent A produces a small value. Agent B needs to use that value. Which approach is correct? A) Agent A writes to $GITHUB_OUTPUT B) Agent A uploads an artifact C) Agent A commits the value D) Agent A stores in environment variable
A) Agent A writes to $GITHUB_OUTPUT
Multiple agents commit to the same PR branch. You want only the latest validation to run. What concurrency config is correct? A) queue: max B) cancel-in-progress: true C) run_id D) ref
B) cancel-in-progress: true
Multiple agents commit to the same PR branch. You want EVERY validation run to complete in order. What concurrency config is correct? A) cancel-in-progress: true B) queue: max C) run_id D) No concurrency
B) queue: max
What does 'copilot -p "task"' do? A) Opens interactive Copilot CLI B) Runs a non-interactive prompt C) Pauses the current session D) Prints help information
B) Runs a non-interactive prompt
You're running Copilot in a CI workflow. The workflow hangs indefinitely. What flag should you add? A) --autopilot B) --no-ask-user C) --continue D) --resume
B) --no-ask-user
What is the difference between /delegate and --autopilot? A) /delegate is local B) /delegate is cloud background task, --autopilot is local continuation C) /delegate requires approval D) They are the same
B) /delegate is cloud background task, --autopilot is local continuation
What is the difference between /delegate and /fleet? A) /delegate is cloud B) /delegate is background task, /fleet is parallel subagent decomposition C) /delegate requires approval D) They are the same
B) /delegate is background task, /fleet is parallel subagent decomposition
You want to resume a previous session by ID. Which flag is correct? A) --resume SESSION_ID B) --continue SESSION_ID C) --resume-session D) --restore
A) --resume SESSION_ID
You want to resume the latest session without specifying a session ID. Which flag is correct? A) --resume B) --continue C) --resume-latest D) --restore
B) --continue
Where do CLI logs live? A) ~/.copilot/logs/ B) /var/log/copilot/ C) ~/.github/logs/ D) ~/.copilot/session-store.db
A) ~/.copilot/logs/
How do you identify a resumed session in CLI logs? A) Look for 'resume=true' B) Look for 'resumed: true' C) Look for 'session.resumed' D) Check session-store.db
A) Look for 'resume=true'
A PR exists but Copilot is not making progress. What should you do first? A) Close the PR B) Click 'View session' button C) Restart the workflow D) Delete and re-assign
B) Click 'View session' button
Copilot is not responding to your PR comment. What is the correct recovery step? A) Comment @copilot B) Unassign and reassign C) Close and reopen the PR D) Delete the comment
A) Comment @copilot
Issue-assigned work is stuck. What should you do? A) Close the issue B) Unassign Copilot, then reassign it C) Comment on the issue D) Delete and recreate
B) Unassign Copilot, then reassign it
Copilot pushed changes to a workflow file, but the workflow is not running. What is the expected behavior? A) This is an error B) You must click 'Approve and run workflows' C) The workflow will run after 5 minutes D) You must manually trigger
B) You must click 'Approve and run workflows'
A PR exists but Copilot made no progress. You click 'View session' and see empty logs. What does this mean? A) The session never started B) Copilot is still working C) The logs were deleted D) The session timed out
A) The session never started
Copilot is stuck replying to a comment. What should you try? A) Delete the comment B) Repeat the comment C) Close and reopen the PR D) Unassign and reassign
B) Repeat the comment
Where do custom agent definitions live? A) .github/agents/*.agent.md B) .github/copilot-agents.yml C) .copilot/agents.json D) agents/ directory
A) .github/agents/*.agent.md
What is the required field in custom-agent YAML frontmatter? A) name B) description C) tools D) model
B) description
Where do repository-wide instructions live? A) .github/copilot-instructions.md B) .github/instructions/ C) AGENTS.md D) All of the above
D) All of the above
Where do path-specific instructions live? A) .github/copilot-instructions.md B) .github/instructions/*.instructions.md C) AGENTS.md in the path D) Both B and C
D) Both B and C
You want to configure MCP in a custom agent file. Which syntax is correct? A) mcpServers: YAML B) mcp-servers: YAML C) mcpServers: JSON D) Both B and C
D) Both B and C
Where do MCP configurations live? A) mcp-servers in .github/agents/*.agent.md B) mcpServers in .mcp.json C) Both A and B D) Only in .github/mcp.json
C) Both A and B
What does the 'search' tool do? A) Searches the internet B) Searches files and text in the repository C) Searches GitHub issues D) Searches external APIs
B) Searches files and text in the repository
What does the 'web' tool do? A) Searches the repository B) Searches GitHub issues C) Fetches URLs and performs web searches D) Connects to external APIs
C) Fetches URLs and performs web searches
Which tool allows one custom agent to invoke another? A) invoke B) task C) agent D) orchestrate
C) agent
You want an agent to read files but not modify them. Which tools should you include? A) [read, search, execute] B) [read, search] C) [read, edit] D) [search, execute]
B) [read, search]
What does the 'read' tool do? A) Searches files B) Reads file contents C) Reads GitHub issues D) Reads environment variables
B) Reads file contents
An agent has tools: [read, search, edit, execute, agent]. Which is too broad for a code reviewer? A) read and search B) edit and execute C) agent D) Both B and C
D) Both B and C
What does the 'execute' tool do? A) Runs shell commands B) Executes GitHub Actions workflows C) Executes MCP tools D) Executes Python scripts only
A) Runs shell commands
What is the difference between mcp-servers and mcpServers? A) mcp-servers is YAML in agent, mcpServers is JSON B) mcp-servers is for local C) They are the same D) mcp-servers is deprecated
A) mcp-servers is YAML in agent, mcpServers is JSON
You have a local MCP server that you start with 'npx jira-mcp'. What transport type should you use? A) type: http B) type: sse C) type: local or type: stdio D) type: process
C) type: local or type: stdio
You have a remote MCP server at https://mcp.example.com/endpoint. What transport type should you use? A) type: local B) type: http C) type: remote D) type: sse
B) type: http
What is the difference between local and remote MCP transport? A) Local uses command + args, remote uses url B) Local is faster C) Local is for CLI D) They are the same
A) Local uses command + args, remote uses url
You want to expose only one tool from an MCP server. What is the correct syntax? A) tools: [server] B) tools: [server/*] C) tools: [server/tool_name] D) tools: {server: [tool_name]}
C) tools: [server/tool_name]
You want to expose all tools from an MCP server. What is the correct syntax? A) tools: [server] B) tools: [server/] C) tools: [server/all] D) tools: []
B) tools: [server/*]
What is the difference between MCP allowlist and firewall allowlist? A) They are the same B) MCP controls servers, firewall controls network egress C) MCP is for cloud agent D) Firewall is deprecated
B) MCP controls servers, firewall controls network egress
A local MCP server is configured with command: npx and args: ['-y', 'jira-mcp']. What transport type? A) type: http B) type: local or type: stdio C) type: remote D) type: process
B) type: local or type: stdio
Where do repository hooks live? A) .github/hooks/*.json B) ~/.copilot/hooks/ C) .copilot/hooks.json D) .github/workflows/
A) .github/hooks/*.json
Where do user-level CLI hooks live? A) .github/hooks/*.json B) ~/.copilot/hooks/ C) .copilot/hooks.json D) ~/.github/hooks/
B) ~/.copilot/hooks/
What does a preToolUse hook do? A) Runs before a tool is used and can allow, deny, or ask B) Runs after a tool completes C) Runs before a session starts D) Runs when a tool fails
A) Runs before a tool is used and can allow, deny, or ask
What does a postToolUse hook do? A) Runs before a tool is used B) Runs after a successful tool execution C) Runs when a tool fails D) Runs before a session starts
B) Runs after a successful tool execution
What is the difference between preToolUse and permissionRequest? A) They are the same B) preToolUse is for cloud agent, permissionRequest is CLI-only C) permissionRequest is for cloud agent D) Both intercept tools
B) preToolUse is for cloud agent, permissionRequest is CLI-only
Which hook can be used to block direct 'git push' commands in cloud agent? A) permissionRequest B) preToolUse C) postToolUse D) sessionStart
B) preToolUse
A preToolUse hook should return which JSON for denying a tool? A) {"permissionDecision": "deny", "permissionDecisionReason": "message"} B) {"behavior": "deny"} C) {"allow": false} D) {"denied": true}
A) {"permissionDecision": "deny", "permissionDecisionReason": "message"}
What audit event records manual artifact deletion? A) artifact.deleted B) artifact.destroy C) artifact.removed D) artifact.purged
B) artifact.destroy
Where do you find artifact.destroy events? A) Workflow logs B) PR timeline C) Organization or enterprise audit logs D) Session logs
C) Organization or enterprise audit logs
Which of these prove what an agent did? A) PR timeline and session logs B) Workflow logs and artifacts C) Commit history and check runs D) All of the above
D) All of the above
You need to prove that an agent read a specific file. Where is the best evidence? A) PR comments B) Session logs showing 'tool=read file=…' C) Workflow logs D) Commit history
B) Session logs showing 'tool=read file=…'
You need to prove that an agent searched for a specific term. Where is the best evidence? A) PR comments B) Session logs showing 'tool=search query=…' C) Workflow logs D) Commit history
B) Session logs showing 'tool=search query=…'
You need to prove that an agent invoked an MCP tool. Where is the best evidence? A) PR comments B) Session logs showing 'tool=jira/get_issue args=…' C) Workflow logs D) Commit history
B) Session logs showing 'tool=jira/get_issue args=…'