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