Khóa System Design toàn diện trên GDev là điểm bắt đầu tốt trước khi học bản nâng cao.
System Design cơ bản: Từ yêu cầu đến database, cache và queue
Học cách mở đầu một bài thiết kế hệ thống: yêu cầu, HLD/LLD, scaling, database, cache, load balancing và queue, kèm mô phỏng từng bước và quiz.
4.3189 đánh giáNội dung khóa học
01Nền tảng System Design7 bài học
02High Level Design — Tổng quan5 bài học
Chưa có bài học được xuất bản trong chương này.
03Kiến trúc hệ thống19 bài học
Chưa có bài học được xuất bản trong chương này.
04Scalability11 bài học
Chưa có bài học được xuất bản trong chương này.
05Database trong System Design27 bài học
Chưa có bài học được xuất bản trong chương này.
06Consistency, Availability, Reliability & Maintainability17 bài học
Chưa có bài học được xuất bản trong chương này.
07Load Balancing15 bài học
Chưa có bài học được xuất bản trong chương này.
08Latency, Throughput và Caching17 bài học
Chưa có bài học được xuất bản trong chương này.
09API Gateway, Message Queue & Rate Limiting9 bài học
Chưa có bài học được xuất bản trong chương này.
10Protocols, CDN, Proxy & WebSocket23 bài học
Chưa có bài học được xuất bản trong chương này.
11Event-Driven Architecture21 bài học
Chưa có bài học được xuất bản trong chương này.
12Testing trong System Design11 bài học
Chưa có bài học được xuất bản trong chương này.
13Security11 bài học
Chưa có bài học được xuất bản trong chương này.
14Distributed System Design11 bài học
Chưa có bài học được xuất bản trong chương này.
15Cost & Performance Optimization7 bài học
Chưa có bài học được xuất bản trong chương này.
16LLD — Khái niệm cốt lõi9 bài học
Chưa có bài học được xuất bản trong chương này.
17Design Principles9 bài học
Chưa có bài học được xuất bản trong chương này.
18UML3 bài học
Chưa có bài học được xuất bản trong chương này.
19Design Patterns3 bài học
Chưa có bài học được xuất bản trong chương này.
20Câu hỏi phỏng vấn System Design3 bài học
Chưa có bài học được xuất bản trong chương này.
21Chuẩn bị phỏng vấn System Design9 bài học
Chưa có bài học được xuất bản trong chương này.
Bạn sẽ học được gì
Yêu cầu đầu vào
- Biết lập trình, HTTP và database ở mức cơ bản.
- Nên đã đọc hoặc xây một API nhỏ để liên hệ các thành phần trong sơ đồ.
Có một cách tiếp cận rõ ràng khi bắt đầu thiết kế hệ thống
Một sơ đồ nhiều hộp chưa đủ để giải thích một thiết kế. Bạn cần bắt đầu từ yêu cầu, hiểu vai trò của từng thành phần và biết điều gì phải đánh đổi khi thay đổi cách tổ chức hệ thống. Khóa nền tảng đi qua HLD, kiến trúc, khả năng mở rộng, database, consistency và availability, load balancing, caching, API gateway, message queue, event-driven, bảo mật và hệ phân tán, rồi đến LLD với design principles, UML và design patterns. Cuối khóa là các phần chuẩn bị phỏng vấn System Design. Nhiều bài có mô phỏng để xem luồng chạy theo từng bước, kèm quiz kiểm tra cách hiểu. Khóa hệ thống hóa khái niệm và cách tiếp cận; phần đi sâu vào điều kiện áp dụng và tình huống lỗi nằm ở khóa System Design nâng cao.
Giảng viên của bạn
Đội ngũ GDev
Biên soạn khóa System Design
Đội ngũ GDev biên soạn khóa học bằng tiếng Việt và giữ thuật ngữ kỹ thuật bằng tiếng Anh. Mỗi bài đi từ một tình huống cụ thể đến giải thích, ví dụ và câu hỏi kiểm tra để bạn tự đánh giá mình đã hiểu chưa.
Đánh giá khóa học
Nội dung rộng; nên note lại pattern sau mỗi chương. Phù hợp chuẩn bị interview.
Database design và consistency được giải thích kỹ. Thuật ngữ tiếng Anh giữ chuẩn.
HLD + LLD trong một khóa GDev giúp mình không phải ghép tài liệu rời.
Từ nền tảng đến chương phỏng vấn — lộ trình dài nhưng rõ. Load balancing và caching rất dễ theo.
Mình thích nhất là phần API Gateway, giúp mình ôn lại kiến thức nhanh hơn nhiều so với tự đọc tài liệu gốc. Mình học xong là áp dụng được luôn vào dự án đang làm. Tuy nhiên, ước gì có thêm ví dụ nâng cao hơn cho phần thiết kế database. Chỉ tiếc là biết đến khóa này hơi muộn.
Cả replication lẫn load balancing được giải thích khá kỹ những chỗ mình hay nhầm lẫn. Sẽ quay lại học thêm khóa khác trên nền tảng này.
Từ khả năng mở rộng đến message queue, nội dung được giải thích khá kỹ những chỗ mình hay nhầm lẫn. Đáng đồng tiền bát gạo so với thời gian mình bỏ ra.
Phần khả năng mở rộng giúp mình ôn lại kiến thức nhanh hơn nhiều so với tự đọc tài liệu gốc. Cảm ơn đội ngũ đã làm nội dung tiếng Việt chỉn chu vậy.
Từ consistency đến load balancing, nội dung có mức độ khó tăng dần khá hợp lý.
Câu hỏi thường gặp
Khóa này có phù hợp với người mới học System Design không?
Có, nếu bạn đã có nền lập trình, mạng và database cơ bản. Hãy bắt đầu từ yêu cầu và HLD/LLD rồi học dần các thành phần.
Khác gì với khóa System Design nâng cao?
Khóa này hệ thống hóa khái niệm và cách tiếp cận. Khóa nâng cao tập trung vào điều kiện áp dụng, tình huống lỗi và cách lập luận cho các quyết định kiến trúc.
Khóa có giúp tôi chuẩn bị phỏng vấn không?
Có các chương câu hỏi và chuẩn bị phỏng vấn System Design để luyện cách nêu giả định và giải thích lựa chọn. Kết quả phỏng vấn còn phụ thuộc kinh nghiệm và mức độ luyện tập của bạn.