前端进阶之旅前端进阶之旅
  • 基础篇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 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库第 19 页
面试知识索引 · 分类、标签与搜索

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

程序员面试题库第 19 页,收录第 901–950 题,共 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
当前页19 / 100

正在显示第 901–950 题

浏览器50
第 19 页

本页面试问题

按稳定语义路径排序

  1. 0901
    浏览器文件与多媒体

    Path2D 适合缓存什么,为什么复杂图形重绘和命中检测会受益?

    围绕“Path2D 适合缓存什么,为什么复杂图形重绘和命中检测会受益”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明路径对象可复用并交给 fill/stroke/isPointInPath。

    核心关键词Canvas Path2D 缓存 isPointInPath
    #文件与多媒体#缓存
  2. 0902
    浏览器文件与多媒体

    CanvasRenderingContext2D.save/restore 滥用为什么会让绘制变慢,应如何界定栈边界?

    围绕“CanvasRenderingContext2D.save/restore 滥用为什么会让绘制变慢,应如何界定栈边界”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明保存的是裁剪、变换、样式等大状态且配对成本随嵌套放大。

    核心关键词Canvas save restore 状态栈 性能
    #文件与多媒体#性能优化
  3. 0903
    浏览器文件与多媒体

    为什么跨域图片画进 Canvas 后 getImageData 会抛错,如何合法解除污染?

    围绕“为什么跨域图片画进 Canvas 后 getImageData 会抛错,如何合法解除污染”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明 origin-clean flag 与 crossOrigin 匿名凭证模式。

    核心关键词Canvas getImageData tainted CORS 跨域
    #文件与多媒体
  4. 0904
    浏览器文件与多媒体

    Canvas 文本排版为什么必须依赖 measureText 而不是按字符数估算换行?

    围绕“Canvas 文本排版为什么必须依赖 measureText 而不是按字符数估算换行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确字体度量、字距、方向与 maxWidth 对宽度的影响。

    核心关键词Canvas measureText 文本 换行
    #文件与多媒体
  5. 0905
    浏览器文件与多媒体

    导出画布时 HTMLCanvasElement.toBlob 与 toDataURL 的差异和选型依据是什么?

    本题解析HTMLCanvasElement导出的两种API机制差异:二进制Blob与Base64字符串、同步与异步、编码质量参数作用范围,以及大图工程选型与边界。

    核心关键词Canvas toBlob toDataURL 导出 差异
    #文件与多媒体#异步编程
  6. 0906
    浏览器文件与多媒体

    getContext('2d', { willReadFrequently:true }) 应该在什么读回模式下开启,代价是什么?

    围绕“getContext('2d', { willReadFrequently:true }) 应该在什么读回模式下开启”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明该提示偏向 CPU 画布以降低重复读回成本。

    核心关键词Canvas willReadFrequently getContext 2d
    #文件与多媒体
  7. 0907
    浏览器文件与多媒体

    navigator.clipboard.readText 读取剪贴板前应如何提示并处理空内容、权限拒绝与格式不符?

    围绕“navigator.clipboard.readText 读取剪贴板前应如何提示并处理空内容、权限拒绝与格式不符”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确异步拒绝分支与隐私提示。

    核心关键词Clipboard readText 权限 拒绝 空内容
    #文件与多媒体#异步编程#安全
  8. 0908
    浏览器文件与多媒体

    navigator.clipboard.writeText 为什么常在非用户激活或权限被拒时失败?

    围绕“navigator.clipboard.writeText 为什么常在非用户激活或权限被拒时失败”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明安全上下文、权限与瞬时激活要求。

    核心关键词Clipboard API writeText 权限 用户激活
    #文件与多媒体#安全
  9. 0909
    浏览器文件与多媒体

    用 ClipboardItem 写入 text/html 与 text/plain 时,为什么要同时提供纯文本并清洗 HTML?

    围绕“用 ClipboardItem 写入 text/html 与 text/plain 时,为什么要同时提供纯文本并清洗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明富文本消费者差异与 XSS/样式污染风险。

    核心关键词ClipboardItem text/html text/plain 剪贴板 清洗
    #文件与多媒体#安全
  10. 0910
    浏览器文件与多媒体

    copy/cut/paste 事件里的 event.clipboardData 与 Clipboard API 读写有什么分工和限制?

    围绕“copy/cut/paste 事件里的 event.clipboardData 与 Clipboard API 读写”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分事件内同步改本次剪贴板与异步权限 API。

    核心关键词copy paste 事件 clipboardData Clipboard API
    #文件与多媒体#异步编程#安全
  11. 0911
    浏览器文件与多媒体

    拖放自定义数据用 setData 自定义 MIME 时,什么信息不该放,跨窗口读取边界是什么?

    围绕“拖放自定义数据用 setData 自定义 MIME 时,什么信息不该放,跨窗口读取边界是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明拖放数据受同源/会话与粘贴板语义限制且敏感信息可见。

    核心关键词DataTransfer setData 自定义 MIME 拖放 安全
    #文件与多媒体
  12. 0912
    浏览器文件与多媒体

    DataTransfer.items、files、types 在读取拖入内容时分别解决什么判断?

    围绕“DataTransfer.items、files、types 在读取拖入内容时分别解决什么判断”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分 kind/type 探测、文件物化与字符串数据。

    核心关键词DataTransfer items files types 拖入 文件
    #文件与多媒体
  13. 0913
    浏览器文件与多媒体

    HTML 拖放中为什么必须阻止 dragover 默认行为,drop 才大概率触发?

    围绕“HTML 拖放中为什么必须阻止 dragover 默认行为,drop 才大概率触发”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 drop 目标有效性由 dragover/dragenter 默认允许决定。

    核心关键词dragover preventDefault drop 拖放
    #文件与多媒体
  14. 0914
    浏览器文件与多媒体

    拖放交互里 effectAllowed 与 dropEffect 不一致会造成什么视觉与结果错配?

    围绕“拖放交互里 effectAllowed 与 dropEffect 不一致会造成什么视觉与结果错配”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明源端声明能力与目标端实际操作的握手关系。

    核心关键词effectAllowed dropEffect 拖放 光标
    #文件与多媒体
  15. 0915
    浏览器文件与多媒体

    drop 事件拿到 FileList 后,前端应先做哪些尺寸、类型、数量校验再进入解析?

    围绕“drop 事件拿到 FileList 后,前端应先做哪些尺寸、类型、数量校验再进入解析”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 fail-fast 队列与可读错误反馈边界。

    核心关键词drop FileList 文件 校验 size type
    #文件与多媒体
  16. 0916
    浏览器文件与多媒体

    enumerateDevices 为什么在授权前 label 为空,拿到流后应如何刷新设备列表?

    围绕“enumerateDevices 为什么在授权前 label 为空,拿到流后应如何刷新设备列表”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须把标签可见性与活动轨道权限绑定。

    核心关键词enumerateDevices label 权限 devicechange
    #文件与多媒体#安全
  17. 0917
    浏览器文件与多媒体

    为什么不能信任 File.name 与 File.lastModified 做唯一键或新鲜度判断?

    本文解释为何 File.name 与 File.lastModified 不能用于唯一键或新鲜度判断,通过同名校验和时钟修改场景说明其不可信边界,并给出基于内容哈希和服务器元数据的替代方案。

    核心关键词File name lastModified 可信边界
    #文件与多媒体
  18. 0918
    浏览器文件与多媒体

    File 与 Blob 在浏览器中有什么本质区别,什么时候不能只按 Blob 处理?

    本文解释 File 与 Blob 的本质区别:File 是带文件元数据的 Blob 子类。同时说明哪些场景不能只按 Blob 处理——例如需要文件名、最后修改时间或目录相对路径时——并给出判断方法和边界。

    核心关键词File 与 Blob 的区别
    #文件与多媒体
  19. 0919
    浏览器文件与多媒体

    FileReader 的 readAsText、readAsArrayBuffer、readAsDataURL 应如何按消费方式选择?

    围绕“FileReader 的 readAsText、readAsArrayBuffer、readAsDataURL 应如”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按目标格式、编码与内存代价选型。

    核心关键词FileReader readAsArrayBuffer readAsDataURL 选择
    #文件与多媒体
  20. 0920
    浏览器文件与多媒体

    视频全屏应该请求 video 元素还是容器元素,iOS 行为差异为什么要单列?

    围绕“视频全屏应该请求 video 元素还是容器元素,iOS 行为差异为什么要单列”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明元素级全屏 API 与移动端原生控件回退。

    核心关键词requestFullscreen video iOS webkitEnterFullscreen
    #文件与多媒体#容器化
  21. 0921
    浏览器文件与多媒体

    getDisplayMedia 请求屏幕共享时,audio、surfaceSwitching、preferCurrentTab 等约束应怎样向用户解释?

    围绕“getDisplayMedia 请求屏幕共享时,audio、surfaceSwitching、preferCurre”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明屏幕/标签页/窗口音频支持差异与选择器不可完全脚本控制。

    核心关键词getDisplayMedia 屏幕共享 audio constraints
    #文件与多媒体
  22. 0922
    浏览器文件与多媒体

    getUserMedia 的 ideal/exact/deviceId 约束怎样设计降级,OverconstrainedError 后如何重试?

    围绕“getUserMedia 的 ideal/exact/deviceId 约束怎样设计降级,Overconstrain”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确软硬约束优先级与失败后放松约束策略。

    核心关键词getUserMedia 约束降级 OverconstrainedError 重试
    #文件与多媒体
  23. 0923
    浏览器文件与多媒体

    <input type=file> 的 accept 属性能否当作安全校验,失败体验应怎样兜底?

    本文解释 input accept 属性的本质是选择提示而非安全边界,给出其可被绕过的情况。说明如何在前端通过 File.type 和扩展名进行辅助校验,并强调服务端校验的必要性,以及失败时的用户提示和体验兜底。

    核心关键词input file accept 属性 校验
    #文件与多媒体#安全#性能优化
  24. 0924
    浏览器文件与多媒体

    在选清晰度前用 MediaCapabilities.decodingInfo 判断什么,不能拿它保证什么?

    围绕“在选清晰度前用 MediaCapabilities.decodingInfo 判断什么,不能拿它保证什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 supported/smooth/powerEfficient 是估计而非独占资源承诺。

    核心关键词MediaCapabilities decodingInfo 解码 能力
    #文件与多媒体
  25. 0925
    浏览器文件与多媒体

    HTMLMediaElement 的 readyState、canplay、loadeddata、canplaythrough 应分别用来开门什么交互?

    围绕“HTMLMediaElement 的 readyState、canplay、loadeddata、canplayth”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须把元数据、首帧可播、连续播放估计映射到 UI 门槛。

    核心关键词HTMLMediaElement readyState canplay loadeddata
    #文件与多媒体
  26. 0926
    浏览器文件与多媒体

    <video> 的 preload=none/metadata/auto 在移动网络下应如何选择,不能假设什么?

    围绕“<video> 的 preload=none/metadata/auto 在移动网络下应如何选择,不能假设什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 preload 是提示且浏览器可忽略。

    核心关键词video preload none metadata auto
    #文件与多媒体
  27. 0927
    浏览器文件与多媒体

    拖动 HTMLMediaElement.currentTime 时如何用 buffered 与 seeking/seeked 判断卡顿是否来自未缓冲?

    围绕“拖动 HTMLMediaElement.currentTime 时如何用 buffered 与 seeking/se”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 TimeRanges 查询与 seeking 状态机。

    核心关键词video 拖动 buffered 判断缓冲卡顿
    #文件与多媒体
  28. 0928
    浏览器文件与多媒体

    MediaRecorder 选型时如何校验 MIME 支持,start(timeslice) 对 ondataavailable 有什么影响?

    围绕“MediaRecorder 选型时如何校验 MIME 支持,start(timeslice) 对 ondataava”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明容器/编码协商与分片触发时机。

    核心关键词MediaRecorder isTypeSupported timeslice ondataavailable
    #文件与多媒体#容器化
  29. 0929
    浏览器文件与多媒体

    MediaRecorder.stop 后为什么不能立刻用已收 Blob,还要等最后一次 dataavailable?

    围绕“MediaRecorder.stop 后为什么不能立刻用已收 Blob,还要等最后一次 dataavailable”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明异步冲刷尾部数据与 onstop 次序。

    核心关键词MediaRecorder stop dataavailable Blob
    #文件与多媒体#异步编程
  30. 0930
    浏览器文件与多媒体

    Media Source Extensions 中向 SourceBuffer appendBuffer 为什么要等待 updateend,乱序追加会怎样?

    围绕“Media Source Extensions 中向 SourceBuffer appendBuffer 为什么要等”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明 updating 队列、时间轴连续性与 abort/remove 边界。

    核心关键词MSE SourceBuffer appendBuffer 顺序 updateend
    #文件与多媒体
  31. 0931
    浏览器文件与多媒体

    Safari 原生可播 HLS 而其他桌面浏览器常走 MSE 时,播放器封装应如何分流?

    围绕“Safari 原生可播 HLS 而其他桌面浏览器常走 MSE 时,播放器封装应如何分流”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 canPlayType 与 MediaSource.isTypeSupported 双判定。

    核心关键词HLS canPlayType MSE 播放器 分流
    #文件与多媒体
  32. 0932
    浏览器文件与多媒体

    URL.createObjectURL 创建的地址为什么要 revokeObjectURL,泄漏会怎样表现?

    本文讲解 object URL 为何会占住 Blob 内存,通过大图预览实例展示未撤销时的累积过程,说明不同页面生命周期下的影响程度,并给出统一的撤销时机与判断方法。

    核心关键词createObjectURL revokeObjectURL 内存泄漏
    #文件与多媒体
  33. 0933
    浏览器文件与多媒体

    OffscreenCanvas 什么时候该转移到 Worker,转移所有权后主线程还能做什么?

    围绕“OffscreenCanvas 什么时候该转移到 Worker,转移所有权后主线程还能做什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确长任务渲染移出主线程与 canvas 控制权一次性转移。

    核心关键词OffscreenCanvas transferControlToOffscreen Worker
    #文件与多媒体#并发编程
  34. 0934
    浏览器文件与多媒体

    Permissions API query 摄像头/麦克风状态时,name 支持与 change 事件边界是什么?

    围绕“Permissions API query 摄像头/麦克风状态时,name 支持与 change 事件边界是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明权限名支持差异与状态只反映许可不代表设备可用。

    核心关键词Permissions API query camera microphone
    #文件与多媒体#安全
  35. 0935
    浏览器文件与多媒体

    setDragImage 自定义拖拽预览图时,图像来源和 offset 设置有哪些坑?

    围绕“setDragImage 自定义拖拽预览图时,图像来源和 offset 设置有哪些坑”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确图片需已加载/可见约束与热点坐标语义。

    核心关键词setDragImage offset 拖拽预览
    #文件与多媒体
  36. 0936
    浏览器文件与多媒体

    结束摄像头采集时为什么必须 stop 所有 MediaStreamTrack 而不是只移除 video.srcObject?

    围绕“结束摄像头采集时为什么必须 stop 所有 MediaStreamTrack 而不是只移除 video.srcObj”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明轨道停止才释放硬件并触发 ended/inactive 状态。

    核心关键词MediaStreamTrack stop srcObject 摄像头 指示灯
    #文件与多媒体
  37. 0937
    浏览器文件与多媒体

    Web Audio 中 decodeAudioData 得到 AudioBuffer 后,播放采样率与 AudioContext 不一致会怎样?

    围绕“Web Audio 中 decodeAudioData 得到 AudioBuffer 后,播放采样率与 AudioC”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确解码重采样到上下文采样率及 buffer 长度映射。

    核心关键词Web Audio decodeAudioData AudioBuffer sampleRate
    #文件与多媒体
  38. 0938
    浏览器请求与通信 API

    AbortController 取消一个进行中的 fetch 后,Promise 和底层网络连接分别发生什么?

    围绕“AbortController 取消一个进行中的 fetch 后,Promise 和底层网络连接分别发生什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 Promise 以 AbortError 拒绝、浏览器中止连接停止接收数据。

    核心关键词AbortController abort fetch AbortError 连接中断
    #请求与通信 API#异步编程
  39. 0939
    浏览器请求与通信 API

    一个 AbortController 可以控制多个 fetch 吗,这样做有什么实际用途和注意事项?

    围绕“一个 AbortController 可以控制多个 fetch 吗,这样做有什么实际用途和注意事项”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出同一 signal 传给多个请求可批量取消(如路由切换时取消整页请求)、abort 是一次性的。

    核心关键词AbortController 多个请求 批量取消 路由切换
    #请求与通信 API#路由
  40. 0940
    浏览器请求与通信 API

    一个请求同时受用户手动取消和全局超时控制时,如何用 AbortSignal.any() 合并多个信号?

    围绕“一个请求同时受用户手动取消和全局超时控制时,如何用 AbortSignal.any() 合并多个信号”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出任一信号触发即中止且 reason 可溯源。

    核心关键词AbortSignal.any 合并信号 手动取消 超时
    #请求与通信 API
  41. 0941
    浏览器请求与通信 API

    AbortSignal.timeout() 相比手写 setTimeout 加 AbortController 有什么优势(2022 年起主流浏览器支持)?

    围绕“AbortSignal.timeout() 相比手写 setTimeout 加 AbortController 有什”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出一句代码获得自动超时信号且无需手动清理定时器。

    核心关键词AbortSignal.timeout 超时 静态方法
    #请求与通信 API
  42. 0942
    浏览器请求与通信 API

    什么样的跨域 fetch 请求会触发 CORS 预检(OPTIONS)请求,如何避免不必要的预检?

    围绕“什么样的跨域 fetch 请求会触发 CORS 预检(OPTIONS)请求,如何避免不必要的预检”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出非简单方法、非 safelist 头(如 Content-Type: application/json)触发预检及简化为简单请求。

    核心关键词CORS 预检 OPTIONS 触发条件 简单请求
    #请求与通信 API
  43. 0943
    浏览器请求与通信 API

    在 fetch 的 catch 中如何区分请求是被 AbortController 取消还是真的网络失败,为什么要区分?

    围绕“在 fetch 的 catch 中如何区分请求是被 AbortController 取消还是真的网络失败,为什么要区”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出检查 error.name === 'AbortError' 且两类错误应采取不同提示与重试策略。

    核心关键词区分 AbortError 网络错误 catch name
    #请求与通信 API
  44. 0944
    浏览器请求与通信 API

    fetch 的 mode 选项 cors、no-cors、same-origin 分别产生什么行为?

    围绕“fetch 的 mode 选项 cors、no-cors、same-origin 分别产生什么行为”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 no-cors 得到 opaque 响应无法读取内容这一关键陷阱。

    核心关键词fetch mode no-cors opaque 响应
    #请求与通信 API
  45. 0945
    浏览器请求与通信 API

    fetch 默认跨域请求为什么不带 Cookie,credentials 选项各取值有什么区别?

    解释 fetch credentials 的三个值 omit、same-origin、include 的行为,重点回答为什么跨域默认不带 Cookie,并说明 include 与 CORS 响应头的配合要求及常见出错点。

    核心关键词fetch credentials cookie same-origin include
    #请求与通信 API#HTTP
  46. 0946
    浏览器请求与通信 API

    为什么 fetch 收到 HTTP 404 或 500 响应时 Promise 不会 reject,应该怎么处理?

    解释 fetch 为什么对 404、500 不 reject:Promise 只在网络层失败时拒绝,HTTP 错误状态会正常 resolve。给出检查 response.ok 或 status 并手动抛错的标准处理方式与边界。

    核心关键词fetch HTTP 错误不 reject 处理
    #请求与通信 API#异步编程#HTTP
  47. 0947
    浏览器请求与通信 API

    fetch 调用 response.json() 时报错通常有哪些原因,如何健壮处理?

    围绕“fetch 调用 response.json() 时报错通常有哪些原因,如何健壮处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出响应非 JSON、空 body、body 已被消费三类原因与防御性写法。

    核心关键词response.json 解析失败 空响应
    #请求与通信 API
  48. 0948
    浏览器请求与通信 API

    页面即将卸载时 fetch 请求容易中断,keepalive 选项如何解决这类上报丢失问题?

    围绕“页面即将卸载时 fetch 请求容易中断,keepalive 选项如何解决这类上报丢失问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 keepalive 让请求在页面卸载后继续发送及其 64KB 体积限制。

    核心关键词fetch keepalive 页面卸载 埋点上报
    #请求与通信 API
  49. 0949
    浏览器请求与通信 API

    fetch 发送 POST 请求时,FormData 与 JSON body 在 Content-Type 和处理上有什么区别?

    本题对比 fetch POST 请求中 FormData 与 JSON body 的 Content-Type 差异,强调 FormData 无需手动设置头,JSON 必须声明 application/json,并说明服务端解析依据。

    核心关键词fetch POST FormData JSON Content-Type boundary
    #请求与通信 API
  50. 0950
    浏览器请求与通信 API

    fetch 遇到 3xx 重定向时 redirect 选项的 follow、error、manual 各有什么效果?

    围绕“fetch 遇到 3xx 重定向时 redirect 选项的 follow、error、manual 各有什么效果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 manual 在浏览器中得到 opaqueredirect 类型的响应及其限制。

    核心关键词fetch redirect manual opaqueredirect
    #请求与通信 API
上一页
1…1718192021…100
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致