Kế hoạch ôn bảo vệ
Mục tiêu không phải thuộc từng file, mà là trả lời được luồng từ UI -> API -> use case -> DB -> runtime.
Lộ trình 3 vòng
Vòng 1: Nắm xương sống
- Đọc Bản đồ trả lời nhanh để có khung 60 giây và 12 luồng cần thuộc.
- Đọc Kiểm toán độ sẵn sàng để biết evidence và cách nói thận trọng.
- Đọc Kiến trúc tổng quan.
- Đọc Luồng nghiệp vụ để nắm UI -> API -> use case -> DB.
- Đọc Vị trí file code để biết sửa UI, logic, API, database ở đâu.
- Đọc UX/UI và design system để biết cách giải thích thiết kế, đổi màu, đổi layout và smoke UI.
- Đọc Ma trận bao phủ tài liệu để biết mỗi mảng đã nằm ở trang nào.
- Đọc Source map và SQL schema catalog.
- Đọc Thuật ngữ tra nhanh để nắm các từ dễ bị hỏi như DDD, ABR, Pointy, publication,
content_blocks. - Mở Full File CodeMap, thử search
CourseAuthoringControllerV3,PaymentControllerV3,WiiiContextService. - Chạy docs site và LMS local nếu cần demo.
- Đọc Kịch bản demo và báo cáo để biết thứ tự trình bày 10-15 phút.
Vòng 2: Thuộc luồng nghiệp vụ
| Luồng | Trang cần đọc |
|---|---|
| Evidence tài liệu đã sẵn sàng | Kiểm toán độ sẵn sàng |
| 12 luồng cốt lõi | Bản đồ trả lời nhanh |
| UX/UI và đổi giao diện | UX/UI và design system |
| Login/role/org | Roles và permission |
| Course editor -> publication | Publication versioning |
| Upload Word/PDF/DOCX | API endpoint index, Backend Spring Boot |
| Video/offline | Video và offline, Interactive video và storage health |
| Quiz/assignment | Assessment nâng cao |
| Payment | Payment và revenue |
| Wiii | Wiii integration |
| STCW/competency | STCW competency map |
| Database đủ bảng | SQL schema catalog |
Vòng 3: Luyện câu hỏi
- Đọc Câu hỏi bảo vệ trước để lấy câu trả lời khung.
- Dùng Bộ câu hỏi luyện vấn đáp để tự test theo nhóm chủ đề.
- Dùng Checklist chất lượng docs để kiểm font, search, link, layout và evidence.
- “Nếu em sửa màu nút thì sửa ở đâu?”
- “Vì sao giao diện này hợp lý cho một LMS vận hành, không phải landing page?”
- “Nếu em thêm trường DB thì làm thế nào?”
- “Vì sao học viên chưa thấy bài mới?”
- “Database có bao nhiêu bảng và vì sao version cuối là V135?”
- “Wiii có được tự publish hoặc submit quiz không?”
- “Payment làm sao tránh user tự sửa giá trên frontend?”
- “Offline lưu gì ở IndexedDB và khi lỗi thì sửa thế nào?”
- “Video mới đi qua pipeline nào?”
- “ORG_ADMIN khác ADMIN và TEACHER ở đâu?”
- “Nếu 20.000 hoặc 500.000 người vào cùng lúc thì cần kiểm tra gì?”
Câu trả lời khung
Khi bị hỏi một chức năng bất kỳ, trả lời theo mẫu:
Frontend route/component nào hiển thị?
Service/API client nào gọi backend?
Controller nào nhận request?
Use case nào giữ business rule?
Repository/entity/table nào lưu dữ liệu?
Guard/permission/ownership nào chặn sai quyền?
Test/smoke nào chứng minh không vỡ?
Nếu chưa nhớ tên file, dùng search bar của docs site trước, rồi mở Full CodeMap để đi tới file cụ thể.