前端/移动开发面试题 · 编码实现 · JavaScript
前端/移动开发相关岗位面试题。
共 24989 道真题 · 当前筛选命中 751 道 · 更新 2026-08-05
筛选题目已选:编码实现 · JavaScript
考察点
技术栈
第 561 题给定一个用短横线连接的字符串(如 "foo-bar-baz"),请编写代码将其转换为驼峰形式(如 "fooBarBaz"),要求使用分割和 reduce 拼接的方式。 考察字符串处理、数组方法运用与代码实现能力第 562 题请实现一个防抖函数,要求支持有参数、无参数两种调用方式,并支持先执行一次再开始防抖(即 leading edge 触发)。 考察防抖原理、参数透传与先执行后防抖的边界处理第 563 题以箭头函数为例,说明 Babel 将 ES6 语法编译成 ES5 的具体过程。 考察对 AST 转换过程的具体理解和典型语法降级实现第 564 题如何自己实现let和const 考察对块级作用域与变量声明语义的深入理解及实现能力第 565 题请手写一个防抖函数,并说明其适用场景。 考察防抖函数的实现原理、闭包应用与场景判断能力第 566 题如何在原生 JavaScript 中监听输入框的实时变化? 考察原生事件监听与实时输入处理能力第 567 题let、const、var有什么区别? 考察 JavaScript 变量声明关键词的作用域、提升与赋值规则第 568 题请手写一个深拷贝函数,需要考虑数组、对象、循环引用和特殊类型。 考察对JavaScript引用类型复制、递归和边界情况的掌握第 569 题ES6 熟悉吗,forEach 和 map 有什么区别? 考察对数组迭代方法语义、返回值及适用场景的理解第 570 题请实现一个自定义 Hook useFetch,要求支持 loading、error、data 状态,并在请求完成后安全更新状态。 考察 React 自定义 Hook 的封装能力、异步状态管理与内存泄漏规避第 571 题async/await的优点有哪些? 考察对异步编程模型的理解及其优势第 572 题请你用 JavaScript 实现对一组对象数组按照某个字段进行排序,并说明排序的稳定性。 考察数组对象排序的实现能力与对排序稳定性的理解第 573 题请手写实现 debounce(防抖)和 throttle(节流)两个函数,并说明两者的区别和适用场景。 考察对高频触发场景下异步控制的掌握,以及防抖与节流实现细节与原理第 574 题请手写一个防抖函数 debounce,并说明它和节流的区别。 考察对防抖、节流原理的理解及手写实现能力第 575 题请说明JavaScript中数组的concat()方法的作用及其常见用法。 考察对JavaScript数组拼接方法API的理解与应用第 576 题分别用递归和栈方法实现数组扁平化,输入[1, [2, [3, 4], 5], 6],输出[1, 2, 3, 4, 5, 6]。 考察递归与栈两种算法思路的实现能力及对数组处理的熟悉度第 577 题请解释深拷贝与浅拷贝的区别,并说明如何实现深拷贝;如果使用递归实现,需要注意哪些问题?另外,如果使用 Map 结构存储已拷贝对象以避免循环引用,这个 Map 应该存放在哪里? 考察深拷贝实现、递归风险及循环引用处理第 578 题类数组怎么转成数组 考察数组方法掌握与类数组转换技巧第 579 题请编写一个JavaScript函数,实现一个倒计时计时器,能够显示剩余的天、时、分、秒。 考察JavaScript日期计算、定时器使用及DOM更新能力第 580 题请解释 JavaScript 中 == 和 === 的区别,并说明在实际开发中应如何选择。 考察对 JavaScript 宽松相等与严格相等机制的理解和最佳实践