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 2: LOGIC & TỰ ĐỘNG HÓA (DAY 31 - 50)/Ngày 49/100
DAY 49🇯🇵 デザインパターン

Design Patterns: Singleton & Factory

49%

Quảng cáo • Advertisement

📢 Sponsor Ad

Google AdSense

lesson.content.title

lesson.content.subtitle

🎯 Design Patterns: Bí kíp võ công thất truyền

Design Patterns không phải là code, nó là "giải pháp mẫu" cho các vấn đề muôn thuở. Tại sao phải tự nghĩ cách xây nhà trong khi có bản thiết kế chuẩn của kiến trúc sư thế giới?

1. Singleton (Độc cô cầu bại)

Vấn đề: Cả chương trình chỉ được phép có DUY NHẤT 1 kết nối đến Database. Nếu new 2 cái -> Xung đột -> Chết Deadlock.

Giải pháp: Pattern Singleton đảm bảo class đó chỉ được khởi tạo 1 lần duy nhất trong đời.


class Database {
    private static instance; // Biến tĩnh lưu hàng độc
    
    // Private Constructor: Cấm người ngoài tự new
    private constructor() {} 

    public static getInstance() {
        if (!instance) instance = new Database();
        return instance;
    }
}
// Dùng:
db = Database.getInstance(); // Luôn luôn trả về cùng 1 cái
                    

🔥 Interview Q&A

Q: Singleton có Thread-safe không?

A: Code trên chưa an toàn. Nếu 2 luồng cùng gọi getInstance() lúc chưa có instance, nó sẽ tạo ra 2 instance! Cần dùng synchronized hoặc Double Check Locking để khóa lại.

2. Factory (Nhà máy sản xuất)

Vấn đề: Code của bạn đầy rẫy if-else để tạo object:

if (type == 'Cho') return new Cho(); else if (type == 'Meo') return new Meo(); ...
classDiagram class AnimalFactory { +createAnimal(type) Animal } class Animal { <<interface>> +makeSound() } class Dog { +makeSound() } class Cat { +makeSound() } AnimalFactory ..> Animal : creates Animal <|.. Dog : implements Animal <|.. Cat : implements

Sau này thêm con Gà, con Vịt lại phải đi sửa code khắp nơi?

Giải pháp: Dồn hết việc tạo object vào một class "Nhà máy" (Factory). Khi cần sửa, chỉ vào nhà máy sửa 1 chỗ là xong.

classDiagram class AnimalFactory { +createAnimal(type) Animal } class Animal { <<interface>> +makeSound() } class Dog { +makeSound() } class Cat { +makeSound() } AnimalFactory ..> Animal : creates Animal <|.. Dog : implements Animal <|.. Cat : implements

3. Observer (Kẻ rình mò) - Pub/Sub

Vấn đề: Khi Youtuber ra video mới, làm sao 1 triệu Subscriber nhận được thông báo?

Giải pháp: Youtuber (Subject) nắm trong tay danh sách email của fan. Khi có video, bấm nút "Notify" -> Lặp qua danh sách và gửi tin.

Đây là cơ chế hoạt động của sự kiện click chuột (Event Listener), Notification, Chat Realtime.

Quảng cáo • Advertisement

📢 Ad Space

Google AdSense

Day 48Day 50