GraphQL 请求级批处理(query batching)适合什么场景,会带来什么副作用?
围绕“GraphQL 请求级批处理(query batching)适合什么场景,会带来什么副作用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明合并多个查询减少往返的收益与缓存、错误隔离的代价。
API 设计 · 缓存面试题第 1 页,显示第 1–13 题,共找到 13 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“GraphQL 请求级批处理(query batching)适合什么场景,会带来什么副作用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明合并多个查询减少往返的收益与缓存、错误隔离的代价。
围绕“GraphQL 的缓存为什么比 REST 难做,有哪些层面的缓存手段”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较单端点导致 HTTP 缓存失效与客户端归一化缓存、持久化查询的配合。
围绕“在 GraphQL 中使用 DataLoader 时,mutation 修改数据后如何处理缓存一致性”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 clear/prime 主动更新与短生命周期设计的取舍。
围绕“DataLoader 的请求级缓存为什么必须按请求创建实例而不能全局共享”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明跨请求缓存导致的数据陈旧与权限串扰风险。
围绕“GraphQL 全局对象标识(Global Object Identification)要求 Node 接口解决什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明统一 ID 与 node 查询对客户端缓存归一化和重取的意义。
围绕“GraphQL 持久化查询(persisted queries)解决了哪些生产问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明预注册查询对减小请求体、防任意查询的作用及与 CDN 缓存的配合。
围绕“GraphQL 查询中变量(variables)解决了什么问题,为什么不能直接拼接字符串”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明变量分离查询与参数对缓存、注入安全和复用的价值。
围绕“资源被永久删除后返回 404 还是 410,语义和实际用途差在哪”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 410 表达主动永久移除及对爬虫与缓存的意义。
围绕“REST GET 响应如何利用 Cache-Control 与 ETag 降低服务端压力,写操作后缓存怎么失效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖完整回答要覆盖可缓存性判定与失效联动。
围绕“当过滤条件复杂到查询参数无法表达时,用 POST /search 创建查询资源是否违背 REST”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须权衡 URL 长度、缓存能力与语义纯度给出方案。
围绕“ETag 和 Last-Modified 做条件请求时各有什么局限,什么时候必须选 ETag”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出秒级精度与弱校验的局限。
围绕“HTTP 安全方法是什么,GET 被缓存和预取带来什么设计约束”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明安全方法不应改变资源状态及违反后的实际风险。
围绕“REST API 版本放在 URL 路径、查询参数还是请求头,各自对缓存和演进有什么影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较多路由方案的可缓存性、可见性与演进成本。