Menu

Post image 1
Post image 2
1 / 2
0

Chia sẽ câu hỏi pv backend dev

DEV Community: redis·Đạt Trương Thành·3 days ago
#MKO8rOB5
#dev#case#thanh#trong#database#request
Reading 0:00
15s threshold

Hôm trước mình vừa trải qua một buổi phỏng vấn vị trí Backend Developer Intern tại FPT Telecom. Và mình được tech lead hỏi 3 bài toán sau. Mình đưa ra được solution cho case 1, case 2 thì dự án mình chưa xử lý đến mức đó =)))), case 3 thì mình có dùng Redis nhưng không solve cho case này =))), nên cũng cook luôn Nay mình viết bài này để chia sẽ đến mọi người 3 case này và solution của nó như sau: Case 1: Xử lý Race Condition Câu hỏi: Giả sử trong kho chỉ còn đúng 1 sản phẩm cuối cùng. Có 2 người dùng cùng lúc ấn nút thanh toán ở cùng 1 thời điểm thì điều gì sẽ xảy ra và làm sao để xử lý chuyện kho bị âm? Và đây là cách mình giải quyết: Lúc này mình đã nhớ đến quy tắc isolation và consistency trong ACID để xử lý transaction. Và mình đã dùng perssimistic locking trong database transaction để giải quyết. Nói nôm na cho dễ hiểu, isolation giống như việc bạn đi mua đồ vậy. Khi user A bắt đầu quá trình mua hàng, hệ thống sẽ mở một transaction và dùng lệnh SQL để locking dòng dữ liệu của sản phẩm đó lại.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.

Read More