[System Design] Cơ bản về thiết kế hệ thống. Cùng với Algorithm thì System Design là một phần rất quan trọng trong phỏng vấn và tuyển dụng, nhất là bạn ứng tuyển với vị trí từ Senior trở lên. Và để cùng tôi chuyển bị tốt cho đợt phỏng vấn tuyển dụng sắp tới, ta hãy cùng nhau tìm hiểu về những điều cơ bản và sơ lược nhất về thiết kế hệ thống nhé. Nói trước đây là một bài viết siêu dài, mời các bạn hãy ngồi xuống thư giãn và làm ly trà sữa cho tăng mood 😋 và bật nhạc thư giãn 🎼 trước khi đọc bài nhé. Mục lục Phần 1: Cách tính chất chính của một hệ thống phân tán Phần 2: Cân bằng tải (Load Balancing) Phần 3: Bộ đệm — Caching Phần 4: Phân chia dữ liệu — Sharding/Data Partitioning Phần 5: Indexes Phần 6: Proxies Phần 7: Sao lưu và đồng bộ dữ liệu — Redundancy and Replication Phần 8: SQL vs. NoSQL Phần 9: Định lý CAP / CAP Theorem Phần 10: Consistent Hashing Phần 11: Long-Polling vs WebSockets vs Server- Sent Events Phần 1: Các tính chất chính của một hệ thống phân tán. Hệ thống phân tán ...