客户端只想拿资源的部分字段时,fields 稀疏字段集参数该怎么设计?
围绕“客户端只想拿资源的部分字段时,fields 稀疏字段集参数该怎么设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明字段白名单、嵌套字段表达与默认字段策略。
程序员面试题库第 77 页,收录第 3801–3850 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
围绕“客户端只想拿资源的部分字段时,fields 稀疏字段集参数该怎么设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明字段白名单、嵌套字段表达与默认字段策略。
围绕“直接把过滤参数拼进查询语句的列表接口有什么注入风险,如何防御”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明白名单字段与参数化查询的防御边界。
围绕“REST 列表接口的过滤条件如何用查询参数建模,多值过滤与范围过滤怎么表达”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出多值、区间、布尔条件的参数约定方案。
围绕“REST 接口中 GET、POST、PUT、PATCH、DELETE 分别对应什么操作,语义边界在哪里”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清每个方法的语义与典型误用场景。
围绕“支付类 POST 接口如何用 Idempotency-Key 防止客户端重试造成重复扣款”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清键的生成、存储、命中处理与过期策略。
围绕“HTTP 哪些方法是幂等的,为什么说 POST 不幂等而 PUT 幂等”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用重复请求产生相同服务端效果的定义逐个判断方法。
围绕“幂等键应该保存多久,请求未完成时相同键并发到达该怎么处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖完整回答要覆盖键生命周期与 in-flight 请求的串行化策略。
围绕“客户端删除请求超时后重试,服务端返回 404 时重试逻辑该怎么处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须把 404 视为已删除的成功等价结果的判断讲清。
围绕“键集分页(keyset pagination)与 offset 分页在查询性能和一致性上有什么差别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 WHERE 排序键定位与 OFFSET 扫描的成本差异说明。
围绕“REST 中 /users/123/orders 这类嵌套资源路径该嵌套几层,何时应改用顶层资源加查询参数”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出嵌套表达归属关系的适用边界与扁平化判断标准。
围绕“基于 offset/limit 的分页在数据量大或频繁写入时会出什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清深分页成本与翻页期间数据增删导致的重复或遗漏。
围绕“分页请求超出最后一页时应该返回空数组还是 404”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须基于集合资源是否存在的语义给出判断。
围绕“分页接口的响应体应该包含哪些元信息,Link 头分页有什么优势”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须权衡 total、next 游标、Link 头等字段的成本与用途。
围绕“创建资源时用 POST /collection 还是 PUT /collection/id,决定因素是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须以谁决定资源 URI 与幂等性为依据。
围绕“REST API 设计中为什么推荐用名词而不是动词命名资源路径,删除用户这类操作该怎么设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明资源与操作的分离及用 HTTP 方法表达动作。
围绕“HTTP 安全方法是什么,GET 被缓存和预取带来什么设计约束”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明安全方法不应改变资源状态及违反后的实际风险。
围绕“REST 中单个资源与集合资源的路径和状态码使用上有什么区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分集合与成员 URI 的语义及各自增删改查的响应约定。
围绕“REST 列表接口多字段排序参数怎么设计,升降序和默认排序如何约定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出参数语法与稳定性要求(排序键加唯一键兜底)。
围绕“REST 资源标识用自增 ID 还是 UUID,对外暴露时各有什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较可枚举性、泄漏业务量、分布式生成等维度。
围绕“废弃旧版本 API 时如何用 Sunset 和 Deprecation 响应头通知客户端”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明这两个头的语义与配套迁移流程。
围绕“REST API 版本放在 URL 路径、查询参数还是请求头,各自对缓存和演进有什么影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较多路由方案的可缓存性、可见性与演进成本。
围绕“React Native 中 absolute 定位与 zIndex 的表现和 Web 有何差异,Android 上”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明兄弟层级依赖、elevation 的关系及常见遮挡修复手段。
围绕“React Native 中动态更新的内容(如表单校验错误、加载完成)如何主动通知读屏器用户”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明 announceForAccessibility 与 accessibilityLiveRegion 的适用时机。
围绕“React Native 页面切换或弹层出现后如何设置无障碍焦点,为什么常见做法是 setAccessibility”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明焦点失控的场景与 setAccessibilityFocus 的 ref 用法及时机。
围绕“React Native 中 accessibilityRole、accessibilityLabel、access”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求区分角色、名称与操作提示三者的朗读语义并给出误用后果。
围绕“React Native 中如何用 aspectRatio 保持图片或卡片的宽高比,与固定 width/height”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明 aspectRatio 在单边约束下的计算优先级及与 flex 的冲突场景。
围绕“React Native 中 Dimensions.get 与 useWindowDimensions 的区别是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求指出静态取值不响应变化与 Hook 订阅式更新的差异。
围绕“React Native FlatList 的 keyExtractor 用索引当 key 会带来哪些具体 bug”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明增删重排时组件状态错位与多余重渲染的机制。
围绕“React Native FlatList 的 windowSize、maxToRenderPerBatch、ini”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求区分渲染批次、窗口范围与首屏数量的作用并给出调优判断。
围绕“React Native 中 flex、flexGrow、flexShrink 混合使用时剩余空间如何分配”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求能推算含基准尺寸与收缩比例时的最终尺寸。
围绕“React Native 的 Flexbox 与 Web 相比默认 flexDirection 为 column,还”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求列举默认值、只支持单值 flex 等关键差异及其对布局迁移的影响,不逐项讲 flex 属性用法。
围绕“React Native 中子组件手势与父级 ScrollView 滚动冲突时如何协调”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求讲清 responder 捕获与拒绝机制(ShouldSetCapture、requestDisallowInterceptTouc。
围绕“只用 React Native 内置 API 如何区分单击、双击与长按而不互相误触发”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求设计延迟确认或计时器方案并说明取消条件,不引入手势库。
围绕“React Native 的手势响应系统(Gesture Responder System)如何决定哪个组件成为事件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明冒泡协商与最深节点优先的规则。
围绕“React Native 中装饰性图片与信息型图片在无障碍上应如何区别对待”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明 accessible={false} 与提供有意义 label 的判断标准。
围绕“React Native 底部输入框既要避开 Home 指示条又要跟随键盘弹起,布局上如何同时满足”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求组合 insets 与 KeyboardAvoidingView 的顺序与 padding 叠加判断。
围绕“React Native 在 Android 上 windowSoftInputMode 的 adjustResiz”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明清单配置对布局挤压的影响及在 RN 中配合 KeyboardAvoidingView 的冲突处理。
围绕“React Native 如何用 Keyboard 事件驱动 UI(如键盘弹起时隐藏底部栏)并实现点击空白处收键盘”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求区分 keyboardWill/Did 事件的可用性与 TouchableWithoutFeedback 或 ScrollView 。
围绕“React Native KeyboardAvoidingView 的 behavior 选 padding、hei”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求比较三种 behavior 的布局机制并给出 iOS/Android 适用判断。
围绕“React Native 布局要支持阿拉伯语等 RTL 语言时,哪些样式写法会破坏镜像效果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明 left/right 与 start/end 的差异及 I18nManager 强制方向的重启代价。
围绕“React Native 中获取组件真实尺寸与屏幕位置有哪些方式,onLayout 与 measure 各适合什么场”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求比较布局事件时机与异步测量的准确性差异。
围绕“React Native PanResponder 的手势接管流程是怎样的,onMoveShouldSet 与 on”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求梳理成为响应者、移动回调与被系统/父级打断的完整生命周期,不对比第三方手势库。
围绕“React Native 的 PixelRatio 在高分屏适配中能解决哪些问题,什么时候不该用它”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求区分逻辑像素与物理像素的换算用途及过度使用的反模式。
围绕“React Native 点击反馈出现明显延迟时,如何从 onPress 与 onPressIn 及 ScrollV”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求解释 300ms 类延迟来源与 onPressIn 提前反馈、scrollable 容器裁决的关系。
围绕“React Native Pressable 如何利用 pressed 状态做按压反馈,hitSlop 与 pres”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求解释热区扩大与滑出保留区的交互意义及函数式样式写法。
围绕“React Native 处理刘海屏与底部 Home 指示条时 SafeAreaView 不够用,SafeAreaI”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求指出 SafeAreaView 仅 iOS 的局限并说明 insets 手动 padding 的适用场景。
围绕“React Native ScrollView 的 keyboardDismissMode 三种模式分别在什么交互诉”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求区分 none/on-drag/interactive 的平台支持与体验差异。
围绕“React Native 中横向 FlatList 嵌在纵向 ScrollView 里有哪些坑,为什么官方建议同方向”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明 VirtualizedList 警告的来源与嵌套失效/性能问题及替代结构。
围绕“React Native 的 shadow* 属性只在 iOS 生效,Android 用 elevation,如何写”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明两套机制差异与统一样式封装策略。
围绕“React Native 中状态栏透明沉浸式布局为什么会导致内容被遮挡,如何按平台正确处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求说明 translucent 对布局起点的影响及与 SafeArea 的配合。