FE Master 2026
FE Master

PHẦN A: KIẾN THỨC

PHASE 1: CƠ SỞ KHOA HỌC MÁY TÍNH (DAY 1-30)

1
Hệ đếm & Dữ liệuPart A
2
Số bù 2 & Số thực (Floating Point)Part A
3
Mạch Logic & Cổng LogicPart A
4
Kiến trúc CPUPart A
5
Bộ nhớ (Memory)Part A
6
Hệ điều hành (OS)Part A
7
Tiến trình & LuồngPart A
8
Mạng máy tính: OSI 7 LayerPart A
9
Internet & IP/TCPPart A
10
HTTP & DNSPart A
11
Database Cơ bản & Mô hình ERPart A
12
Chuẩn hóa Database (1NF → 3NF)Part A
13
SQL Cơ bản (SELECT, INSERT, UPDATE, DELETE)Part A
14
SQL Nâng cao (JOIN, GROUP BY, SubQuery)Part A
15
Transaction & ACIDPart A
16
Phát triển Phần mềm (SDLC & Models)Part A
17
Thiết kế Hệ thống (DFD, UML)Part A
18
Kiểm thử Phần mềm (Testing)Part A
19
Quản lý Dự án (PMBOK, WBS, Gantt)Part A
20
Review: Database & Phát triển PMPart A
21
Chiến lược Kinh doanh Chuyên sâu (SWOT, PPM)Part A
22
Marketing Mix & Data MiningPart A
23
Chiến lược Hệ thống & Cải tiến Quy trìnhPart A
24
Pháp luật IT & Hợp đồng (Quan trọng)Part A
25
Quản lý Dự án (PMBOK & EVM)Part A
26
Lưu trữ & Tính toán RAIDPart A
27
Công nghệ Mạng (LAN/WAN/Wifi)Part A
28
An toàn thông tin (Threats & Attacks)Part A
29
Mã hóa & Chữ ký sốPart A
30
Review Phase 1: Foundation (Tổng ôn tập)Part A

PHẦN A: KIẾN THỨC

PHASE 2: LOGIC & TỰ ĐỘNG HÓA (DAY 31 - 50)

31
Tư duy Thuật toán & Kỹ năng Trace CodePart A
32
Thuật toán Sắp xếp Cơ bản (Basic Sorting)Part A
33
Thuật toán Sắp xếp Nâng cao (Advanced Sorting)Part A
34
Thuật toán Tìm kiếm (Searching) & HashingPart A
35
Cấu trúc dữ liệu: Stack & QueuePart A
36
Cấu trúc dữ liệu: Array & Linked ListPart A
37
Graph (Đồ thị) & Thuật toán tìm đườngPart A
38
Tree (Cây) & Binary Search TreePart A
39
Độ phức tạp thuật toán (Big O Notation)Part A
40
Review Phase 2 Part 1: Algorithms MasterPart A
41
Tư duy Lập trình: Logic & Bảng Chân TrịPart A
42
Bộ nhớ: Stack vs Heap & Con trỏPart A
43
CTDL & Giải thuật: Độ phức tạp Big OPart A
44
OOP 1: Class, Object & Đóng góiPart A
45
OOP 2: Kế thừa & Đa hình (Inheritance & Polymorphism)Part A
46
Collections List/Set/Map - Hộp đựng đồ vạn năngPart A
47
Đệ quy (Recursion) - Giấc mơ trong giấc mơPart A
48
Kỹ thuật Bit (Bitwise) - Quyền năng tối thượngPart A
49
Design Patterns: Singleton & FactoryPart A
50
Tổng kết Phase 2: Chân dung Master CoderPart A

PHẦN A: KIẾN THỨC

PHASE 3: ĐI SÂU VÀO HỆ THỐNG (DAY 51 - 75)

