系统设计面试中如何设计 API 与通信协议?REST、GraphQL、RPC 怎么选?
How do you design APIs and communication protocols in system design interviews, and how do you choose between REST, GraphQL, and RPC?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: api, rest, graphql, grpc, websocket
参考答案摘要
答案 API 设计要先从“系统要对外提供什么能力”出发,再决定 API 风格与协议。关键是:接口要清晰、语义一致、便于演进。 步骤建议 列出能力 :用户要完成哪些动作(创建/查询/更新/删除/订阅)。 选择风格 : REST :资源模型清晰、调试方便、生态成熟,适合公开 API。 GraphQL :前端按需取字段,减少 over-fetch/under-fetch,适合复杂聚合查询。 RPC/gR...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。