Câu hỏi phỏng vấn GraphQL
Câu hỏi

Khi mutation có side-effect phức tạp, bạn tổ chức logic và rollback thế nào trong hệ thống GraphQL?

Câu trả lời

markdown
Khi thực hiện mutation có side-effect phức tạp trong hệ thống GraphQL, việc tổ chức logic và rollback đóng vai trò quan trọng để đảm bảo tính nhất quán và ổn định của hệ thống.

Quản lý Logic Phức Tạp:
Để xử lý mutation với side-effect phức tạp, bạn cần tổ chức logic một cách rõ ràng và có cấu trúc. Một cách tiếp cận hiệu quả là sử dụng các pattern như Command Pattern để tách rời phần thực hiện logic thành các bước nhỏ và có thể kiểm soát được. Áp dụng kiến trúc CQRS (Command Query Responsibility Segregation) giúp tách biệt đọc và ghi, từ đó dễ dàng quản lý side-effect.

Transaction & Rollback:
Sử dụng kỹ thuật transaction để đảm bảo tất cả các bước trong một mutation đều thành công hoặc không bước nào được thực hiện. Nếu bất kỳ bước nào thất bại, thực hiện rollback ...

middle

middle

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

senior

nhược điểm nào của GraphQL không?

middle

Bạn có từng dùng công cụ auto-generate schema từ database (như Hasura, PostGraphile) chưa? Ưu nhược?

middle

Bạn có triển khai auth ở resolver level không? Dùng pattern hoặc directive nào?

Bình luận

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

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