前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库第 20 页
面试知识索引 · 分类、标签与搜索

5000 道程序员面试题,每题都有完整答案

程序员面试题库第 20 页,收录第 951–1000 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。

5,000完整问题
52技术分类
178检索标签
100索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

题库检索
技术分类52 个
全部分类5000AI Agent511浏览器301JavaScript285React281AI 开发262CSS240Node.js217TypeScript206Vue180前端工程化138React Native135
查看全部 52 个分类
操作系统135数据库134Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
热门标签178 个
并发编程448缓存355性能优化340安全336异步编程292类型系统215构建工具211容器化184流处理177表单157SQL148HTTP141路由140离线应用121网络协议111
查看其余 163 个标签
测试109数据库事务95实时通信92Web 可访问性90动画79可观测性77Agent 记忆75向量检索66工具调用66LangGraph59Prompt56任务规划53排障与运维53数据库索引52浏览器自动化51Flexbox50值与类型50GraphQL49事务与并发49构建与镜像49DNS 与 TLS48工程协作与交付48AI 评测47CSS Grid47Express 服务47MCP47副作用与同步47向量与嵌入47文件与多媒体47流与二进制47传输与协议46列表与性能46可维护代码46响应式原理46容器运行46指标日志追踪46数据建模与运维46文件与 I/O46表单与输入46MCP 协议45RAG45Vite 与模块构建45Webpack45内存与虚拟化45原生集成45多 Agent45工作负载与发布45应用与性能45数据处理45模块与工具链45组件与模板45缓存与数据结构45网络与运维45评估与调试45身份认证与授权45运行时与开发45Web 系统方案44一致性与容错44侦听与生命周期44分布式使用44原生组件与交互44可访问交互44消息与异步处理44渲染与调度44索引与执行计划44组件设计44缓存与代理44进程与并发44层叠与选择器43攻击面与防御43文档数据库43权限与安全43离线与渐进增强43语义与文档43请求与通信 API43Worker 与线程协作42事件系统42存储与离线数据42服务架构42服务端与流式渲染42服务端工程42泛型设计42版本控制42类型收窄42类型运算42组件与端到端42编码与执行42进程与线程42DOM 与文档操作41Flex 布局41HTTP 语义41NestJS 架构41REST 与接口契约41SQL 查询41加载与交互性能41动画与视觉41类型工程41记忆与状态41运行时与调度41Agent 架构40WebAssembly 集成40单元与集成测试40多 Agent 协作40工作流编排40模块与语言机制40浏览器与 UI 自动化40生产运行40函数与作用域39响应式设计39性能与并发39类型系统基础39Grid 布局38数组与集合38盒模型与排版38Hooks 与复用37应用开发37推理与成本37状态共享37知识库数据37模型与应用评测36对象与原型35状态与渲染35语言与并发35异步与 Promise34Effect32RAG 检索31React 性能31响应式与性能31微调与数据31TanStack Query30全栈边界30数据与缓存30大模型基础29路由与数据流29事件循环28流式交互28提示与上下文设计27数据与服务端27组件与依赖注入27组件与响应式27多模态应用24应用与渲染24Hydration22沙箱安全22状态管理18算法18CI/CD13语言与运行时10React Server Components6搜索与排序4实用函数实现3链表栈队列3图算法2字符串算法2树与遍历2索引与高级结构2Kubernetes1作用域与函数1动态规划1异步与浏览器1手写与交互性能1数组与双指针1相等比较1
当前页20 / 100

正在显示第 951–1000 题

浏览器50
第 20 页

本页面试问题

