喜马拉雅面试题 · 技术原理 · JavaScript
喜马拉雅相关面试题,按最终去重题目聚合。
共 357 道真题 · 当前筛选命中 20 道 · 更新 2026-08-05
筛选题目已选:技术原理 · JavaScript
考察点
技术栈
第 1 题请分别说明 setTimeout 与 setInterval 的作用、使用场景及注意事项。 考察对 JavaScript 定时器机制的理解与应用差异第 2 题请列举并说明前端性能优化的常见方法。 考察前端性能优化知识的广度与关键机制理解第 3 题前端中如何阻止事件冒泡? 考察对DOM事件流和事件处理API的理解第 4 题var、let、const 之间有什么区别? 考察 JavaScript 变量声明的作用域、提升和可变性掌握第 5 题请谈谈你对 JavaScript 中 Promise 的理解。 考察对 Promise 核心机制、使用场景与局限性的掌握第 6 题讲下防抖如何实现 考察前端性能优化中防抖函数的实现原理与代码能力第 7 题请列举 JavaScript 数组的常用方法,并说明它们的用途和区别。 考察对 JavaScript 数组常用 API 的掌握程度及表达能力第 8 题typeof null 为什么返回 object? 考察 JavaScript 基础类型判断机制与历史遗留缺陷的根因理解第 9 题与 Promise 相比,async/await 有哪些优势? 考察对 async/await 语法糖和可读性优势的理解第 10 题有两个嵌套的div,外层和内层div都绑定了click事件。点击内层div时,两个事件触发的顺序是怎样的?请从事件冒泡(event bubbling)和事件捕获(event capturing)的角度解释,并说明事件委托(event delegation)的基本原理。 考察事件传播机制(冒泡与捕获)及事件委托的理解第 11 题请分析下面代码的输出结果,并说明原因:const arr=[1,2,3]; arr.forEach(function(item){ console.log(item); arr.push(item); }); 考察对数组遍历过程中修改数组行为边界的理解第 12 题如果要让你自己封装一个Promise你会怎么做 考察对Promise核心机制与异步流程控制的理解第 13 题判断数据类型有哪些办法?分别讲讲 typeof 和 instanceof 的区别。 考察 JavaScript 类型判断方法的正确使用与边界理解第 14 题请介绍一下前端实现异步的几种方式,比如 Promise 和 async/await 的用法区别。 考察异步编程的常用写法与实际应用第 15 题请分析下面代码的输出结果,并说明原因:function createCounter(){let count=0;return function(){count++;return count;};} const counter=createCounter(); console.log(counter()); console.log(counter()); console.log(counter()); 考察对闭包机制及词法作用域的理解第 16 题请介绍 JavaScript 中的定时器,包括其特性与常见用途。 考察对 JS 异步定时机制的理解与工程实践第 17 题请解释 JavaScript 中 call 和 apply 方法的区别及使用场景。 考察对函数调用方式与 this 绑定的理解第 18 题请解释在编程中 == 和 === 的区别,并说明各自的适用场景。 考察对类型转换和严格比较的理解第 19 题JavaScript 中有哪些常见的异步编程方式? 考察对异步编程演进脉络和 API 的掌握第 20 题在 JavaScript 数组中,如何在开头添加一个或多个元素? 考察对数组原生方法 unshift 的掌握与理解