前端/移动开发面试题 · 编码实现 · JavaScript
前端/移动开发相关岗位面试题。
共 24989 道真题 · 当前筛选命中 751 道 · 更新 2026-08-05
筛选题目已选:编码实现 · JavaScript
考察点
技术栈
第 581 题请实现一个数组去重的方法,并说明其时间复杂度和空间复杂度。 考察编码实现能力、对去重场景的把握以及复杂度分析第 582 题请实现一个函数柯里化工具,并说明其应用场景。 考察函数式编程中的柯里化概念与实现能力第 583 题请手写实现一个 flat 方法,将嵌套数组展平为指定深度的数组。 考察对数组递归展平的理解与编码实现能力第 584 题请介绍 JavaScript 中数组去重的常用方法。 考察对 JavaScript 数组去重多种方案的掌握与权衡第 585 题有哪些方法可以改变 JavaScript 中 this 的指向?请分别说明它们的用法和适用场景。 考察对 JavaScript this 绑定机制及改变 this 指向方法的掌握第 586 题请手写实现一个简化版的 JSON.stringify 方法。 考察对 JSON 序列化核心逻辑的理解与编码能力第 587 题请实现数组扁平化 flat,并说明递归和栈两种实现方式各自的优缺点。 考察递归与栈实现数组扁平化的能力及对调用栈深度和性能的理解第 588 题请列举 ES6 中数组(Array)新增的常用方法,并说明各自的作用与一个典型使用场景。 考察对 ES6 数组新增方法的熟悉程度及实际应用能力第 589 题你项目中防抖是怎么实现的? 考察防抖的原理、实现方式及在项目中的应用第 590 题写一个动画,把div元素从A点平滑滑动到B点。 考察前端CSS或JS动画实现能力及边界处理第 591 题说说 ES6 中的 Proxy 是什么,并举例说明它的典型用法。 考察对 Proxy 原理及典型应用场景的理解第 592 题请解释JavaScript中的节流(throttle)和防抖(debounce)的区别,并写出一个实现。 考察对高频事件处理策略的理解与编码能力第 593 题你会如何遍历一个数组?请比较不同遍历方式的区别。 考察数组遍历方式的多样性和适用场景第 594 题请解释在JavaScript中,如何将一个包含多个命名形参的对象结构转换为数组,并为每个元素添加一个key属性? 考察对数据结构转换和对象属性操作的理解第 595 题请实现一个深拷贝函数,需要考虑循环引用和多类型对象嵌套的场景。 考察对深拷贝边界场景的理解与编码实现能力第 596 题请说明 JavaScript 中变量作用域的含义,以及它如何影响代码执行。 考察对作用域概念及作用域链的理解第 597 题浅拷贝和深拷贝的区别,怎么实现一个深拷贝? 考察对象复制语义的理解及深拷贝的实现能力第 598 题实现一个add函数,支持链式调用add(1)(2).cacl()输出3,add(1)(2)(3).cacl()输出6,要求一次只传一个参数,且任意时刻可以调用cacl()得到当前累加结果。 考察链式调用、函数柯里化与状态累积的设计能力第 599 题请用 JavaScript 实现一个对象的 set 方法,并补充 TypeScript 类型定义,说明其用途和边界处理。 考察对象属性设置的实现与 TypeScript 类型标注能力第 600 题arguments 是什么类型?如何将它转换为真正的数组? 考察对函数内置对象 arguments 的本质认识及数组转换方法的掌握