预缓存(precaching)和运行时缓存(runtime caching)的区别是什么,各自适合缓存什么?
预缓存(precaching)和运行时缓存(runtime caching)的区别是什么,各自适合缓存什么? 本文先给出可直接复述的结论,再用最小代码说明precaching runtime caching 区别的工作方式、判断依据、项目边界和常见误区。
离线应用专题面试题第 3 页,显示第 101–121 题,共找到 121 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
预缓存(precaching)和运行时缓存(runtime caching)的区别是什么,各自适合缓存什么? 本文先给出可直接复述的结论,再用最小代码说明precaching runtime caching 区别的工作方式、判断依据、项目边界和常见误区。
渐进增强视角下,浏览器不支持 Service Worker 时站点应如何保证功能可用? 本文先给出可直接复述的结论,再用最小代码说明渐进增强 Service Worker 不支持 降级的工作方式、判断依据、项目边界和常见误区。
navigator.serviceWorker.register 的 scope 参数和 Service-Worker-Allowed 响应头各自起什么作用? 本文先给出可直接复述的结论,再用最小代码说明register scope Service-Worker-Allowed的工作方式、判断依据、项目边界和常见误区。
Service Worker 为什么不能直接访问 DOM,离线场景下如何与页面通信? 本文先给出可直接复述的结论,再用最小代码说明Service Worker DOM 通信 postMessage的工作方式、判断依据、项目边界和常见误区。
为什么建议对 Service Worker 脚本本身设置很短的 HTTP 缓存或使用 no-cache? 本文先给出可直接复述的结论,再用最小代码说明Service Worker 脚本 HTTP缓存 max-age的工作方式、判断依据、项目边界和常见误区。
ServiceWorkerGlobalScope.skipWaiting() 解决了什么问题,直接使用有什么风险? 本文先给出可直接复述的结论,再用最小代码说明skipWaiting 作用 风险的工作方式、判断依据、项目边界和常见误区。
Stale-While-Revalidate 策略如何实现,为什么它适合列表页这类场景? 本文先给出可直接复述的结论,再用最小代码说明Stale While Revalidate 实现原理 适用场景的工作方式、判断依据、项目边界和常见误区。
PWA 如何用 StorageManager.estimate() 监控缓存占用,浏览器在什么情况下会主动清除站点存储? 本文先给出可直接复述的结论,再用最小代码说明StorageManager estimate 配额 存储驱逐的工作方式、判断依据、项目边界和常见误区。
什么时候应该注销 Service Worker,unregister() 之后缓存会一起清除吗? 本文先给出可直接复述的结论,再用最小代码说明Service Worker unregister 注销 清缓存的工作方式、判断依据、项目边界和常见误区。
浏览器如何检测 Service Worker 脚本有更新,byte 比较和 24 小时检查规则是什么? 本文先给出可直接复述的结论,再用最小代码说明Service Worker 更新检测 24小时 update的工作方式、判断依据、项目边界和常见误区。
部署了新代码但用户仍看到旧页面,从 Service Worker 角度列出最可能的原因清单? 本文先给出可直接复述的结论,再用最小代码说明Service Worker 不更新 排查的工作方式、判断依据、项目边界和常见误区。
PWA 缓存如何设计版本化命名,保证发布新版本时旧缓存被安全替换? 本文先给出可直接复述的结论,再用最小代码说明缓存版本命名 版本迁移的工作方式、判断依据、项目边界和常见误区。
新版 Service Worker 进入 waiting 状态后,如何设计「发现新版本,点击刷新」的更新提示? 本文先给出可直接复述的结论,再用最小代码说明Service Worker waiting 更新提示 postMessage的工作方式、判断依据、项目边界和常见误区。
Web App Manifest 中哪些字段影响 PWA 的可安装性,display 各取值有什么区别? 本文先给出可直接复述的结论,再用最小代码说明Web App Manifest 可安装 display的工作方式、判断依据、项目边界和常见误区。
Service Worker 的 scope 为什么决定它能控制哪些页面,如何影响 PWA 的目录结构部署? 本文先给出可直接复述的结论,再用最小代码说明Service Worker scope 作用域 控制页面的工作方式、判断依据、项目边界和常见误区。
在线上 Redis 直接跑大集合的 SINTERSTORE 有什么风险,如何规避? 本文先给出可直接复述的结论,再用最小代码说明Redis SINTERSTORE 大集合阻塞的工作方式、判断依据、项目边界和常见误区。
Redis Pub/Sub 与 Streams 做消息分发的可靠性差异是什么,什么场景必须选 Streams? 本文先给出可直接复述的结论,再用最小代码说明Redis Pub/Sub Streams 区别 消息可靠性的工作方式、判断依据、项目边界和常见误区。
分片后跨分片的聚合查询和分页如何实现,各方案代价是什么? 本文先给出可直接复述的结论,再用最小代码说明跨分片查询 聚合 分页 实现的工作方式、判断依据、项目边界和常见误区。
万人群聊的消息扩散用读扩散还是写扩散,热点群和离线消息如何权衡? 本文先给出可直接复述的结论,再用最小代码说明群聊 读扩散 写扩散 离线消息的工作方式、判断依据、项目边界和常见误区。
聊天离线消息拉取如何设计游标,避免用户上线后重复拉取或漏消息? 本文先给出可直接复述的结论,再用最小代码说明聊天 离线消息 游标 同步的工作方式、判断依据、项目边界和常见误区。
如何利用 Webpack 的 contenthash 与 runtime chunk 实现稳定的长效缓存? 本文先给出可直接复述的结论,再用最小代码说明webpack 长效缓存 contenthash runtimeChunk的工作方式、判断依据、项目边界和常见误区。