Part 1 — Domain Knowledge

1.1 What GitHub Copilot Is at a Technical Level

[!!!]
Copilot is built on a variant of OpenAI's Codex/GPT family trained primarily on public code from GitHub repositories plus natural language text. It has a fixed training cutoff — it knows nothing about libraries or APIs released after that date.
[TRAP]

Copilot does NOT learn from your individual code or organisation's code in real-time (unless you are on Enterprise with knowledge bases configured).

1.2 Hallucinations

[!!!]

A hallucination is when Copilot generates output that is syntactically plausible but factually incorrect — e.g., suggesting a method that does not exist, inventing package names, or citing behaviour that does not match the actual library.

[!!]

The correct exam response: developers must verify all suggestions against official documentation. Copilot has no self-verification mechanism.

1.3 Bias in AI-Generated Code

  • Demographic bias — code dealing with names or identities may reflect historical assumptions from training data.
  • Security bias — older code contained insecure patterns (SQL injection via string concatenation, no input validation) that Copilot may reproduce.
  • Language/framework bias — heavily-represented languages get better suggestions; underrepresented ones get weaker ones.
  • Recency bias — older patterns are more represented than newer best practices.
[!!!]

Developers must review suggestions critically and cannot assume Copilot follows current best practices automatically.

1.4 Privacy — What Data Copilot Sends to GitHub

[!!!]
What IS sent:
  • The code surrounding your cursor (context window — typically a few hundred lines before and after)
  • Your prompt (if using Chat)
  • File metadata (file type, language identifier)
  • Telemetry about accepted/rejected suggestions (configurable)
What is NOT sent / NOT done:
  • For Business and Enterprise plans: GitHub does NOT use your code to train the model by default
  • Copilot does not have access to private repositories it hasn't been given context for
  • Copilot does not remember context between separate chat sessions (unless knowledge bases are configured)

1.5 Security Risks

RiskWhat It Means
Insecure code suggestionsCopilot may suggest code with SQL injection, hardcoded credentials, missing input validation, or deprecated cryptography.
Secrets in promptsReal API keys, passwords, or connection strings in prompts or open files are transmitted to GitHub's servers. Never include real secrets in prompts.
Suggested vulnerable dependenciesCopilot may suggest packages with known vulnerabilities or that no longer exist. Always use dependency scanning.
Licence complianceSome suggestions may resemble training data closely. Use Copilot's duplication detection filter to reduce verbatim reproduction.

1.6 Responsible Use Principles

  1. Human oversight is mandatory — Copilot is an assistant, not a replacement for developer judgement.
  2. Suggestions are drafts — treat every suggestion as a draft that might be wrong.
  3. Context quality determines suggestion quality — clear, complete context produces better suggestions.
  4. Transparency — teams should know which code was AI-assisted.
  5. Continuous verification — test AI-generated code as rigorously as manually written code. AI-generated tests should also be reviewed.
[TRAP]

"IaC eliminates ALL infrastructure errors" — FALSE. It reduces them. Same applies to Copilot: "Copilot writes correct code" is never a true statement on this exam.

2.1 The Three Plan Tiers

[!!!]

This is the highest-weight single topic on the exam. Know every cell of this table.

Feature Individual Business Enterprise
Inline code completionYesYesYes
Copilot Chat (IDE)YesYesYes
Copilot Chat (GitHub.com)YesYesYes
Copilot CLIYesYesYes
Copilot MobileYesYesYes
Org-level seat managementNoYesYes
Org-level policy controlsNoYesYes
Content exclusionsNoYesYes
Audit logsNoYesYes
SAML/SSO enforcementNoYesYes
No model training on org dataNoYesYes
Knowledge basesNoNoEnterprise ONLY
PR summariesNoNoEnterprise ONLY
Bing search in ChatNoNoEnterprise ONLY
Enterprise-level policy cascadeNoNoEnterprise ONLY
[!!!]

The Enterprise-Only Trio: Knowledge Bases + PR Summaries + Bing Search. Business plan has NONE of these three. This appears in multiple questions.

[!!!]

Individual plan has ZERO organisation management — no policies, no seat management, no audit logs, no content exclusion configuration, no SSO enforcement. It is a single-user subscription.

2.2 Core Features

