# 1. 浏览器多进程架构(Browser、Renderer、GPU、Network、Plugin) A 网络请求由渲染进程直接处理 B 渲染进程崩溃会导致整个浏览器退出 C 所有页面共用同一个渲染进程 D Browser 进程管 UI 与导航,Renderer 进程执行页面渲染与脚本,GPU/Network 进程分别隔离合成与网络栈 ✓ 正确答案
# 2. Prerender 进程的渲染器进程与传统 prefetch 的差异 A prefetch 比 prerender 更消耗 CPU B 预渲染与普通导航完全相同 C prerender 在后台渲染器完整执行页面、激活即用,但会重复执行副作用逻辑,需按命中率取舍 ✓ 正确答案 D prefetch 会完整执行页面脚本
# 3. 浏览器站点隔离(Site Isolation)的安全模型与跨域 iframe 隔离的工程取舍 A 跨进程 iframe 仍可同步访问父页面 DOM B Site Isolation 让所有 iframe 与父页面同进程 C Site Isolation 按站点分配渲染进程,跨域 iframe 走 OOPIF 隔离,代价是内存开销与调试复杂度 ✓ 正确答案 D 站点隔离只影响网络进程
# 4. 浏览器主进程与渲染进程的 IPC 通道(Mojo)在高并发场景的瓶颈 A 渲染进程之间直接通信无需经过主进程 B Mojo 通道可以无限并行处理 C IPC 消息没有大小限制 D Mojo 单通道串行、大消息拷贝与共享存储接口竞争是高并发瓶颈,可通过批量、通道分离与共享内存缓解 ✓ 正确答案
# 5. 浏览器标签页冻结(Tab Freeze)与后台节流对前端性能与计时的工程影响 A 后台标签的定时器与前台精度一致 B 冻结与节流会暂停或拉长后台 JS 执行,计时与埋点需用时间戳差值并在可见性恢复时校准 ✓ 正确答案 C 轮询逻辑在后台永远准时触发 D requestAnimationFrame 在后台继续运行
# 6. 内存压力(memory pressure)下浏览器主动回收标签页的策略与监听 A 浏览器按后台状态与恢复成本分层回收(冻结、丢弃、清缓存),前端应持久化状态并在恢复时重建 ✓ 正确答案 B 前端无法感知页面被丢弃 C 标签页被丢弃后用户状态必然丢失 D 内存压力下浏览器优先丢弃前台标签
# 7. Browser-level fetch 处理器(Navigation Preload、Speculation Rules) A Speculation Rules 与预渲染无关 B Navigation Preload 在 SW 启动期间并行发请求,Speculation Rules 声明式预取/预渲染,二者可分层优化导航性能 ✓ 正确答案 C Navigation Preload 会增加导航延迟 D preloadResponse 只能用于缓存命中
# 8. 渲染进程崩溃(Renderer Crashed)的检测、自动恢复与状态丢失的工程取舍 A 浏览器不会自动恢复崩溃标签 B 崩溃检测需心跳或 SW 侧探活,关键状态实时持久化,恢复后按持久化状态重建 ✓ 正确答案 C window.onerror 可以捕获渲染进程崩溃 D 崩溃后页面状态必然全部保留
# 9. 进程内导航(In-Process Navigation) A 导航是否跨进程不影响任何行为 B 所有导航都必须跨进程 C 进程内导航会重新创建渲染进程 D 同站可复用时导航在进程内提交、延迟更低,但跨站导航受站点隔离约束必须换进程 ✓ 正确答案
# 10. 浏览器网络进程(Network Process)的请求调度与连接池的工程实践 A HTTP/2 下请求无需关注优先级 B 网络进程维护每源连接池并分级调度请求,前端用 preconnect/优先级标注与合并请求配合 ✓ 正确答案 C HTTP/1.1 的 6 连接限制不影响性能 D QUIC 仍然存在 TCP 队头阻塞
# 11. Pre-rendered page(Chrome 99+)在主页面已激活时如何避免渲染浪费 A 预渲染没有任何资源开销 B 激活时预渲染文档直接接管标签页,工程上用 document.prerendering 延迟副作用并控制预渲染范围 ✓ 正确答案 C 预渲染请求与服务端正常访问无法区分 D 预渲染页面激活后浏览器会重新渲染一次
# 12. 浏览器扩展(Extensions)的 content script 与页面主世界的进程隔离边界 A content script 与页面共享 JS 全局变量 B content script 运行在独立渲染进程 C 扩展可以直接读取页面内存 D content script 与页面主世界共享 DOM 但全局隔离,通过消息与 DOM 事件桥接,属渲染进程内执行 ✓ 正确答案
# 13. Speculation Rules 中 prerender 的 hint 触发与取消的工程实践 A eagerness 只影响 prefetch B 预渲染页面无法感知自身状态 C 预渲染触发时机由页面 JS 强制决定 D Speculation Rules 按 eagerness 分层触发预渲染,浏览器可取消未激活预渲染,页面用 document.prerendering 延迟副作用 ✓ 正确答案
# 14. Prerender 文档中的 document.prerendering 属性在脚本执行与预渲染激活时机判断的工程价值 A document.prerendering 标记预渲染阶段,用于延迟副作用与统计,激活时经 prerenderingchange 补齐初始化 ✓ 正确答案 B 预渲染期间统计可以正常上报 C activationStart 与预渲染无关 D 预渲染阶段与普通加载阶段完全相同
# 15. Frame Tree 在 iframe 嵌套与跨域 iframe 隔离(Site Isolation) A Frame Tree 保持逻辑父子结构,跨域帧进程隔离后仅能通过 postMessage 等异步方式通信 ✓ 正确答案 B 跨域 iframe 与父页面共享进程可直接访问 DOM C 同域 iframe 也走 OOPIF D window.parent 跨进程可以同步取值
# 16. Navigation Activation 期间的 commit 与析构阶段对 SPA hydration 与 view transitions 的工程影响 A 激活分 commit 与析构阶段,hydration 与跨文档 view transitions 需在这些时机内完成接管与动画衔接 ✓ 正确答案 B hydration 与导航时序无关 C view transitions 只在同文档生效 D 导航激活时旧文档立即无痕消失
# 17. Origin-Agent-Cluster 在请求头声明与进程隔离的现代工程价值 A 该头会让同站 iframe 共享进程 B Origin-Agent-Cluster 请求头按源细分进程隔离,强化同站跨源隔离,但增加进程与内存开销 ✓ 正确答案 C document.domain 在该头下仍然生效 D Origin-Agent-Cluster 只能通过 JS 启用
# 18. Bfcache 恢复时 performance.getEntriesByType('navigation')[0].type === 'back_forward' 的检测方法 A BFCache 恢复不需要任何处理 B 用 navigation.type==='back_forward' 与 pageshow.persisted 检测 BFCache 恢复,并重连资源、校准计时 ✓ 正确答案 C BFCache 恢复的页面会重新执行脚本 D unload 监听不影响 BFCache
# 19. Chromium 的 OOPIF(Out-of-process iframe) A OOPIF 把跨站 iframe 隔离到独立渲染进程,跨帧只能异步消息通信,崩溃隔离且调试需切换进程 ✓ 正确答案 B 跨进程 iframe 可以同步访问父 DOM C OOPIF 只在移动端生效 D OOPIF 与父页面共享渲染进程
# 20. startViewTransition 跨文档模式与 Speculation Rules prerender 在 Astro/Qwik 多页应用中的视觉连续性 A 预渲染页面无法参与过渡动画 B 跨文档 view transitions 无法与预渲染配合 C view transitions 只在 SPA 中可用 D 跨文档过渡用快照动画衔接导航,配合 prerender 激活实现点击即见,MPA 框架按视图过渡名约定实现并降级 ✓ 正确答案