51
Kiến trúc Máy tính: CPU & PipelinePart A
52
Bộ nhớ đệm: Cache InternalsPart A
53
Dữ liệu: Float & IEEE 754 Deep DivePart A
54
Hệ điều hành: Process InternalsPart A
55
Lập lịch CPU: Scheduling AlgorithmsPart A
56
Quản lý bộ nhớ: Virtual Memory & PagingPart A
57
Lưu trữ: Disk Anatomy & RAIDPart A
58
Ảo hóa & Containerization (Docker)Part A
59
Độ tin cậy & SRE BasicsPart A
60
Tổng ôn Hardware & OS ArchitectPart A
61
Mạng máy tính: Packet Analysis & WiresharkPart A
62
Giao vận: TCP Internals Deep DivePart A
63
Subnetting: VLSM & CIDR MasterclassPart A
64
Định tuyến: OSPF & BGP InternalsPart A
65
DNS & HTTP/2, HTTP/3 (QUIC)Part A
66
Database Indexing: B-Tree vs HashPart A
67
Normalization & DenormalizationPart A
68
NoSQL & Distributed DataPart A
69
Transaction & Concurrency ControlPart A
70
Review: System Design InterverviewPart A
71
An toàn thông tin: CIA & Risk ManagementPart A
72
Mật mã học: Encryption & HashingPart A
73
Xác thực: Authentication & OAuth 2.0Part A
74
Tấn công Web: SQL Injection & XSSPart A
75
Hạ tầng & Tổng ôn An toàn thông tinPart A

PHẦN A: KIẾN THỨC

PHASE 4: QUẢN LÝ IT & CHIẾN LƯỢC (DAY 76 - 85)

76
Quản lý Dự án I: PMBOK & Tam giác vàngPart A
77
Quản lý Thời gian: WBS & Đường Găng (CPM)Part A
78
Quản lý Chi phí: EVM (Earned Value Management)Part A
79
Quản lý Dịch vụ: ITIL & SLAPart A
80
Kiểm toán hệ thống & Kiểm soát nội bộPart A
81
Chiến lược Kinh doanh: SWOT & PPMPart A
82
Marketing & Tài chính: 4P & BSCPart A
83
Pháp luật IT: Bản quyền & Hợp đồngPart A
84
Tiêu chuẩn hóa: ISO & Code of ConductPart A
85
Tổng kết Phase 4: Quản lý & Chiến lượcPart A

PHẦN B: KỸ NĂNG

PHASE 5: TRẬN CHIẾN CUỐI CÙNG - LUYỆN ĐỀ PART B (DAY 86 - 100)

86
Part B Security: CIA & Xác thực UserPart B
87
Mã hóa: Đối xứng vs Bất đối xứngPart B
88
Chữ ký số & PKIPart B
89
Các loại tấn công mạng (Cyber Attacks)Part B
90
Hạ tầng bảo mật: Firewall, DMZ & VPNPart B
91
Pseudo-code Drills: Cấu trúc dữ liệu cơ bảnPart B
92
Pseudo-code Drills: Sorting & SearchingPart B
93
Pseudo-code Drills: Logic & BitwisePart B
94
Pseudo-code Drills: Kỹ thuật đệ quyPart B
95
Bài toán thực tế Part B: Nén dữ liệu RLEPart B
96
Part B Math: Tính toán phần cứngPart B
97
Part B Math: Tính toán Mạng (Subnet)Part B
98
Chiến thuật làm bài Part BPart B
99
Tổng ôn tập: Điểm mù kiến thứcPart B
100
FINAL DAY: Lời kết & Chúc may mắnPart B

Ver: 2026.02.21-v2

Học tậpThi thửHồ sơ
FE Master 2026
Đăng nhập
FE Master 2026

app.description

Liên kết hữu ích

  • Trang chủ
  • Blog & Tin tức
  • Đăng nhập

Pháp lý

  • Chính sách bảo mật
  • Điều khoản dịch vụ

Kết nối

  • Về chúng tôi
  • Liên hệ

© 2026 FE Master. All rights reserved.

Made with ♥ by Baryuu
Trang chủ
PHASE 3: ĐI SÂU VÀO HỆ THỐNG (DAY 51 - 75)/Ngày 73/100
DAY 73🇯🇵 認証 (OAuth2/JWT)

Xác thực: Authentication & OAuth 2.0

73%

Quảng cáo • Advertisement

📢 Sponsor Ad

Google AdSense

lesson.content.title

lesson.content.subtitle

🎯 Mục tiêu bài học

Đăng nhập bằng Google/Facebook hoạt động thế nào?

1. Các phương pháp xác thực (Authentication Factors)

  • Something you know: Password, PIN.
  • Something you have: Điện thoại (OTP), Token key, Thẻ từ.
  • Something you are: Vân tay, Mống mắt, FaceID (Biometrics).

MFA (Multi-Factor Authentication): Phải kết hợp ít nhất 2 loại trên. (User + Token là MFA. User + Pass 2 lớp vẫn là 1FA).

2. Session vs Token (JWT)

