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 5: TRẬN CHIẾN CUỐI CÙNG - LUYỆN ĐỀ PART B (DAY 86 - 100)/Ngày 95/100
DAY 95🇯🇵 データ圧縮アルゴリズム

Bài toán thực tế Part B: Nén dữ liệu RLE

95%

Quảng cáo • Advertisement

📢 Sponsor Ad

Google AdSense

lesson.content.title

lesson.content.subtitle

🎯 Run-Length Encoding (RLE)

Đây là bài toán rất hay gặp. Nén chuỗi ký tự liên tiếp.

Input: "AAABBBCCCC"

Output: "A3B3C4"


current_char = input[0]
count = 1
for i from 1 to len(input) - 1:
    if input[i] == current_char:
        count++
    else:
        print(current_char, count)
        current_char = input[i]
        count = 1
print(current_char, count) // In nốt nhóm cuối
                    
graph TD Start([Bắt đầu]) --> Init[char = A, count = 1] Init --> Loop{Hết chuỗi?} Loop -- No --> Check{ Char == Next ?} Check -- Yes --> Inc[Count++] Inc --> Loop Check -- No --> Print[In char, count] Print --> Reset[char = Next, count = 1] Reset --> Loop Loop -- Yes --> End([Kết thúc])

Câu hỏi đề thi: Nếu chuỗi là "ABC" (không lặp) thì nén xong thành "A1B1C1" (dài gấp đôi). Làm sao khắc phục?

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

  1. Câu hỏi: Tại sao RLE (Run-Length Encoding) lại hiệu quả với ảnh icon hoặc logo đơn giản?
    Đáp ánVì những ảnh này thường có các mảng màu lớn liên tục, RLE sẽ nén cực tốt.
  2. Câu hỏi: Huffman Coding dùng cấu trúc dữ liệu nào để mã hóa?
    Đáp ánCây nhị phân (Binary Tree). Những ký tự xuất hiện nhiều sẽ có mã ngắn hơn (gần gốc hơn).

🎯 Cây nhị phân (Binary Tree) - Khái niệm cốt lõi

  • Pre-order (Tiền thứ tự): Root -> Trái -> Phải.
  • In-order (Trung thứ tự): Trái -> Root -> Phải. (Dùng để duyệt cây BST theo thứ tự tăng dần).
  • Post-order (Hậu thứ tự): Trái -> Phải -> Root. (Dùng để xóa cây).

Mẹo nhớ:

Chữ "Order" ám chỉ vị trí của Root.

🎯 Cây tìm kiếm nhị phân (Binary Search Tree - BST)

Quy tắc vàng: Node trái < Root < Node phải.


function insert(root, val):
    if root == null: return Node(val)
    if val < root.val:
        root.left = insert(root.left, val)
    else:
        root.right = insert(root.right, val)
    return root
                    

🎯 Độ tin cậy hệ thống (Availability Math)

$$ Availability = \frac{ MTBF } { MTBF + MTTR } $$

  • MTBF (Mean Time Between Failures): Thời gian chạy ngon giữa 2 lần hỏng. (Càng lớn càng tốt).
  • MTTR (Mean Time To Repair): Thời gian sửa chữa. (Càng nhỏ càng tốt).

Vd: MTBF = 900 giờ. MTTR = 100 giờ.

-> A = 900 / (900 + 100) = 0.9 (90%).

Hệ thống nối tiếp (Serial): A = A1 * A2 (Luôn nhỏ đi). (0.9 * 0.9 = 0.81).

Hệ thống song song (Parallel): A = 1 - (1-A1)*(1-A2) (Luôn tăng lên). (1 - 0.1*0.1 = 0.99).

🎯 Quản lý rủi ro (Risk Management)

4 chiến lược xử lý rủi ro:

  1. Avoidance (Tránh): Không làm dự án đó nữa để khỏi gặp rủi ro.
  2. Mitigation (Giảm thiểu): Cài đặt Firewall, Backup để giảm thiệt hại.
  3. Transfer (Chuyển giao): Mua bảo hiểm hoặc thuê bên thứ 3 làm.
  4. Acceptance (Chấp nhận): Chấp nhận rủi ro vì chi phí phòng chống quá đắt.

💡 ISMS (Information Security Management System):

Theo tiêu chuẩn ISO 27001. Hệ thống quản lý bảo mật thông tin toàn diện cho doanh nghiệp.

🎯 Phân tích độ phức tạp thời gian (Big O)

Thao tácMảng (Array)BST (Cân bằng)Hash Table
Tìm kiếmO(n)O(log n)O(1)
Chèn / XóaO(n)O(log n)O(1)

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

  1. Trong giải thuật Dijkstra, nếu có cạnh mang trọng số ÂM thì thuật toán có chạy đúng không?
    Đáp ánKhông. Dijkstra không hỗ trợ trọng số âm (Cần dùng Bellman-Ford).
  2. Duyệt cây BST theo thứ tự nào thì thu được dãy số tăng dần?
    Đáp ánIn-order traversal.

🎯 Kỹ thuật thiết kế thuật toán

  • Greedy (Tham ăn): Luôn chọn lựa tốt nhất ở thời điểm hiện tại. (Vd: Dijkstra, Huffman).
  • Divide and Conquer (Chia để trị): Chia bài toán to thành các bài toán nhỏ tương tự. (Vd: Merge Sort, Quick Sort).
  • Dynamic Programming (Quy hoạch động): Giải các bài toán nhỏ và LƯU KẾT QUẢ lại để dùng sau. (Vd: Fibonacci tối ưu, Bài toán cái túi - Knapsack).

🎯 Thuật toán tìm kiếm A* (A-Star)

Nâng cấp của Dijkstra dùng trong Game (AI di chuyển).

Công thức: f(n) = g(n) + h(n)

  • g(n): Chi phí thực tế từ Start đến Root hiện tại.
  • h(n): Chi phí ƯỚC TÍNH (Heuristic) từ Root hiện tại đến ĐÍCH. (Vd: Khoảng cách chim bay).

👉 A* giúp máy tính tìm đường "thông minh" hơn bằng cách ưu tiên hướng về phía đích.

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

  1. Sự khác biệt giữa Tham ăn (Greedy) và Quy hoạch động (DP)?
    Đáp ánGreedy không bao giờ hối hận (chọn rồi thôi), DP xem xét tất cả các phương án con đã lưu để tìm kết quả tối ưu toàn cục.

🎯 Đồ thị (Graph) - Các khái niệm bổ trợ

  • Bậc của đỉnh (Degree): Số cạnh nối với đỉnh đó.
  • Đồ thị có hướng (Directed Graph): Cạnh có mũi tên chỉ hướng.
  • Đồ thị liên thông: Có đường đi giữa bất kỳ 2 đỉnh nào.

⚠️ Bẫy thi:

Đề bài có thể hỏi số cạnh tối đa của 1 đồ thị vô hướng có $n$ đỉnh? -> $n(n - 1) / 2$.

Quảng cáo • Advertisement

📢 Ad Space

Google AdSense

Day 94Day 96