Câu hỏi phỏng vấn Systems Design
Câu hỏi

Trong thiết kế hệ thống critical (ngân hà...

Câu trả lời

Trong thiết kế hệ thống critical như ngân hàng hay thanh toán, để đảm bảo ACID (Atomicity, Consistency, Isolation, Durability), cần tuân thủ các nguyên tắc sau đây:

Atomicity: Đảm bảo rằng các giao dịch được thực hiện hoàn toàn hoặc không thực hiện gì cả. Sử dụng transaction management để theo dõi và quản lý các trạng thái giao dịch. Các cơ chế rollback tự động cũng phải được triển khai khi xảy ra lỗi.

Consistency: Đảm bảo rằng bất kỳ dữ liệu nào ghi vào hệ thống đều phải hợp lệ theo các quy tắc xác định trước. Phải kiểm tra ràng buộc trước và sau khi thực hiện giao dịch, đảm bảo rằng không có vi phạm đối với các quy tắc dữ liệu.

Isolation: Mỗi gi...

senior

senior

Gợi ý câu hỏi phỏng vấn

senior

Bạn từng thiết kế hệ thống hỗ trợ multi-tenant chưa? Bạn phân chia dữ liệu ra sao?

senior

Làm sao để thiết kế hệ thống resilient chống lại việc mất kết nối với database?

middle

Trong thiết kế hệ thống REST API, bạn xử lý rate-limiting như thế nào?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào