字节跳动面试题 · JavaScript
字节跳动相关面试题,按最终去重题目聚合。
共 3252 道真题 · 当前筛选命中 71 道 · 更新 2026-08-05
筛选题目已选:JavaScript
考察点
技术栈
第 41 题如何将一个URL字符串解析为对象,并提取其中的协议、主机名、端口、路径和查询参数? 考察URL解析的方法、边界情况处理及数据提取能力第 42 题在前端 JavaScript 中,判断一个变量类型都有哪些常用方法? 考察 JavaScript 类型判断的多种实现方式及各自适用场景第 43 题解释一下什么是“暂时性死区”,为什么let声明变量之前不能访问 考察JavaScript作用域与变量生命周期机制的理解第 44 题给定包含同步任务与微任务(Promise)的 JavaScript 代码,请判断其执行顺序并说明原因。 考察事件循环中同步任务、微任务与宏任务的执行顺序理解第 45 题请实现一个深拷贝函数,并考虑处理循环引用、Set、Map、Date 等特殊数据结构。 考察对深拷贝实现细节的理解、边界处理能力和编码能力第 46 题页面上有一个全局变量 a 被 onclick 事件打印,如果在浏览器控制台执行 delete a 删除该变量,再点击按钮会报错吗?为什么? 考察全局变量、对象属性和执行上下文的内存引用关系第 47 题请实现一个名为 LazyMan 的链式调用类,支持按调用顺序执行任务(包括 sleep 延迟),例如 LazyMan('Tom').sleep(2).eat('apple') 应先输出 'Hi, Tom',等待 2 秒后输出 'Eat apple'。要求体现异步编程和链式调用的设计。 考察异步任务队列、链式调用和定时器控制能力,以及解决经典面试题 LazyMan 的实现思路第 48 题请讲解 JavaScript 中作用域的类型及其特点。 考察对 JavaScript 作用域机制的理解与表达能力第 49 题Promise.all 和 Promise.allSettled 的区别 考察对Promise并发控制方法的理解,包括快速失败与全量结果处理第 50 题请分析JavaScript中同步任务与异步任务(包括宏任务和微任务)的执行顺序,并举例说明。 考察对事件循环、同步异步执行顺序及宏任务微任务机制的理解第 51 题?.的作用是什么?请说明可选链操作符的用途。 考察对 JavaScript 可选链操作符的理解及其使用场景第 52 题请实现一个工具函数,接收一个 Promise,如果它在 1 秒内未完成则抛出异常,否则返回其正常结果。 考察异步编程、超时控制与错误处理能力第 53 题实现一个 parseQuery 函数,输入一个 query 字符串(例如:?name=Alice&age=20&city=Beijing),返回一个对象 {name: 'Alice', age: '20', city: 'Beijing'}。如果 query 参数中出现重复的 key,value 变成数组。 考察字符串解析、边界处理和编码解码能力第 54 题请写出下面代码的输出顺序,并解释宏任务与微任务的执行机制。 考察对JavaScript事件循环、宏任务与微任务执行顺序的理解第 55 题Promise.race() 的第一个失败了怎么办,会执行第二个吗,返回结果是什么? 考察对 Promise.race 竞速语义、错误处理和返回结果的理解第 56 题时间分片是指什么? 考察对前端渲染性能优化中时间分片概念的理解第 57 题强缓存的 JS 文件在过期时间内内容变化时,如何解决客户端拿到旧版本的问题? 考察前端缓存策略与版本更新机制的理解第 58 题如果我动态用 innerHTML 插入一段 <script>,它会执行吗?和用 createElement 的方式插入有什么不同? 考察对 DOM 动态注入脚本执行机制与安全性的理解第 59 题请用 JavaScript 实现二叉树的编码,并说明如何进行遍历。 考察二叉树的基本数据结构实现与遍历算法掌握第 60 题实现 new 操作符的步骤? 考察对 new 操作符底层机制的理解与手动实现能力