系统设计面试中如何设计 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 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案、收藏题目并进行模拟面试练习。