Các thuật toán cần biết trước khi phỏng vấn thiết kế hệ thống
(blog.bytebytego.com)- GeoHash, QuadTree: dịch vụ dựa trên vị trí
- Consistent Hashing: cân bằng tải trong cụm dịch vụ
- Leaky Bucket / Token Bucket: giới hạn tốc độ
- Trie: tự động hoàn thành tìm kiếm
- Rsync: truyền tệp
- Raft/Paxos: đồng thuận
- Bloomfilter: loại bỏ các tra cứu tốn kém
- Merkle Tree: xác định sự không nhất quán giữa các nút
- HyperLogLog: đếm nhanh các giá trị duy nhất
- Count-Min Sketch: ước lượng tần suất mục
- Hierarchical Timing Wheels: bộ lập lịch công việc
- Operational Transformation: chỉnh sửa cộng tác
3 bình luận
Cảm ơn.
Cái này chắc phải học thử mới được.
Phải học nhiều thứ thật...
Đã hiểu rõ và từng triển khai trong production: Consistent Hashing, Leaky Bucket
Hiểu rõ và có thể giải thích: Trie, Bloom filter
Có biết nhưng không tự tin có thể giải thích chính xác: Raft/Paxos, Merkle Tree, Operational Transform
Không biết rõ: GeoHash, QuadTree, HyperLogLog, Count-Min Sketch, Hierarchical Timing Wheels