🎯 Giới thiệu
Bạn đã đi qua các bài học — từ agentic loop đến hooks, từ /compact đến MCP, từ CLAUDE.md đến subagents. Quiz này là cơ hội để bạn tự kiểm tra mình đã nắm được bao nhiêu trước khi đưa Claude Code vào workflow thực tế. Quiz không phải “pass / fail”. Nó là bản đồ — chỉ cho bạn biết mình đang đứng ở đâu và cần ôn lại gì. Cách làm:- Đọc từng câu hỏi, suy nghĩ đáp án trước khi nhìn đáp án
- Ghi lại câu trả lời của bạn (A/B/C/D) ra giấy hoặc editor
- Hoàn thành tất cả 20 câu, sau đó mới mở phần Đáp án
- Với mỗi câu sai: đọc giải thích, click vào bài tham chiếu, ôn lại đúng section đó
Phần 1: Nền tảng (Câu 1-5)
Bao phủ: Bài 2.1 (Cách Claude Code hoạt động), Bài 2.2 (Cài đặt), Bài 2.3 (Prompt đầu tiên)Câu 1
Claude Code khác các AI chat thông thường (như Claude.ai) ở điểm nào cơ bản nhất? A) Claude Code dùng model mạnh hơn, nên giỏi code hơn B) Claude Code chạy trong một agentic loop — có thể tự dùng tools (bash, file edit, grep) và lặp lại nhiều bước để hoàn thành task mà không cần bạn nhắc từng bước C) Claude Code kết nối với internet để search Stack Overflow D) Claude Code không có giới hạn context windowCâu 2
Bạn vừa cài Claude Code xong (npm install -g @anthropic-ai/claude-code) và gõ claude trong terminal. Claude Code yêu cầu bạn đọc và sửa file config.ts. Theo mặc định, Claude Code sẽ:
A) Tự động đọc và sửa file, không hỏi gì cả
B) Dừng lại và hỏi permission trước mỗi file operation
C) Từ chối vì cần thêm cấu hình MCP
D) Chỉ đọc file, không bao giờ sửa file trừ khi bạn chuyển sang mode đặc biệt
Câu 3
Boris Cherny (người tạo Claude Code) có một framework 3 loại task: Easy / Medium / Hard. Với task Medium — như refactor một module 300 dòng code — bước đúng đầu tiên là gì? A) Bật Auto Accept ngay, để Claude tự làm nhanh hơn B) Nhấn Shift+Tab để vào Plan Mode, đọc kỹ plan Claude đề xuất, điều chỉnh nếu cần, rồi mới bật Auto Accept C) Gõ prompt thật dài mô tả mọi chi tiết, để Claude hiểu hết D) Tạo một subagent để nó làm thay, không cần reviewCâu 4
Khi Claude Code đang trong agentic loop xử lý task của bạn, nó thực ra đang làm gì? A) Gửi toàn bộ codebase lên server Anthropic để phân tích B) Lặp đi lặp lại chu trình: nhận input → suy nghĩ → chọn tool → chạy tool → đọc kết quả → suy nghĩ tiếp, cho đến khi task xong hoặc cần hỏi bạn C) Chạy một model AI chuyên biệt riêng cho từng loại file (Python model, TypeScript model, SQL model) D) Download thêm knowledge từ GitHub Copilot để bổ sungCâu 5
Bạn mới join một team và cần hiểu nhanh codebase 50.000 dòng. Theo best practice từ Bài 2.3, bạn nên bắt đầu dùng Claude Code như thế nào? A) Prompt: “Đọc toàn bộ src/ và giải thích cho tôi” B) Dùng Claude Code để hỏi câu hỏi về codebase — explore và hiểu trước — chưa yêu cầu viết code ngay C) Yêu cầu Claude Code generate một diagram kiến trúc từ toàn bộ file D) Bắt đầu bằng một bug fix nhỏ để “thử sức” Claude Code với codebase nàyPhần 2: Workflow chuyên nghiệp (Câu 6-10)
Bao phủ: Bài 2.4 (EPCC Workflow), Bài 2.5 (Quản lý Context), Bài 2.6 (Code Review & Git)Câu 6
EPCC là viết tắt của 4 giai đoạn trong workflow trung tâm của Claude Code. Thứ tự đúng là: A) Edit → Plan → Code → Commit B) Explore → Plan → Code → Commit C) Explore → Prompt → Compile → Check D) Evaluate → Plan → Code → ConfirmCâu 7
Bạn đang implement feature authentication — session đã chạy 2 tiếng, context đang ở 72%, và còn khoảng 1 tiếng nữa mới xong. Bạn nên làm gì? A) Cứ tiếp tục — để auto-compact tự xử lý khi cần B) Gõ /clear để reset về 0, sau đó brief lại Claude từ đầu C) Gõ /compact để nén context nhưng giữ lại tóm tắt về task hiện tại, rồi tiếp tục D) Đóng terminal và mở session mới trong tab khácCâu 8
Bạn vừa xong feature A (payment webhook) và sắp bắt đầu feature B (CSV export — không liên quan gì). Bạn nên làm gì với context hiện tại? A) Gõ /compact — giữ tóm tắt webhook để tham khảo sau B) Gõ /clear — reset hoàn toàn, tránh context feature A làm bias design của feature B C) Không cần làm gì, Claude tự biết context nào relevant D) Gõ /context rồi quyết định dựa trên % còn lạiCâu 9
Lệnh /context trong Claude Code dùng để làm gì? A) Thêm một file vào context để Claude đọc B) Hiển thị bảng phân tích context đang dùng bao nhiêu token, từ nguồn nào (CLAUDE.md, MCP, conversation, tool calls) C) Chuyển giữa các context preset đã lưu D) Reset context về trạng thái ban đầu của sessionCâu 10
Bạn cần review PR #847 của teammate gồm 35 file thay đổi trong module KYC. Bạn chỉ cần kết quả review (security issues, test coverage, code standards) — không cần xem chi tiết từng file. Cách tốt nhất là: A) Yêu cầu Claude Code đọc lần lượt từng file và comment B) Spawn một subagent để review 35 file trong context riêng của nó, trả về summary — giữ main context sạch C) Dùng /compact trước khi review để có nhiều context hơn D) Dùng GitHub web UI review thay vì Claude Code — review file nhiều thì GitHub phù hợp hơnPhần 3: Persistent context (Câu 11-13)
Bao phủ: Bài 2.7 (File CLAUDE.md), Bài 2.8 (Subagents)Câu 11
CLAUDE.md có 3 cấp hierarchy. Cấp nào được chia sẻ cho toàn bộ team (checked into git) và cấp nào chỉ dành cho cá nhân bạn (git ignored)? A) Cấp project (checked in, share team) và cấp user/local (git ignored, cá nhân) B) Cấp user (checked in) và cấp project (git ignored) C) Tất cả CLAUDE.md đều checked in — không có cấp cá nhân D) CLAUDE.md không phân cấp — chỉ có một file duy nhấtCâu 12
Bạn đang làm việc, Claude đề xuất dùng npm test — bạn biết project này cầnpnpm test --run. Bạn muốn Claude nhớ điều này vĩnh viễn. Cách nhanh nhất để lưu vào bộ nhớ persistent là:
A) Gõ lại prompt mỗi session: “Nhớ là dùng pnpm test —run”
B) Gõ # trong terminal và nhập “test command là pnpm test —run” — Claude sẽ hỏi lưu vào CLAUDE.md cấp nào
C) Thêm vào /compact summary để session sau kế thừa
D) Tạo một alias trong .bashrc để redirect npm test thành pnpm test —run
Câu 13
Subagent trong Claude Code khác gì so với việc bạn hỏi thẳng trong main conversation? A) Subagent nhanh hơn vì dùng model nhỏ hơn (Haiku) B) Subagent chạy với context window riêng biệt (forked) — khi kết thúc, chỉ trả về kết quả; toàn bộ context của nó (file đọc, tool calls) không nhồi vào main conversation C) Subagent có thể truy cập internet, còn main conversation thì không D) Subagent chỉ có thể đọc file, không thể chạy lệnh bashPhần 4: Hệ sinh thái mở rộng (Câu 14-17)
Bao phủ: Bài 2.9 (Skills), Bài 2.10 (MCP), Bài 2.11 (Hooks)Câu 14
Sự khác biệt cốt lõi giữa skill và nội dung trong CLAUDE.md là gì? A) Skill viết bằng Python, CLAUDE.md viết bằng Markdown — ngôn ngữ khác nhau B) CLAUDE.md load vào context toàn bộ mọi lúc; skill chỉ load khi Claude nhận diện request phù hợp — tiết kiệm context đáng kể cho những instruction chỉ dùng đôi khi C) Skill chỉ dành cho team, còn CLAUDE.md chỉ cho cá nhân D) Không khác nhau về chức năng — chỉ khác về cách tổ chức fileCâu 15
MCP (Model Context Protocol) giải quyết vấn đề gì mà Claude Code không tự làm được? A) Cho phép Claude Code chạy trong browser thay vì terminal B) Kết nối Claude Code với external services (Jira, Slack, Linear, database) theo giao thức chuẩn — thay vì Claude phải đoán API hoặc bạn phải copy-paste dữ liệu từ ngoài vào C) Tăng context window từ 200k lên 1 triệu token D) Cho phép nhiều user cùng dùng một session Claude CodeCâu 16
Bạn muốn đảm bảo Prettier luôn chạy sau mỗi lần Claude Code edit một file TypeScript — không có ngoại lệ, kể cả khi Claude “quên” trong prompt. Bạn nên dùng: A) Thêm vào CLAUDE.md: “Sau mỗi lần edit TypeScript file, hãy chạy Prettier” B) Tạo skill /format và gọi nó thủ công sau mỗi lần edit C) Cấu hình hook PostToolUse để tự động chạy Prettier mỗi khi tool Edit được dùng trên file .ts D) Cài MCP server Prettier để Claude có thể gọi Prettier như một toolCâu 17
Hook PreToolUse khác hook PostToolUse ở chỗ nào, và khi nào bạn chọn cái nào? A) Không khác gì về thời điểm, chỉ khác tên gọi B) PreToolUse chạy trước khi tool thực thi — có thể block/modify tool call; PostToolUse chạy sau khi tool xong — phù hợp cho cleanup, logging, auto-format sau edit C) PreToolUse chỉ cho tool bash, PostToolUse chỉ cho tool file edit D) PreToolUse chạy mỗi phút, PostToolUse chạy mỗi lần savePhần 5: Tổng hợp & Decision-making (Câu 18-20)
Yêu cầu chọn đúng tool cho scenario — tổng hợp kiến thức toàn khoá.Câu 18
Scenario: Bạn là một indie hacker chạy một SaaS nhỏ. Mỗi tuần bạn phải deploy lên production và sau mỗi deploy bạn muốn Claude Code tự động post một Slack message “Deploy thành công lúc [timestamp]” vào channel #deployments. Bạn nên dùng cơ chế nào? A) Thêm vào CLAUDE.md: “Sau mỗi deploy, nhớ nhắc tôi post Slack” B) Tạo skill /notify-slack và gọi thủ công sau mỗi deploy C) Cấu hình hook Stop để chạy một script gọi Slack API sau khi Claude Code kết thúc task deploy D) Dùng MCP Slack server và prompt Claude: “Sau khi deploy xong, post Slack cho tôi”Câu 19
Scenario: Project của bạn có một internal CLI tool têncu (viết bởi team DevOps) để interact với internal Kubernetes cluster. Claude Code không biết tool này tồn tại. Bạn muốn Claude có thể dùng cu khi cần scale deployment. Cách tiếp cận phù hợp nhất là:
A) Tạo một MCP server bọc xung quanh cu command
B) Ghi vào CLAUDE.md: “Project này có internal tool cu — xem cu —help để biết commands” — rồi cho phép Claude chạy cu qua bash
C) Copy-paste output của cu —help vào context mỗi session
D) Viết một skill mô tả cách dùng cu cho từng use case
Câu 20
Scenario: Bạn đang build một feature phức tạp cần: (1) research 3 thư viện khác nhau để chọn cái phù hợp nhất, (2) implement feature dựa trên kết quả research, (3) viết tests. Đây là task 4-5 tiếng. Bạn muốn tối ưu workflow. Cách tiếp cận nào tốt nhất? A) Làm một luồng duy nhất trong main conversation — đọc docs, implement, test — không cần tách B) Spawn 3 subagents song song để research 3 thư viện, mỗi subagent trả về evaluation summary; main conversation nhận summary, chọn thư viện, rồi implement và viết tests trong main context C) Tạo 3 CLAUDE.md riêng, mỗi cái describe một thư viện khác nhau D) Dùng /compact 3 lần liên tiếp để tạo “checkpoint” cho mỗi phase👉 Đáp án & Giải thích
Phần 1: Nền tảng
Câu 1: B — Claude Code chạy trong agentic loop với tools thực tế
Giải thích: Claude Code không chỉ là chat — nó là một agent thực sự. Thay vì chỉ generate text, Claude Code có thể chạy bash commands, đọc và sửa file, grep codebase, gọi MCP tools, và lặp lại quá trình này nhiều lần trong một “loop” cho tới khi task hoàn thành. Đây là sự khác biệt kiến trúc cơ bản. Option A sai vì model strength không phải điểm phân biệt. Option C sai vì Claude Code không tự search Stack Overflow theo cách đó. Option D sai vì context window vẫn giới hạn 200k token. Xem lại Bài 2.1: Cách Claude Code hoạt động, phần “Agentic Loop”.Câu 2: B — Claude Code hỏi permission trước mỗi operation theo mặc định
Giải thích: Theo mặc định, Claude Code chạy ở mode “thận trọng” — trước mỗi tool call quan trọng (đặc biệt là write operations), nó dừng lại và hỏi bạn confirm. Đây là thiết kế an toàn. Bạn có thể thay đổi hành vi này bằng cách bật Auto Accept (Shift+Tab), hoặc pre-allow specific commands trong CLAUDE.md. Option A mô tả Auto Accept mode, không phải default. Xem lại Bài 2.2: Cài đặt Claude Code và Bài 2.3: Prompt đầu tiên, phần “Permission modes”.Câu 3: B — Plan Mode trước, align plan, rồi mới Auto Accept
Giải thích: Boris’s framework: với task Medium, workflow chuẩn là Shift+Tab → Plan Mode → Claude đề xuất plan → bạn đọc, chỉnh sửa nếu cần → sau khi đồng thuận mới bật Auto Accept để Claude thực thi. Bước review plan là critical — nó ngăn Claude đi sai hướng mà bạn chỉ phát hiện sau 30 phút. Option A bỏ qua bước review quan trọng. Option C (prompt dài) tiết kiệm ít hơn so với Plan Mode cho task medium. Xem lại Bài 2.3: Prompt đầu tiên, phần “Boris’s 3-task framework” và “Plan Mode”.Câu 4: B — Agentic loop: nhận input → suy nghĩ → tool → kết quả → lặp lại
Giải thích: Đây là mô tả chính xác của agentic loop. Claude không gửi code lên server Anthropic để phân tích (nó đã có model local trong session), không có “model chuyên biệt” cho từng loại file, và không kết nối GitHub Copilot. Loop này là nền tảng khiến Claude Code có thể làm task multi-step phức tạp — mỗi vòng lặp, nó có thêm context từ tool results trước. Xem lại Bài 2.1: Cách Claude Code hoạt động, phần “Agentic Loop diagram”.Câu 5: B — Explore và hỏi câu hỏi về codebase trước, chưa code
Giải thích: Đây là một trong những advice quan trọng nhất của team Anthropic: “Don’t use Claude Code to write code first — use it to ask questions about the codebase.” Với codebase mới, explore và understand trước. Option A (“đọc toàn bộ src/”) sẽ ngốn cạn context mà không học được bao nhiêu. Option C (generate diagram từ toàn bộ file) cũng tốn context không cần thiết. Option D (bắt đầu bằng bug fix) có thể dẫn đến fix sai vì chưa hiểu kiến trúc. Xem lại Bài 2.3: Prompt đầu tiên, phần “Explore trước khi code”.Phần 2: Workflow chuyên nghiệp
Câu 6: B — Explore → Plan → Code → Commit
Giải thích: EPCC là workflow trung tâm của Claude Code: Explore (khám phá codebase/requirements) → Plan (lên plan trước khi viết code) → Code (implement với Claude) → Commit (commit với message tốt). Thứ tự này không phải tùy tiện — Plan trước Code là critical để tránh viết code sai hướng phải làm lại. Xem lại Bài 2.4: Workflow Explore → Plan → Code → Commit.Câu 7: C — /compact — nén nhưng giữ tóm tắt task đang làm dở
Giải thích: Đây là use case điển hình cho /compact. Bạn đang dở task (1 tiếng nữa mới xong), nên không thể /clear — mất hết context sẽ phải brief lại từ đầu, tốn thời gian. /compact nén hội thoại nhưng giữ tóm tắt quyết định, file đang sửa, edge cases đã thảo luận. Option A (để auto-compact) là anti-pattern — auto-compact có thể mất nuance quan trọng. Option B (/clear giữa chừng task) là lỗi nghiêm trọng. Xem lại Bài 2.5: Quản lý Context, phần “/compact vs /clear”.Câu 8: B — /clear — reset hoàn toàn khi chuyển sang task hoàn toàn khác
Giải thích: Quy tắc vàng: đổi task hoàn toàn → /clear. Nếu dùng /compact, Claude vẫn giữ tóm tắt về payment webhook — và khi bạn design CSV export, Claude có thể bị “ám” bởi patterns của webhook (async processing, retry logic…) mà hoàn toàn không phù hợp với CSV streaming. /clear xóa hết, chỉ giữ CLAUDE.md và system prompt — đây là trạng thái sạch tốt nhất để bắt đầu feature mới. Option D (/context để quyết định) đúng hướng nhưng trong scenario này bạn đã biết cần /clear. Xem lại Bài 2.5: Quản lý Context, phần “Quy tắc compact vs clear”.Câu 9: B — /context hiển thị phân tích context đang dùng
Giải thích: /context là lệnh “chẩn đoán” — cho bạn biết đang dùng bao nhiêu token và từ đâu: system prompt, CLAUDE.md, MCP tool definitions, conversation history, tool call results, skills. Từ đó bạn quyết định hành động tiếp theo (có nên disable MCP server không? Có nên compact không?). Đây là lệnh bạn nên gõ mỗi 30-45 phút trong session dài. Option A nhầm với cách đọc file vào context. Option D nhầm với chức năng của /clear. Xem lại Bài 2.5: Quản lý Context, phần “/context — chẩn đoán trước khi quyết định”.Câu 10: B — Spawn subagent để review, giữ main context sạch
Giải thích: Đây là use case lý tưởng cho subagent: task “read-heavy, result-light”. Bạn cần đọc 35 file (rất nhiều token) nhưng chỉ cần output là một trang summary. Nếu để main conversation đọc 35 file, context của bạn sẽ phình lên đáng kể — và bạn không cần “thấy” hành trình đọc từng file đó. Subagent chạy với context riêng, đọc hết, trả về summary sạch. Main conversation chỉ nhận ~2k token summary thay vì 100k+ token raw files. Xem lại Bài 2.5: Quản lý Context, phần “Chiến thuật 3: Subagent — outsource exploration” và Bài 2.8: Subagents.Phần 3: Persistent context
Câu 11: A — Project-level checked in (team), user/local level git ignored (cá nhân)
Giải thích: CLAUDE.md có hierarchy rõ ràng: (1) Project-level CLAUDE.md ở root repo — checked into git, shared cho toàn team, chứa build commands, architecture notes, code conventions; (2) CLAUDE.local.md hoặc user-level ~/.claude/CLAUDE.md — git ignored hoặc ngoài repo, chứa personal preferences (IDE setup, cá nhân tokens, v.v.); (3) Nested CLAUDE.md trong subdirectory — cho module-specific instructions. Team leader thường set project-level, mỗi dev set local preferences riêng. Xem lại Bài 2.7: File CLAUDE.md, phần “Hierarchy 3 cấp”.Câu 12: B — Dùng phím tắt # để lưu vào CLAUDE.md ngay trong session
Giải thích: Phím tắt # là cách nhanh nhất để biến correction thành persistent memory. Gõ # rồi nhập note — Claude sẽ hỏi bạn muốn lưu vào CLAUDE.md cấp project (shared team), user (cá nhân), hay nested (module cụ thể). Sau đó mọi session sau, Claude tự load thông tin này từ CLAUDE.md. Option A (nhắc mỗi session) là anti-pattern tốn thời gian. Option C (compact summary) chỉ tồn tại trong session đó, không persist sang session sau. Xem lại Bài 2.5: Quản lý Context, phần “Mẹo 2: Dùng # shortcut cho memory” và Bài 2.7: File CLAUDE.md.Câu 13: B — Subagent có context window riêng, kết thúc chỉ trả về kết quả
Giải thích: Đây là điểm cốt lõi của subagent: context isolation. Main conversation và subagent chạy trên hai context window riêng biệt (đều 200k token). Khi subagent xong task, nó chỉ gửi kết quả (text summary, hoặc structured output) về main conversation — không gửi kèm toàn bộ tool calls, file reads, intermediate steps. Điều này giúp main context không bị “ô nhiễm” bởi exploration journey của subagent. Option A sai vì subagent không nhất thiết dùng model nhỏ hơn. Xem lại Bài 2.8: Subagents, phần “Forked context window”.Phần 4: Hệ sinh thái mở rộng
Câu 14: B — CLAUDE.md load mọi lúc; skill chỉ load khi relevant
Giải thích: Đây là trade-off quan trọng quyết định bạn đặt instruction ở đâu. CLAUDE.md được load vào context ngay khi session bắt đầu — toàn bộ nội dung, mọi lúc, bất kể task là gì. Nếu CLAUDE.md có 200 dòng “PR review checklist” nhưng bạn đang debug runtime error, 200 dòng đó vẫn ngồi trong context, tốn token. Skills khác: Claude chỉ biết tên và description (vài dòng), chỉ load full content khi task match. PR review skill chỉ load khi bạn ask review. Quy tắc: instruction nào dùng cho mọi task → CLAUDE.md; instruction nào chỉ dùng cho 1 loại task → skill. Xem lại Bài 2.9: Skills, phần “Skills vs CLAUDE.md — khi nào dùng cái nào”.Câu 15: B — MCP kết nối Claude với external services theo giao thức chuẩn
Giải thích: MCP (Model Context Protocol) là cầu nối chuẩn hoá giữa Claude Code và external services/tools. Thay vì bạn phải copy-paste dữ liệu từ Jira vào chat, hoặc Claude phải đoán cú pháp API — MCP server expose tools cho Claude gọi trực tiếp (lấy tickets, tạo issue, query database). Đây là extension point chính cho các use case enterprise. Option A sai hoàn toàn (Claude Code vẫn chạy trong terminal). Option C sai (context window không liên quan MCP). Option D sai (MCP không ảnh hưởng multi-user). Xem lại Bài 2.10: MCP, phần “MCP là gì và giải quyết vấn đề gì”.Câu 16: C — Hook PostToolUse chạy deterministic, không có ngoại lệ
Giải thích: Đây là câu hỏi về “probabilistic vs deterministic”. CLAUDE.md và skill đều là instructions cho Claude — Claude có thể follow hoặc không (probabilistic). Nếu bạn muốn Prettier luôn chạy, không có ngoại lệ — bạn cần hook. Hook là script ở tầng hệ thống, chạy bất kể Claude có “nhớ” hay không. PostToolUse với filter tool Edit trên file .ts đảm bảo Prettier chạy sau mỗi lần Claude edit TypeScript file. Đây là câu ví dụ reference trong phần giới thiệu — key insight: hooks = deterministic, prompts = probabilistic. Xem lại Bài 2.11: Hooks, phần “Determinism — tại sao hooks quan trọng hơn prompts cho automation”.Câu 17: B — PreToolUse chạy trước, có thể block; PostToolUse chạy sau, phù hợp cleanup
Giải thích: Hai hooks này tạo thành “sandwich” xung quanh tool execution: PreToolUse → [tool runs] → PostToolUse. PreToolUse có thể inspect tool call và return exit code 2 để block nếu cần (ví dụ: block rm -rf / trong bash, hoặc validate input trước khi write file); exit code 0 nghĩa là cho phép proceed. PostToolUse chạy sau khi tool xong — phù hợp cho: auto-format sau edit, log tool usage, trigger notification, run tests sau code change. Chọn Pre khi cần guard/validate; chọn Post khi cần react/cleanup. Xem lại Bài 2.11: Hooks, phần “PreToolUse vs PostToolUse — thời điểm và use cases”.Phần 5: Tổng hợp & Decision-making
Câu 18: C — Hook Stop để auto-post Slack sau khi Claude kết thúc task
Giải thích: Scenario này cần automation deterministic — “sau mỗi deploy, luôn post Slack, không có ngoại lệ.” Option A (CLAUDE.md) và Option D (prompt Claude) đều probabilistic — Claude có thể quên hoặc bỏ qua. Option B (skill thủ công) yêu cầu bạn nhớ gọi mỗi lần. Hook Stop chạy tự động sau khi Claude Code kết thúc task — đây là thời điểm chính xác để trigger Slack notification. Script hook gọi Slack API với timestamp thực tế. Đây là use case original inspiration của hooks: “người dùng muốn notification khi Claude xong việc.” Xem lại Bài 2.11: Hooks, phần “Stop hook — notification và cleanup” và “Hooks vs CLAUDE.md vs Skill”.Câu 19: B — Ghi vào CLAUDE.md + allow bash cho cu command
Giải thích: Đây là best practice trực tiếp từ Anthropic (team Anthropic dùng internal tool cu của mình, và cách họ handle là ghi vào CLAUDE.md). Ưu tiên: nếu tool đã có CLI tốt → dùng bash + CLAUDE.md describe cách dùng. MCP server (Option A) phức tạp hơn, phù hợp khi tool không có CLI hoặc cần rich data types. Option C (copy-paste —help mỗi session) không persist. Option D (skill) không tệ nhưng CLAUDE.md phù hợp hơn vì cu có thể cần dùng trong nhiều loại task khác nhau, không chỉ 1 loại. Xem lại Bài 2.10: MCP, phần “CLI vs MCP — khi nào dùng cái nào” và Bài 2.7: File CLAUDE.md.Câu 20: B — Spawn 3 subagents song song để research, main context implement và test
Giải thích: Đây là pattern “research → implement” tối ưu. Phase research (đọc docs 3 thư viện) rất context-heavy nhưng output chỉ cần là evaluation summary. Spawn 3 subagents song song — chúng chạy parallel, mỗi cái research 1 thư viện độc lập trong context riêng. Khi xong, main conversation nhận 3 summary ngắn (~5k token tổng) thay vì ~60k+ token nếu research trong main. Sau đó main conversation có đủ context để implement và test mà không bị “nặng” bởi research journey. Option A (làm hết trong main) sẽ dùng context rất nhiều và chậm hơn. Option D (/compact 3 lần liên tiếp) là anti-pattern không relevant. Xem lại Bài 2.8: Subagents, phần “Parallel subagents — pattern thực chiến” và Bài 2.5: Quản lý Context, phần “Chiến thuật 3: Subagent”.🚀 Tính điểm của bạn
| Đúng | Xếp hạng | Nhận xét | Khuyến nghị |
|---|---|---|---|
| 18-20 | 🏆 Xuất sắc | Bạn nắm vững Claude Code từ nền tảng đến ecosystem | Sẵn sàng cho advanced courses. Xem xét contribute lại cho team bằng cách viết CLAUDE.md và skills template. |
| 15-17 | 🥈 Tốt | Hiểu tốt phần lớn — một vài khái niệm cần củng cố | Review phần đáp án của các câu sai, xem lại bài tương ứng. Thực hành ngay là cách tốt nhất. |
| 11-14 | 🥉 Khá | Nắm nền tảng nhưng ecosystem còn mơ hồ | Ôn lại Phần 4 (Skills/MCP/Hooks) và Phần 5. Thử tạo 1 hook thực tế trong project của bạn. |
| 7-10 | ⚠️ Cần ôn | Một số khái niệm cốt lõi chưa vững | Review lại các bài từ 2.5 trở đi. Đặc biệt: Bài 2.5, 2.7, 2.8, 2.11. |
| 0-6 | 🔄 Làm lại | Nên đọc lại toàn bộ khoá từ đầu | Bắt đầu từ Bài 2.1 và đọc kỹ từng section. Quiz này sẽ dễ hơn sau khi bạn đọc lại. |
🎯 Tự đánh giá thực hành
Quiz trắc nghiệm test kiến thức lý thuyết. Kỹ năng thực sự chỉ xuất hiện qua thực hành. Tick vào những gì bạn đã thực sự làm:- 1. Cài Claude Code và chạy được lệnh
claudetrong terminal — không phải “đọc hướng dẫn”, mà đã thực sự chạy. - 2. Đã thử Plan Mode (Shift+Tab) — biết cảm giác review plan trước khi Claude code.
- 3. Đã gõ /context và đọc được output — hiểu phần nào đang chiếm context trong project thực của bạn.
- 4. Đã dùng /compact hoặc /clear đúng hoàn cảnh — không phải lý thuyết, mà đã làm khi đang làm task thực.
- 5. Đã tạo hoặc chỉnh sửa CLAUDE.md cho một project — dù chỉ 5-10 dòng về build commands và code conventions.
- 6. Đã dùng # shortcut để lưu một correction vào CLAUDE.md — Claude đề xuất sai, bạn sửa, và lưu lại.
- 7. Đã spawn một subagent và nhận kết quả — không phải hỏi trong main conversation mà thực sự dùng subagent.
- 8. Đã tạo hoặc dùng một skill (slash command) — dù chỉ là /commit hay /review đơn giản.
- 9. Đã cài ít nhất 1 MCP server — dù chỉ là MCP đơn giản như filesystem hay fetch.
- 10. Đã viết hoặc cấu hình ít nhất 1 hook — dù chỉ là hook log mỗi lần Claude edit file.
- 9-10 ☑: Bạn không chỉ học — bạn đang dùng. Đây mới là “completed the course” thực sự.
- 6-8 ☑: Tốt. Thử 2-3 checkpoint còn lại trong tuần này.
- 3-5 ☑: Cần thực hành nhiều hơn. Chọn 1 project thực tế và apply Claude Code vào đó.
- 0-2 ☑: Lý thuyết mà không thực hành sẽ quên nhanh. Dành 2 giờ cuối tuần này để setup và thử.