按稳定语义路径排序

  1. 0951
    浏览器请求与通信 API

    在支持流式请求体的浏览器中用 fetch 上传 ReadableStream,为什么必须设置 duplex: 'half'(Chrome 105+)?

    围绕“在支持流式请求体的浏览器中用 fetch 上传 ReadableStream,为什么必须设置 duplex: 'ha”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出流式上传要求 HTTP/2 或 HTTP/3 且需显式声明 duplex 的兼容性约束。

    核心关键词fetch 流式请求体 duplex half ReadableStream 上传
    #请求与通信 API#HTTP#流处理
  2. 0952
    浏览器请求与通信 API

    为什么 fetch 的 Response body 只能读取一次,需要读两次时怎么办?

    解释 Response body 的流式单次消费特性,说明 bodyUsed 的判定与克隆的时机限制。通过实际场景展示如何用 clone 并行处理同一响应,并指出克隆前必须未读取,且克隆后每个对象只能读一次。

    核心关键词Response bodyUsed 只能读一次 clone
    #请求与通信 API#流处理
  3. 0953
    浏览器请求与通信 API

    fetch 本身没有超时参数,如何实现一个请求超时控制?

    fetch没有timeout接口,超时需要借助AbortController加setTimeout实现。本文讲解signal如何生效、定时器清理的必要性、AbortError的判别,并用慢接口场景说明使用方式。

    核心关键词fetch 超时 AbortController setTimeout
    #请求与通信 API
  4. 0954
    浏览器请求与通信 API

    为什么原生 fetch 无法监听文件上传进度,有哪些替代方案?

    本文说明 fetch 无上传进度事件的原因,对比 XHR upload.progress 和流式字节统计的适用边界,指导进度条实现技术选型。

    核心关键词fetch 上传进度 不支持 XHR upload
    #请求与通信 API#HTTP#流处理
  5. 0955
    浏览器请求与通信 API

    浏览器中 fetch 与 XMLHttpRequest 的核心差异是什么,选型时怎么权衡?

    对比 fetch 与 XMLHttpRequest 的四个实质差异:Promise 化、HTTP 错误不 reject、上传进度支持、取消机制,并给出按上传进度、错误处理、取消需求选型的可操作判断。

    核心关键词fetch 与 XMLHttpRequest 区别
    #请求与通信 API#异步编程#HTTP
  6. 0956
    浏览器请求与通信 API

    HTTP/1.1 下浏览器对同一域名的并发连接数限制如何影响 SSE 和轮询,HTTP/2 如何缓解?

    围绕“HTTP/1.1 下浏览器对同一域名的并发连接数限制如何影响 SSE 和轮询,HTTP/2 如何缓解”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出每域约 6 连接、长连接占满会阻塞普通请求、HTTP/2 多路复用可共用一个连接。

    核心关键词浏览器 同域名 连接数限制 SSE HTTP/2 多路复用
    #请求与通信 API#实时通信#HTTP
  7. 0957
    浏览器请求与通信 API

    后端以 NDJSON(逐行 JSON)流式返回数据时,前端如何边接收边解析而不是等全部完成?

    围绕“后端以 NDJSON(逐行 JSON)流式返回数据时,前端如何边接收边解析而不是等全部完成”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出缓冲未完整行、按换行切分、最后一块收尾的解析逻辑。

    核心关键词NDJSON 流式解析 fetch reader 按行切分
    #请求与通信 API#流处理
  8. 0958
    浏览器请求与通信 API

    如何用 fetch 的 response.body.getReader() 逐块读取大文件下载内容并显示进度?

    围绕“如何用 fetch 的 response.body.getReader() 逐块读取大文件下载内容并显示进度”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 reader.read() 循环、done 标志与用 Content-Length 计算进度。

    核心关键词response.body getReader 分块读取 下载进度
    #请求与通信 API
  9. 0959
    浏览器请求与通信 API

    前端不再需要 SSE 推送时为什么要显式调用 EventSource.close(),服务端如何感知断开?

    围绕“前端不再需要 SSE 推送时为什么要显式调用 EventSource.close(),服务端如何感知断开”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 close 停止自动重连并释放连接、服务端通过连接关闭事件清理订阅资源。

    核心关键词EventSource close 关闭 服务端清理
    #请求与通信 API#实时通信
  10. 0960
    浏览器请求与通信 API

    SSE 的 text/event-stream 数据格式长什么样,EventSource 如何接收消息?

    围绕“SSE 的 text/event-stream 数据格式长什么样,EventSource 如何接收消息”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 data: 行、空行分隔消息的格式与 onmessage 接收。

    核心关键词SSE EventSource text/event-stream 格式
    #请求与通信 API#实时通信#流处理
  11. 0961
    浏览器请求与通信 API

    EventSource 有哪些硬性限制,为什么自定义请求头或 POST 请求做不到?

    围绕“EventSource 有哪些硬性限制,为什么自定义请求头或 POST 请求做不到”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出只支持 GET、无法自定义请求头、可用 fetch 流读取替代的边界。

    核心关键词EventSource 限制 GET 自定义请求头
    #请求与通信 API#HTTP
  12. 0962
    浏览器请求与通信 API

    提前终止 fetch 的流读取时,reader.cancel() 和直接丢弃 reader 有什么区别?

    围绕“提前终止 fetch 的流读取时,reader.cancel() 和直接丢弃 reader 有什么区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 cancel 会向源头发出取消信号并释放网络资源、仅丢弃 reader 连接仍挂着。

    核心关键词reader cancel 取消流 释放连接
    #请求与通信 API
  13. 0963
    浏览器请求与通信 API

    分块读取流时直接拼接 Uint8Array 转字符串为什么会乱码,TextDecoder 流式解码如何解决?

    围绕“分块读取流时直接拼接 Uint8Array 转字符串为什么会乱码,TextDecoder 流式解码如何解决”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出多字节字符可能跨块被截断、TextDecoder 的 stream 选项保留不完整字节。

    核心关键词TextDecoder stream true UTF-8 多字节边界 乱码
    #请求与通信 API#流处理
  14. 0964
    浏览器请求与通信 API

    TransformStream 与 pipeThrough 在 fetch 响应处理中适合解决什么问题,举一个具体场景?

    围绕“TransformStream 与 pipeThrough 在 fetch 响应处理中适合解决什么问题,举一个具体场”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出在流经过时增量转换数据(如解压、解密、解析)而避免整段缓存的价值。

    核心关键词TransformStream pipeThrough 流处理 解压 转换
    #请求与通信 API#缓存
  15. 0965
    浏览器请求与通信 API

    高频发送 WebSocket 消息时为什么需要关注 bufferedAmount,如何处理发送背压?

    围绕“高频发送 WebSocket 消息时为什么需要关注 bufferedAmount,如何处理发送背压”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 bufferedAmount 反映未发送字节数、超过阈值应暂停或降频发送避免内存膨胀。

    核心关键词WebSocket bufferedAmount 背压 发送队列
    #请求与通信 API#实时通信
  16. 0966
    浏览器请求与通信 API

    WebSocket 收发二进制数据时 binaryType 选 blob 还是 arraybuffer,依据是什么?

    围绕“WebSocket 收发二进制数据时 binaryType 选 blob 还是 arraybuffer,依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 arraybuffer 适合立即处理、blob 适合大文件与流式存储的取舍。

    核心关键词WebSocket binaryType blob arraybuffer
    #请求与通信 API#实时通信#流处理
  17. 0967
    浏览器请求与通信 API

    WebSocket 关闭连接时 close(code, reason) 的状态码怎么选,1000 与 1006 有什么区别?

    围绕“WebSocket 关闭连接时 close(code, reason) 的状态码怎么选,1000 与 1006 有什”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 1000 正常关闭、1006 异常断开无法手动触发这一诊断价值。

    核心关键词WebSocket close code 1000 1006 异常关闭
    #请求与通信 API#实时通信#HTTP
  18. 0968
    浏览器请求与通信 API

    为什么 WebSocket 的 error 事件几乎不携带具体错误信息,实际诊断应该看什么?

    围绕“为什么 WebSocket 的 error 事件几乎不携带具体错误信息,实际诊断应该看什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出出于安全规范 error 是通用事件、应结合 close 事件码与 wasClean 及网络面板诊断。

    核心关键词WebSocket error 事件 信息少 诊断 close code
    #请求与通信 API#实时通信
  19. 0969
    浏览器请求与通信 API

    WebSocket 建立连接时的 HTTP 升级握手过程是怎样的,101 状态码代表什么?

    围绕“WebSocket 建立连接时的 HTTP 升级握手过程是怎样的,101 状态码代表什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 Upgrade 头、Sec-WebSocket-Key/Accept 校验与 101 Switching Protocols 。

    核心关键词WebSocket 握手 Upgrade 101 Sec-WebSocket-Key
    #请求与通信 API#实时通信#HTTP
  20. 0970
    浏览器请求与通信 API

    WebSocket 的 open、message、error、close 事件与 readyState 在连接生命周期中如何配合?

    围绕“WebSocket 的 open、message、error、close 事件与 readyState 在连接生命周”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出四个 readyState 值与事件触发顺序、必须在 open 后才能 send 的判断。

    核心关键词WebSocket readyState open close 生命周期
    #请求与通信 API#实时通信
  21. 0971
    浏览器请求与通信 API

    WebSocket 消息本身没有送达确认和重传机制,需要可靠投递时应用层应怎么设计?

    围绕“WebSocket 消息本身没有送达确认和重传机制,需要可靠投递时应用层应怎么设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出序号加 ACK、超时重发、断线后增量拉取的典型设计。

    核心关键词WebSocket 消息 可靠性 确认 重传 应用层
    #请求与通信 API#实时通信
  22. 0972
    浏览器请求与通信 API

    设计 WebSocket 客户端的重连与心跳机制时需要考虑哪些要点?

    围绕“设计 WebSocket 客户端的重连与心跳机制时需要考虑哪些要点”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出指数退避重连、心跳检测半开连接、区分主动关闭不重建三个要点。

    核心关键词WebSocket 重连 心跳 指数退避 ping
    #请求与通信 API#实时通信
  23. 0973
    浏览器请求与通信 API

    WebSocket 构造函数的第二个参数(子协议)起什么作用,协商失败会怎样?

    围绕“WebSocket 构造函数的第二个参数(子协议)起什么作用,协商失败会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出客户端列出支持的子协议、服务端选一个返回、不匹配时行为取决于服务端实现。

    核心关键词WebSocket 子协议 Sec-WebSocket-Protocol 协商
    #请求与通信 API#实时通信
  24. 0974
    浏览器请求与通信 API

    实时推送场景下 WebSocket 与 SSE 如何选型,各自的决定性优势是什么?

    围绕“实时推送场景下 WebSocket 与 SSE 如何选型,各自的决定性优势是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出双向通信需求选 WebSocket、纯服务端推送且要自动重连与 HTTP 友好选 SSE 的决策依据。

    核心关键词WebSocket SSE 选型 实时推送 对比
    #请求与通信 API#实时通信#HTTP
  25. 0975
    浏览器请求与通信 API

    调用 XMLHttpRequest 的 abort() 后,readyState、事件和该对象还能复用吗?

    围绕“调用 XMLHttpRequest 的 abort() 后,readyState、事件和该对象还能复用吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 abort 后 readyState 归零、触发 abort 事件、对象可重新 open 复用。

    核心关键词XHR abort 后 状态 复用
    #请求与通信 API#HTTP
  26. 0976
    浏览器请求与通信 API

    XMLHttpRequest 的 readyState 从 0 到 4 各代表什么阶段,onreadystatechange 与 onload 有何不同?

    围绕“XMLHttpRequest 的 readyState 从 0 到 4 各代表什么阶段,onreadystatech”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出五个状态含义及 onload 只在完整成功时触发而 readyState 4 可能对应 HTTP 错误。

    核心关键词XMLHttpRequest readyState 状态 onload 区别
    #请求与通信 API#HTTP
  27. 0977
    浏览器请求与通信 API

    XMLHttpRequest 的 responseType 有哪些取值,下载二进制文件时应该选什么?

    围绕“XMLHttpRequest 的 responseType 有哪些取值,下载二进制文件时应该选什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 arraybuffer 与 blob 在二进制下载中的取舍及 text/json 默认行为。

    核心关键词XMLHttpRequest responseType blob arraybuffer
    #请求与通信 API#HTTP
  28. 0978
    浏览器请求与通信 API

    为什么主线程上的同步 XMLHttpRequest 被废弃并应避免使用?

    围绕“为什么主线程上的同步 XMLHttpRequest 被废弃并应避免使用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出同步请求冻结主线程 UI 与事件循环、浏览器已计划移除支持。

    核心关键词同步 XHR 主线程阻塞 废弃
    #请求与通信 API#事件循环#HTTP
  29. 0979
    浏览器请求与通信 API

    XMLHttpRequest 的 timeout 属性与 ontimeout 事件如何工作,与手动 setTimeout 中断有何区别?

    围绕“XMLHttpRequest 的 timeout 属性与 ontimeout 事件如何工作,与手动 setTimeo”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出原生 timeout 从 send 起计时并自动中止触发 ontimeout,无需手动清理定时器。

    核心关键词XHR timeout ontimeout 超时
    #请求与通信 API#HTTP
  30. 0980
    浏览器请求与通信 API

    XMLHttpRequest 如何分别监听上传进度和下载进度,两个 progress 事件挂在哪个对象上?

    围绕“XMLHttpRequest 如何分别监听上传进度和下载进度,两个 progress 事件挂在哪个对象上”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出上传进度挂在 xhr.upload、下载进度挂在 xhr 本身及 e.lengthComputable 判断。

    核心关键词XHR upload progress 下载进度 事件
    #请求与通信 API#HTTP
  31. 0981
    浏览器渲染与调度

    什么情况下页面能进入往返缓存(bfcache),pageshow 事件的 persisted 属性如何帮助处理恢复逻辑?

    围绕“什么情况下页面能进入往返缓存(bfcache),pageshow 事件的 persisted 属性如何帮助处理恢复逻”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 bfcache 让页面整体冻结恢复而非重新加载、监听 unload 等会使其失效,并用 persisted 区分是否从缓存恢复。

    核心关键词bfcache pageshow persisted 往返缓存
    #渲染与调度#缓存
  32. 0982
    浏览器渲染与调度

    Element.checkVisibility 与用 offsetParent 或 getClientRects 判断元素是否可见相比,能额外覆盖哪些隐藏情形?

    围绕“Element.checkVisibility 与用 offsetParent 或 getClientRects 判”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它统一检查 display、visibility、content-visibility 等多种不可见来源及 opacity 等选。

    核心关键词checkVisibility 元素可见性 判断
    #渲染与调度
  33. 0983
    浏览器渲染与调度

    clientWidth、offsetWidth、scrollWidth 三者分别包含哪些部分,判断元素是否出现溢出该比较哪两个?

    围绕“clientWidth、offsetWidth、scrollWidth 三者分别包含哪些部分,判断元素是否出现溢出该”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用边框、内边距、滚动内容三个维度区分三者构成,并给出溢出判断的组合。

    核心关键词clientWidth offsetWidth scrollWidth 区别 溢出
    #渲染与调度
  34. 0984
    浏览器渲染与调度

    content-visibility:auto 如何跳过屏外内容的布局与绘制,它对滚动条和锚点跳转有什么副作用?

    围绕“content-visibility:auto 如何跳过屏外内容的布局与绘制,它对滚动条和锚点跳转有什么副作用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明浏览器用临时标记尺寸延迟渲染屏外子树的机制与 contain-intrinsic-size 的配合。

    核心关键词content-visibility auto 跳过渲染 屏外
    #渲染与调度
  35. 0985
    浏览器渲染与调度

    浏览器从收到 HTML 字节到首屏像素的关键渲染路径包含哪些阶段,每个阶段的输入输出是什么?

    围绕“浏览器从收到 HTML 字节到首屏像素的关键渲染路径包含哪些阶段,每个阶段的输入输出是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按顺序说明解析、样式计算、布局、分层、绘制、栅格化、合成各阶段的产物与依赖。

    核心关键词关键渲染路径 DOM CSSOM 渲染树 布局 绘制 合成
    #渲染与调度
  36. 0986
    浏览器渲染与调度

    为什么外部样式表会阻塞首次渲染,而内联脚本必须等待之前的 CSSOM 构建完成?

    围绕“为什么外部样式表会阻塞首次渲染,而内联脚本必须等待之前的 CSSOM 构建完成”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释渲染树依赖完整 CSSOM、脚本可能读取计算样式故须等待样式表这两条阻塞链。

    核心关键词CSS 阻塞渲染 CSSOM 脚本等待样式表
    #渲染与调度#构建工具
  37. 0987
    浏览器渲染与调度

    CSS contain 属性的 layout、paint、size 等取值如何让浏览器缩小一次样式变更的重算范围?

    围绕“CSS contain 属性的 layout、paint、size 等取值如何让浏览器缩小一次样式变更的重算范围”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 containment 告诉浏览器子树与外部互不影响从而限制回流/重绘边界,且 size 需给定尺寸的前提。

    核心关键词CSS contain 布局隔离 渲染性能
    #渲染与调度#性能优化
  38. 0988
    浏览器渲染与调度

    display:none、visibility:hidden、opacity:0 三种隐藏方式在布局、绘制、命中测试和可访问性上各有什么差异?

    围绕“display:none、visibility:hidden、opacity:0 三种隐藏方式在布局、绘制、命中测试”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须逐维度对比是否占布局空间、是否参与绘制、是否响应事件、过渡动画可用性。

    核心关键词display none visibility hidden opacity 0 区别
    #渲染与调度#Web 可访问性#测试
  39. 0989
    浏览器渲染与调度

    document.readyState 的 loading、interactive、complete 三个值分别对应页面加载的什么时刻?

    本题解析 document.readyState 的三种值与页面加载阶段的关系:loading 对应当前 HTML 解析未完成,interactive 对应 HTML 解析完成但子资源未完成,complete 对应所有子资源加载完成。并说明利用 readystatechange 替代 DOMContentLoaded 或 load 的用法。

    核心关键词document.readyState readystatechange 加载状态
    #渲染与调度
  40. 0990
    浏览器渲染与调度

    DOMContentLoaded 事件与 window 的 load 事件分别等待什么资源,监听哪个会漏掉图片加载完成?

    本文解释 DOMContentLoaded 与 window.load 事件等待资源的区别,指出 DOMContentLoaded 不等待图片等子资源,load 事件才代表全部资源完成,并提供具体场景和边界。

    核心关键词DOMContentLoaded load 事件区别 资源加载
    #渲染与调度
  41. 0991
    浏览器渲染与调度

    @font-face 的 font-display 各取值如何控制字体加载期间的文本渲染,swap 与 optional 的体验差异是什么?

    围绕“@font-face 的 font-display 各取值如何控制字体加载期间的文本渲染,swap 与 option”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按阻塞期/交换期模型解释 auto、block、swap、fallback、optional 的行为差异。

    核心关键词font-display FOIT FOUT 字体加载 渲染
    #渲染与调度
  42. 0992
    浏览器渲染与调度

    什么是强制同步布局,在循环里交替写样式和读 offsetHeight 会造成什么后果、如何定位这类问题?

    围绕“什么是强制同步布局,在循环里交替写样式和读 offsetHeight 会造成什么后果、如何定位这类问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释循环读写使浏览器每轮被迫提前布局的开销特征,以及用 Performance 面板识别长 Layout 的思路。

    核心关键词强制同步布局 layout thrashing 性能诊断
    #渲染与调度#性能优化
  43. 0993
    浏览器渲染与调度

    以 60Hz 刷新为例,一次渲染帧的预算大约是多少,rAF 回调里的长任务为什么直接表现为掉帧?

    围绕“以 60Hz 刷新为例,一次渲染帧的预算大约是多少,rAF 回调里的长任务为什么直接表现为掉帧”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须把刷新周期、回调耗时、后续布局绘制时间放进同一预算分析,并说明超出预算的表现。

    核心关键词帧预算 16ms 掉帧 rAF 长任务
    #渲染与调度
  44. 0994
    浏览器渲染与调度

    getBoundingClientRect 与 offsetTop/offsetWidth 在参考系、小数精度和 transform 影响上有什么区别?

    围绕“getBoundingClientRect 与 offsetTop/offsetWidth 在参考系、小数精度和 t”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须对比视口坐标系与 offsetParent 坐标系、返回值是否含缩放变换、是否为整数。

    核心关键词getBoundingClientRect offsetWidth offsetTop 区别
    #渲染与调度
  45. 0995
    浏览器渲染与调度

    页面里的 iframe 会怎样影响父页面 window load 事件的触发,嵌入慢第三方页面时有哪些隔离手段?

    围绕“页面里的 iframe 会怎样影响父页面 window load 事件的触发,嵌入慢第三方页面时有哪些隔离手段”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 iframe 子资源计入父页面 load 等待,并给出动态注入、lazy 属性等隔离思路。

    核心关键词iframe load 阻塞 父页面 加载
    #渲染与调度#安全
  46. 0996
    浏览器渲染与调度

    img 标签的 loading=lazy 与 decoding=async 分别推迟什么工作,两者对首屏大图是否都合适?

    围绕“img 标签的 loading=lazy 与 decoding=async 分别推迟什么工作,两者对首屏大图是否都合”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分网络加载延迟与解码移出主线程两件事,并指出首屏关键图不应 lazy 的边界。

    核心关键词img loading lazy decoding async 图片懒加载 解码
    #渲染与调度#异步编程#并发编程
  47. 0997
    浏览器渲染与调度

    IntersectionObserver 的 root、rootMargin、threshold 各控制什么,threshold 传数组会在什么情况下触发多次回调?

    围绕“IntersectionObserver 的 root、rootMargin、threshold 各控制什么,thr”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清观察区域由 root 加 rootMargin 定义、回调按可见比例跨越阈值档位触发。

    核心关键词IntersectionObserver rootMargin threshold 触发语义
    #渲染与调度
  48. 0998
    浏览器渲染与调度

    做元素可见性检测时,IntersectionObserver 相比 scroll 事件里调 getBoundingClientRect 有什么本质优势?

    围绕“做元素可见性检测时,IntersectionObserver 相比 scroll 事件里调 getBoundingC”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出观测在浏览器合成/空闲侧异步回调、避免主线程每帧强制布局读取,且能跨 iframe 视口判定。

    核心关键词IntersectionObserver scroll getBoundingClientRect 可见性检测
    #渲染与调度#异步编程#并发编程
  49. 0999
    浏览器渲染与调度

    页面合成层过多会导致什么问题,排查层数量异常时应该看哪些信号?

    围绕“页面合成层过多会导致什么问题,排查层数量异常时应该看哪些信号”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明层数与纹理内存、栅格化耗时、层间合成开销的关系,并给出减少无意义提升的思路。

    核心关键词合成层过多 层爆炸 内存 GPU 栅格化
    #渲染与调度
  50. 1000
    浏览器渲染与调度

    如何用 PerformanceLongTaskTiming 监测页面长任务,50ms 阈值是怎么来的、attribution 能定位到什么粒度?

    围绕“如何用 PerformanceLongTaskTiming 监测页面长任务,50ms 阈值是怎么来的、attribu”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 PerformanceObserver 监听 longtask 的接入方式、阈值来源及归因只能到任务容器级别的限制。

    核心关键词Long Tasks API 长任务监测 50ms attribution
    #渲染与调度#性能优化#容器化
上一页
1…1819202122…100
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致