Inline Code Completion ("Ghost Text")

  • Appears in grey/muted text as you type. Accept with Tab; dismiss with Escape; cycle alternatives with Alt+] / Alt+[.
  • Works in all supported IDEs. Available in all plan tiers.
  • Reads surrounding code context — open files, cursor position, language, file structure.

Copilot CLI

  • gh copilot suggest — suggest a shell command to accomplish a described task.
  • gh copilot explain — explain what a shell command does.
[TRAP]

Copilot CLI does NOT execute commands autonomously — it only suggests or explains shell commands.

Copilot Mobile

  • Available in the GitHub Mobile app (iOS and Android). Provides Copilot Chat on mobile.
  • Does NOT provide inline code completion in a mobile code editor.
  • Available on all three plan tiers.

PR Summaries (Enterprise ONLY)

  • Generates a natural language summary of the changes based on the diff, commit messages, and file names.
  • Fills in the PR description field on GitHub.com.
  • Org/enterprise admins can control whether the feature is enabled.

Knowledge Bases (Enterprise ONLY)

  • Admin creates a knowledge base by selecting repositories to index.
  • Copilot indexes code, documentation, markdown from those repositories.
  • Developers can ask Copilot Chat questions about internal APIs, conventions, and private codebase content.
  • Solves the problem of Copilot not knowing your organisation's private code.
[TRAP]

Content exclusions PREVENT Copilot from using files as context. Knowledge bases do the OPPOSITE — they add private repo content as context. These are frequently confused.

Copilot Extensions

  • Third-party developers build extensions using the Copilot Extensibility Platform.
  • Appear as additional slash commands or agents in Copilot Chat.
  • Organisation admins can allow or block specific extensions for their org.

2.3 Agent Mode vs Standard Mode

FeatureStandard ModeAgent Mode
Can create/modify filesNo — suggests onlyYes — autonomously
Can run terminal commandsNoYes — with user confirmation
Developer applies changesAlways manuallyCopilot applies; dev confirms steps
IDE supportAll supported IDEsPrimarily VS Code
Default mode?YesNo — must be activated
[SCENARIO]

"Scaffold a REST API with endpoints and generate tests all in one workflow without manually applying each change" → Agent mode.

[SCENARIO]

"Ask Copilot to suggest a refactoring to review before applying" → Standard mode.

3.1 Supported IDEs

IDECompletionChatAgent Mode
VS CodeYesYesYes (full)
Visual StudioYesYesNo
JetBrains (IntelliJ, PyCharm, etc.)YesYesPartial
NeovimYesNo Chat featuresNo
XcodeYesLimitedNo
Azure Data StudioYesYesNo
GitHub CodespacesYes (uses VS Code)YesYes
[!!!]

Not supported: Eclipse, Emacs, Sublime Text, Atom (discontinued), TextMate, most browser-based editors (except Codespaces).

[!!!]

Neovim only supports inline completion — NOT Chat features. @terminal is VS Code-specific only.

3.2 Content Exclusions — Most-Tested Topic in Domain 3

[!!!]
What they ARE: File path patterns (glob) configured by org owners / enterprise admins telling Copilot NOT to use matching files as context.

What they DO: Files matching the pattern will NOT be sent to the model as context.

What they DO NOT do:
  • Do NOT prevent developers from opening those files
  • Do NOT disable Copilot entirely in the IDE
  • Do NOT prevent developers from typing in those files
  • Are NOT a security measure to prevent reading sensitive files (devs can still read manually)
[!!!]
Who configures them:
  • Business plan: Organisation owners
  • Enterprise plan: Enterprise administrators
  • Individual plan users: CANNOT configure org-level content exclusions (there is no org)
  • Regular developers/members: CANNOT configure org-level content exclusions
Exam scenario: "A company wants production database config files containing credentials never used by Copilot as context. Who configures this and how?"
Answer: Organisation owner (Business) or enterprise admin (Enterprise) configures content exclusions with a pattern matching those files (e.g., config/production.yml).

3.3 Organisation and Enterprise Policies

[!!!]
Enterprise policies cascade to ALL organisations and cannot be overridden by org owners. The hierarchy is:
Enterprise (top — cannot be overridden)
  └── Organisation (can override if enterprise allows)
        └── Individual user (can configure own IDE only)
Enterprise policies can be: Allowed (org can choose) / Required (all orgs must enable) / Blocked (all orgs cannot use).

3.4 Custom Instructions — .github/copilot-instructions.md

[!!!]
Three critical facts:
  1. File path: .github/copilot-instructions.md — exactly this path, in the .github directory.
  2. Scope: only the repository where the file lives. Does not carry over to other repos.
  3. Effect: guides Copilot Chat behaviour (style, framework preferences, conventions). Does NOT affect inline code completion. Does NOT enforce policies.
[TRAP]

Custom instructions are NOT secret — the file is in the repository, readable by anyone with repo access. They cannot PREVENT Copilot from doing something, only guide it.

Part 2 — Command and Feature Gotchas

CommandPurposeExam Scenario
/explainDescribe what code does in natural languageDeveloper inherits unfamiliar 200-line function and wants to understand it
/fixFix a bug, error, or problem in selected codeNull pointer exception needs correcting
/testsGenerate unit tests for a function or classDeveloper wants pytest test cases for a Python function
/docGenerate documentation comments (JSDoc, docstring, etc.)Developer wants JSDoc comments on all public TypeScript functions
/newScaffold a new file or component from a descriptionDeveloper wants a new React user profile component
/newNotebookCreate a new Jupyter notebookData scientist wants a new analysis notebook
/clearClear conversation historyContext has drifted and developer wants a fresh start
/helpShow available slash commandsNew Copilot user wants to discover what's available
[!!!]

/fix CHANGES code. /explain DESCRIBES code. Never confuse these two in a scenario question — the exam relies on this distinction heavily.

[TRAP]

If /tests generates unittest instead of pytest, Copilot failed to detect pytest in the project — it is NOT a plan restriction. Fix: add pytest to requirements.txt or specify the framework in the prompt.

VariableScopeKey Exam Fact
@workspaceAll files in the currently open workspace folderNOT the internet. NOT other repos. Just local project files.
@fileA specific file you reference by pathUse when you want Copilot focused on one file, not the whole project
@terminalOutput currently shown in the IDE's integrated terminalVS Code-specific. Use with /fix @terminal to fix errors shown in terminal.
@vscodeVS Code settings, extensions, keybindings, tasksVS Code-specific. For questions about IDE configuration.
@githubGitHub issues, pull requests, repositoriesAccesses GitHub data (issues, PRs), NOT the internet.
#fileA specific file, referenced inline in a messageInline reference; @file is a context participant
#selectionCurrently selected text in the editorIncluded automatically when you open inline chat on selected code
#editorContent of the currently visible active editor tabWhat's visible now; @file can reference any file by path
[!!!]

@workspace = local project files only. NOT internet. NOT other repositories. If the exam asks "Does @workspace give Copilot internet access?" — the answer is NO.

[!!!]

Best workflow for fixing a terminal error: /fix @terminal — Copilot reads the error message automatically and proposes a fix. No copy-pasting needed.

[TRAP]

@github accesses GitHub data (issues, PRs). Real-time web search = Bing integration. These are two completely different things. Bing search is Enterprise-only on GitHub.com.

[!!!]
Cannot access the internet in real-time (in the IDE)
Copilot in VS Code, JetBrains, etc. has NO internet access. Its knowledge ends at training cutoff. The ONLY context where real-time internet search exists is Copilot Chat on GitHub.com with Bing search — and only on the Enterprise plan.
[!!!]
Cannot execute code autonomously (in standard mode)
In standard mode, Copilot suggests code but does not execute it. Cannot run tests, execute builds, or verify its own suggestions. In agent mode, Copilot CAN execute terminal commands — but only with explicit user permission for each action, and only in VS Code.
[!!!]
Cannot guarantee correctness of suggestions
Copilot has no self-verification mechanism. It generates statistically likely continuations. Suggestions can be syntactically valid but logically wrong. The exam will never present "Copilot writes correct code" as a true statement.
[!!!]
Cannot replace code review
Even large blocks of code that appear correct must be reviewed as rigorously as human-written code.
[TRAP]
Content exclusions vs revoking a seat — completely different controls:
  • If the question is about preventing Copilot from using a file's content as context → content exclusion
  • If the question is about removing a user's access entirely → revoke their seat
  • If the question is about disabling a feature for everyone in the org → org-level policy

Part 3 — Hard Scenario Questions

[Q1] Content Exclusions

A developer at a company using Copilot Business notices Copilot won't use files in their config/ directory as context. Their colleague at a different company with Copilot Individual has no such restriction. What is the most likely explanation?

  • A — The developer's IDE has a broken extension installation
  • B — The org owner has configured content exclusions matching config/
  • C — Copilot Business doesn't support suggestions for config files by default
  • D — The developer's personal settings exclude the config/ directory
Answer: B. Content exclusions are configured by organisation owners (Business) or enterprise admins (Enterprise). Individual plan has no org owner to configure them, hence the colleague is unaffected. Options C and D describe things that do not exist.
[Q2] Enterprise-Only Feature

A team wants Copilot to answer questions like "what parameters does our internal login() function accept?" based on their actual private codebase. What is the minimum plan required and what must be configured?

  • A — Business plan — configure content exclusions to include the repo
  • B — Enterprise plan — configure a knowledge base indexing the repo
  • C — Business plan — enable @workspace for the authentication library repo
  • D — Individual plan — open the library in VS Code and use @workspace
Answer: B. Knowledge bases are Enterprise-only. Content exclusions (A) do the OPPOSITE — they PREVENT context use. @workspace (C, D) is session-scoped, not persistent indexing, and requires files to be open locally.
[Q3] Terminal Error Fix

A developer sees a TypeError: Cannot read properties of undefined (reading 'user') in their VS Code terminal at app.js:47. What is the most efficient Copilot workflow to fix this?

  • A — Copy the error, open Copilot Chat, paste it, type /explain
  • B — Select line 47 in app.js, open Chat, type /fix
  • C — Open Copilot Chat and type /fix @terminal
  • D — Open Chat and type @workspace find the bug at app.js:47
Answer: C. @terminal automatically includes the terminal output (error + stack trace). /fix @terminal reads the error and proposes a fix in one step. Option A uses /explain which describes rather than fixes. Option B misses the terminal context.
[Q4] Enterprise Policy Cascade

An enterprise security admin wants content exclusions for **/secrets/** and **/.env to apply across ALL organisations in the enterprise and cannot be overridden by org owners. What is the correct approach?

  • A — Each organisation owner must separately configure exclusions
  • B — Enterprise admin configures exclusions at the enterprise level — they cascade to all orgs and cannot be overridden
  • C — Enterprise admin grants each developer permission to configure their own exclusions
  • D — Exclusions can only be repo-level — enterprise-level exclusions don't exist
Answer: B. Enterprise-level policies cascade to all organisations and cannot be overridden by org owners. Options A, C, and D all contradict this — they either require per-org config or describe things that don't exist.
[Q5] Test Framework Detection

A developer runs /tests on a Python function but the output uses unittest instead of pytest. Why, and what is the best corrective action?

  • A — /tests doesn't support pytest; use /doc and convert manually
  • B — Copilot defaulted to unittest because pytest wasn't detected in the project — add pytest to requirements.txt or specify in the prompt
  • C — The Individual plan doesn't support pytest; upgrade to Business
  • D — Copilot doesn't support test generation for Python at all
Answer: B. Copilot infers the test framework from requirements.txt, pyproject.toml, etc. If pytest is absent, it defaults to unittest. The fix: add pytest to the project's dependency file, or specify in the prompt: /tests use pytest. Options C and D are false — plan tier has no bearing on test frameworks.

Ten facts you must recall without thinking. Read these aloud. Cover them and test yourself.

[1] The Enterprise-Only Trio

Knowledge Bases + PR Summaries + Bing Search = Enterprise ONLY. Business has none of these three.

[2] Content Exclusions — 3 Facts

(a) Configured by org owners or enterprise admins only.
(b) Exclude file content from context — do NOT disable Copilot.
(c) Use glob patterns.

[3] Custom Instructions — 3 Facts

Path: .github/copilot-instructions.md. Scope: that repo only. Effect: guides Chat only — does NOT affect inline completion or enforce policies.

[4] @workspace Scope

@workspace = all files in the currently open workspace folder. NOT the internet. NOT other repositories.

[5] /fix vs /explain

/fix = CHANGE the code to make it work. /explain = DESCRIBE what the code does. Never confuse in a scenario question.

[6] @terminal Use Case

@terminal = include terminal output as context. Best use: /fix @terminal to fix the error currently shown in the terminal.

[7] Agent Mode

Agent mode = Copilot can create files, modify multiple files, run terminal commands (with user confirmation). Standard mode = suggest only.

[8] No Real-Time Internet in the IDE

Copilot in VS Code / JetBrains has NO internet access. Bing search is only on GitHub.com, only on Enterprise plan.

[9] Individual Plan — Zero Admin Controls

Individual plan = no org management at all. No policies, no seat management, no audit logs, no content exclusions, no SSO.

[10] Copilot Never Guarantees Correctness

No matter how confident a suggestion looks, Copilot can be wrong. Human review is always required. The exam never presents "Copilot writes correct code" as true.

← Back to Portal