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

Trong API Design, bạn phân biệt như thế nào giữa REST và RPC?

Câu trả lời

markdown
REST (Representational State Transfer) và RPC (Remote Procedure Call) là hai phong cách thiết kế API phổ biến với những điểm khác biệt rõ ràng:

Đặc điểm

REST là một phong cách kiến trúc tập trung vào các tài nguyên. Mỗi tài nguyên được biểu diễn bằng một URL duy nhất và có thể được truy cập thông qua các phương thức HTTP như GET, POST, PUT, DELETE. REST nhấn mạnh vào việc sử dụng HTTP theo cách tự nhiên và tiêu chuẩn, dễ dàng tận dụng các lợi ích của HTTP như caching, headers, và status codes. REST không yêu cầu một giao thức cụ thể, thường sử dụng JSON hoặc XML cho dữ liệu.

RPC là một mô hình cho phép thực hiện cuộc gọi thủ tục từ xa, tức là người dùng có thể gọi hàm tại máy khác như thể nó đang ở trên máy cục bộ. Với RPC, yêu cầu thường chứa tên hàm và các tham số. Có nhiều giao thức như JSON-RPC, XML-RPC, gRPC được sử dụng. RPC thường mạnh mẽ hơn trong việc thực hiện các thao tác phức tạp được gói gọn trong các hàm.

...

middle

middle

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

middle

Khi thiết kế API cho mobile client, bạn có cần tối ưu structure response không?

middle

Bạn thiết kế versioning trong API Design như thế nào? /v1/path hay dùng header?

middle

Khi thiết kế API trả về danh sách, bạn thường thêm những metadata nào vào response?

Bình luận

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

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