Đặc điểmSession-based (Cổ điển)Token-based (Hiện đại/Mobile)
Lưu trạng tháiServer lưu SessionID trong RAM/Memcached. (Stateful).Server không lưu gì cả. Token chứa hết thông tin. (Stateless).
Client lưuCookie.LocalStorage hoặc Cookie.
ScaleKhó. Cần Sticky Session hoặc Redis chung.Dễ. Token mang đi server nào cũng verify được.
Thu hồiDễ. Xóa Session trên server là xong.Khó. Token đã phát ra thì không thu hồi được cho đến khi hết hạn (hoặc phải dùng Blacklist).

3. Giải phẫu JWT (JSON Web Token)

Chuỗi aaaaa.bbbbb.ccccc gồm 3 phần:

  1. Header: Thuật toán ký (HS256).
  2. Payload: Data (UserID, Role, ExpireTime). Dạng Base64 (Ai cũng decode đọc được -> Đừng để lộ thông tin mật).
  3. Signature: $HMACSHA256(Header + Payload, SecretKeepInServer)$. Dùng để chống sửa đổi.

Nếu Hacker sửa Payload (Role: Admin), chữ ký sẽ sai -> Server từ chối.

4. OAuth 2.0 - "Đưa chìa khóa phụ cho người lạ"

Kịch bản: Bạn muốn chơi Candy Crush bằng nick Facebook, nhưng không muốn đưa Password Facebook cho Candy Crush.

Authorization Code Flow (Chuẩn nhất)

  1. Candy Crush (Client) chuyển hướng bạn sang trang Login của Facebook (Auth Server).
  2. Bạn đăng nhập trên Facebook và bấm "Allow".
  3. Facebook chuyển hướng bạn về lại Candy Crush kèm theo một cái Authorization Code.
  4. Candy Crush (Back-end) cầm Code này bí mật gọi lên Facebook đổi lấy Access Token.
  5. Dùng Access Token để lấy Avatar, Tên từ API Facebook.
sequenceDiagram participant User participant Client as CandyCrush participant Auth as Facebook User->>Client: Click "Login with Facebook" Client->>Auth: Redirect to Login Page User->>Auth: Login & Approve Auth->>Client: Redirect with Auth Code Client->>Auth: Exchange Code for Token Auth->>Client: Access Token Client->>Auth: Get User Info (Avatar)

Tại sao cần bước đổi Code lấy Token? Để Token không bao giờ bị lộ trên trình duyệt (Front-end). Code chỉ dùng 1 lần và hết hạn cực nhanh.

5. OAuth 2.0 vs OpenID Connect (OIDC)

  • OAuth 2.0: Chỉ để Ủy quyền (Authorization). (Vd: Cho phép App in ảnh lấy ảnh từ Facebook). Nó không quan tâm "Ai đang đăng nhập", nó chỉ quan tâm "Đưa chìa khóa đây".
  • OIDC: Là lớp định danh (Identity) đắp lên trên OAuth 2.0. Nó trả về id_token chứa thông tin User (Tên, Email, Avatar). Dùng để Đăng nhập (Authentication).

👉 "Login with Google" chính là OIDC (OAuth 2.0 + Identity Layer).

🔥 Interview Q&A

Q: Tại sao không nên lưu JWT trong LocalStorage?

A: Vì Javascript đọc được LocalStorage -> Dễ bị tấn công XSS lấy cắp Token. Nên lưu trong HttpOnly Cookie (JS không đọc được, chống XSS), nhưng phải cẩn thận với CSRF.

6. Sai số trong sinh trắc học (FAR vs FRR)

  • FAR (False Acceptance Rate): Tỉ lệ chấp nhận sai (Hacker đặt vân tay lên mà máy tưởng là chủ nhà). -> Nguy hiểm cho bảo mật.
  • FRR (False Rejection Rate): Tỉ lệ từ chối sai (Chủ nhà đặt vân tay lên mà máy không nhận). -> Gây khó chịu cho User.

👉 Câu hỏi thi: Để tăng tính bảo mật, ta nên chỉnh thiết bị để giảm chỉ số nào? Đáp án: Giảm FAR.

📝 Luyện tập Part B (Exam Drills):

  1. Câu hỏi: OAuth 2.0 có thay thế được cho Password không?
    Đáp ánKhông. OAuth 2.0 là cơ chế Ủy quyền (Authorization), không phải định danh (nếu không có lớp OIDC).

Quảng cáo • Advertisement

📢 Ad Space

Google AdSense

Day 72Day 74