前端/移动开发面试题 · 编码实现 · JavaScript
前端/移动开发相关岗位面试题。
共 24989 道真题 · 当前筛选命中 751 道 · 更新 2026-08-05
筛选题目已选:编码实现 · JavaScript
考察点
技术栈
第 301 题请手写 IntersectionObserver 的核心代码,实现对目标元素的可见性监听,并在进入或离开视口时执行回调。 考察 IntersectionObserver 的 API 使用和回调参数理解第 302 题请说明 Promise.all 的作用,并口述如何实现一个 Promise.all。 考察对 Promise 并发控制原理的理解与手写实现能力第 303 题请实现一个防抖函数并说明其适用场景。 考察防抖函数的实现能力与场景判断第 304 题请手写代码,利用 Promise 和 async/await 实现依次输出 1、2、3。 考察对 Promise 链与 async/await 控制异步执行顺序的理解第 305 题请手写一个 JSONP 的实现,并说明其原理和适用场景。 考察对跨域原理、动态脚本加载和回调管理的掌握第 306 题请手写实现一个符合 Promise/A+ 规范的 myPromise,支持 then、catch、finally 以及静态方法 resolve、reject、all、race。 考察对 Promise 核心机制(状态机、异步链、错误处理)的理解与编码实现能力第 307 题请用原生 JavaScript 手写实现 Vue 中 v-if 和 v-show 指令的核心逻辑。 考察对条件渲染与显示切换底层实现的理解及原生 DOM 操作能力第 308 题实现一个 pipe 函数:输入一个 Promise 数组,要求前一个 Promise 的结果作为下一个 Promise 的输入,串行执行;全部成功时返回最终的 Promise,任一失败则直接返回失败的 Promise。要求不使用 async/await。 考察 Promise 链式调用、递归处理异步流程及错误传播第 309 题请手写一个完整版的节流函数,并说明其使用场景。 考察节流的实现原理、边界处理及应用场景理解第 310 题请手写实现一个与 Array.prototype.reduce 行为一致的 reduce 函数。 考察对数组归约核心逻辑、回调参数约定和初始值处理的理解第 311 题请说明 JavaScript 中实现原型继承的常见方法及其区别。 考察对 JavaScript 原型链和继承机制的掌握第 312 题请实现一个函数,用于检测给定依赖关系中是否存在循环引用。数据格式示例:{a:{dependance:['b','c']}, b:{dependance:['d']}},其中每个键代表一个模块,dependance 数组表示其依赖的其他模块。请说明算法时间复杂度,并考虑多种边界情况。 考察图的循环检测、图遍历算法实现与复杂度分析第 313 题手写一个防抖函数并说明其核心逻辑。 考察防抖函数的实现原理及参数传递第 314 题请实现一个深拷贝函数,并说明如何处理循环引用。 考察深拷贝实现与循环引用处理的正确性第 315 题请手写并说明节流(throttle)和防抖(debounce)的实现,并对比它们的使用场景。 考察对高频事件限流机制的理解、手写实现能力与场景辨析第 316 题请解释防抖和节流的概念及区别,并手写实现一个节流函数。 考察对前端高频事件优化手段的理解及编码实现能力第 317 题给定一个员工对象数组,每个对象包含员工姓名、所属部门和薪资,请编写代码:按部门对员工进行信息整合,输出每个部门的部门名称、部门员工姓名列表、员工平均年龄和所有员工薪资之和。 考察对数组分组聚合、对象转换和计算准确性的编码能力第 318 题实现一下 Promise.all() 考察对 Promise 原理、异步并发处理及边界条件的掌握第 319 题请手写实现 Promise.all,并说明它与 Promise.allSettled 的区别。 考察对 Promise 并发控制、错误处理与静态方法语义的理解及编码实现能力第 320 题请解释防抖(debounce)的实现原理,并给出一个简单的代码示例。 考察对防抖概念的理解、实现细节及典型应用场景