React Native Image 在 iOS 与 Android 上的缓存行为有什么差异,会带来什么实战问题?
围绕“React Native Image 在 iOS 与 Android 上的缓存行为有什么差异,会带来什么实战问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 Android 依赖底层 Fresco 缓存而 iOS 依赖原生 URL 缓存、强制刷新与更新不生效的处理方式,不评价第三方缓。
缓存专题面试题第 7 页,显示第 301–350 题,共找到 355 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“React Native Image 在 iOS 与 Android 上的缓存行为有什么差异,会带来什么实战问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 Android 依赖底层 Fresco 缓存而 iOS 依赖原生 URL 缓存、强制刷新与更新不生效的处理方式,不评价第三方缓。
围绕“React Native Image.prefetch 适合什么场景,滥用会有什么代价”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明提前解码到磁盘缓存对即将进入屏幕的图片的收益,以及预取过多占带宽与缓存挤出的代价。
围绕“EXPLAIN (ANALYZE, BUFFERS) 里的 shared hit 和 read 分别说明什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分共享缓冲命中与磁盘读,并说明用它定位 IO 瓶颈的方法。
围绕“SvelteKit load 函数中如何设置响应头以控制客户端缓存策略”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明在返回对象中设置 headers.Cache-Control。
围绕“SvelteKit 多个 load 函数之间如何共享同一份数据而不重复请求”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明通过 shared data cache 机制或依赖相同 route segment。
围绕“熔断触发后的降级返回值(fallback)应该如何设计,哪些场景不适合给默认值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分可用兜底数据(缓存、静态值)和必须失败(支付、写操作)的场景。
围绕“如何发现和定位缓存或存储中的热点 key,发现后有哪些缓解手段”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出监控统计、代理采样等发现手段,以及本地缓存、key 打散、副本扩展三类缓解方案。
围绕“秒杀场景下单个商品的库存扣减热点如何解决,为什么不能直接依赖数据库行锁”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明行锁串行化的吞吐瓶颈,并给出缓存预扣+异步落库或库存分桶的方案及其一致性风险。
围绕“用 DNS 轮询做负载均衡有哪些固有局限,为什么大型系统还要保留它”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 TTL 缓存导致的故障摘除延迟和权重不可控,以及 DNS 在机房级调度和最终兜底中的价值。
围绕“新上线或刚恢复的节点直接加入负载均衡池会发生什么,为什么需要慢启动”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明冷缓存、JIT 预热、连接池未建立导致的瞬时过载,以及权重渐进方案。
围绕“权限判断结果缓存到网关后,管理员改角色时如何设置失效窗口和广播失效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较短 TTL、版本号与事件失效在改权即时性上的取舍。
围绕“评论被作者删除、被审核下架和违规隐藏三种状态在数据模型和查询上如何区分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须定义可见性谓词、审计字段与缓存失效点。
围绕“短链接跳转该选 301 还是 302,统计点击与浏览器缓存会怎样受影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确状态码对浏览器缓存、SEO 权重与埋点完整性的影响。
围绕“短链接系统中某个明星短码被打爆时,如何发现热点 Key 并保护存储层”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出热点探测、本地缓存、请求合并与降级顺序,不泛化到全站缓存架构。
围绕“大文件上传如何实现分片续传,客户端重试、服务端合并和秒传各需要什么键”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须定义 upload_id、chunk etag、合并校验与内容哈希秒传边界。
围绕“如果某个查询的 cacheTime 已过期但仍有活跃组件引用,它会被保留吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明只要存在活跃订阅者,即使 cacheTime 到期也不会立即删除。
围绕“在 SSR 场景中,hydrate 与 initialData 之间如何协同工作”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 hydrate 会将服务器端渲染的数据注入客户端缓存,initialData 仅用于初始显示。
围绕“如果客户端 hydrate 时发现缓存已存在,会发生什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 hydrate 会覆盖已有缓存,避免状态不一致。
围绕“为何推荐使用数组而非对象作为查询键的结构?在什么情况下应选择对象”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须对比数组的确定顺序与对象键名无序带来的缓存歧义风险。
围绕“当查询键包含非序列化对象时,TanStack Query 如何处理其缓存键的生成”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释对象属性顺序和嵌套结构对键值串化的决定作用。
围绕“TanStack Query 中查询键(Query Key)的结构设计如何影响缓存命中与性能”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明数组形式查询键中不同元素类型对缓存唯一性的影响。
围绕“当查询处于“过期”但尚未失效时,再次访问是否会触发网络请求”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明此时仍返回缓存数据且不会主动发起请求,除非显式刷新或强制更新。
围绕“incremental 生成的 .tsbuildinfo 文件应不应该提交到版本库”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕权衡跨机器缓存复用与缓存失效、冲突风险,给出 CI 与本地的不同处理建议。
围绕“noEmit 纯类型检查模式下,构建链路与 tsc 输出职责应如何划分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断用 tsc 做门禁检查、交给打包器产物的分工与增量缓存影响;不对比具体打包器。
围绕“Vite 生产构建的 chunk 是如何拆分的,什么时候需要用 manualChunks 手动控制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要答出 Rollup 默认动态导入拆 chunk 的行为及 manualChunks 解决循环依赖/缓存优化的场景。
围绕“如何用 Vite 插件实现虚拟模块(virtual module)并正确处理其缓存失效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要答出 resolveId/load 配对、 前缀约定及 this.emitFile/失效处理方式。
围绕“Vite 依赖预构建的缓存何时会失效并触发重新构建”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要答出 lockfile 变化、config 中 optimizeDeps 相关配置变化、强制 --force 等失效条件。
围绕“Vue 异步组件因网络波动加载失败后,如何实现自动重试”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确官方建议的做法是给 loader 包装带重试与失败兜底的 Promise 逻辑,并说明动态 import 缓存对重试的影响。
围绕“Vue Router 守卫里做 token 校验这类异步鉴权时,如何避免页面闪现或守卫被绕过”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确守卫等待异步结果后再 resolve、校验失败 return false 或重定向,以及用户信息缓存避免每次导航都请求的设计。
围绕“被 Vue KeepAlive 缓存的组件为什么 mounted 只执行一次,数据刷新应该放在哪个生命周期”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确缓存组件切换走 activated/deactivated 而非 mounted/unmounted,拉取最新数据应放 acti。
围绕“运行中动态增删需要缓存的 Vue 组件时,include 绑定响应式数组有什么注意事项”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 include 可绑定响应式数组实时生效、组件 name 必须稳定且唯一,以及删除后实例立即销毁的影响。
围绕“Vue KeepAlive 的 max 属性触发淘汰时按什么规则移除缓存实例,设置时要权衡什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确超出 max 时按最近最少使用剪枝最久未访问的实例,以及 max 过小导致频繁重建、过大占用内存的权衡。
围绕“如何实现列表页进入详情后返回时保留滚动位置,而从其他页面进入列表时重新加载的 KeepAlive 缓存策略”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确结合路由 meta 标记与 include 动态计算(如在守卫中按来源路由增删缓存名单)的条件缓存方案。
围绕“使用 Vue KeepAlive 后表单残留或数据过期,如何定位是缓存导致并选择刷新手段”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确通过 deactivated 不销毁的特征确认缓存行为,并用给组件加 key 强制重建、activated 中重取数据或移除缓存。
围绕“Pinia 的 getter 需要接收参数时为什么要返回一个函数,这样做会失去什么能力”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确返回闭包实现参数化查询,但缓存随之失效每次调用重新计算,需注意大列表过滤的性能。
解释 KeepAlive 切换时组件实例被缓存而非卸载,说明 activated、deactivated 在首次挂载和最终卸载也会出现,并给出暂停恢复可见期订阅的示例。
解释 Vue 同步侦听的执行位置和失去批量合并的代价,通过两个字段连续赋值观察中间状态,说明适用的缓存失效场景以及不适合大型数组与 DOM 测量的原因。
整理 Vue 常用组合式生命周期钩子与选项式钩子的职责对应,重点解释 beforeCreate、created 为什么没有 on 前缀版本,以及同步注册、SSR 与缓存组件边界。
从副作用与派生值的职责解释 watchEffect 的首次执行和 computed 的按需计算,通过调用记录观察首次读取、缓存复用与依赖变化,并澄清 post 调度的例外。
说明 computed 依据实际读取的响应式依赖缓存结果,区分依赖变化、下一次读取、动态分支与下游更新,解释 Date.now、普通变量和原地绕过代理修改的边界。
computed 是否总比 methods 更快?用商品筛选和折扣试算说明响应式依赖缓存、重复读取、带参数计算以及非响应式时间值的边界,避免把所有函数都改成计算属性。
围绕“多个 Vue 组合式函数共享同一个 effectScope 时,dispose 一次会怎样影响其中 computed”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明作用域统一回收其内 effects/computed 的依赖与缓存,适合插件/商店边界。
围绕“访问 Vue reactive 的深层对象 state.a.b 时才创建内层代理,这种惰性代理对首次读取和内存有什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明未访问的子树不提前代理,访问后被缓存。
用摄氏温度与华氏温度映射说明可写 computed 的来源、转换和归一化规则,区分 setter 写回源状态与派生缓存,并解释异步保存、只读 props 和 getter 副作用的边界。
围绕“体积较大的 .wasm 文件如何配合缓存与流式编译优化二次加载”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 HTTP 缓存头与 streaming 的组合效果及不能用 IndexedDB 存 Module 的替代。
围绕“Webpack babel-loader 的 cacheDirectory 选项如何提升二次构建速度”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释 loader 级磁盘缓存的命中条件与失效因素,不对比 webpack 5 持久化缓存。
围绕“Webpack 官方建议的构建性能优化手段有哪些,应按什么顺序排查”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖给出版本升级、缩小 resolve 范围、减少 plugin/loader 开销等优先级,不深入持久化缓存细节。
围绕“如何利用 Webpack 的 contenthash 与 runtime chunk 实现稳定的长效缓存”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明内容哈希命名与运行时代码抽离避免缓存级联失效,不讲 Service Worker 缓存。
围绕“Webpack 实现代码分割有哪几种方式,各自适合什么场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要对比入口分割、SplitChunksPlugin、动态 import 三条路径,不深入缓存组配置细节。
围绕“Webpack output.filename 中 [name]、[contenthash]、[chunkhash]”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明三种替代标记的生成依据与缓存意义。