快手面试题 · 问题拆解 · JavaScript
快手相关面试题,按最终去重题目聚合。
共 3254 道真题 · 当前筛选命中 13 道 · 更新 2026-08-05
筛选题目已选:问题拆解 · JavaScript
考察点
技术栈
第 1 题请手写实现 JavaScript 的 new 操作符,并解释其内部执行过程。 考察对构造函数调用机制、原型链和对象创建过程的理解第 2 题用户上传多个图片并获得 blob 数组,前端需要调用后端一次只能处理一张图片、且每次返回一个图片 URL 的 API。请设计前端代码,确保返回的 URL 顺序与上传顺序一致。 考察异步并发控制、顺序保持与 Promise 使用第 3 题如何把TypeScript转换为JavaScript? 考察对TypeScript编译流程和工具链的理解第 4 题在上题的场景中,复杂度能否优化为 O(1)?请说明原因。 考察对复杂度下界的理解第 5 题如果你用对象序列化实现去重,m 个元素的时间复杂度是多少?为什么? 考察序列化去重方案的时间复杂度分析第 6 题请解释 Object.__proto__ 和 Object.prototype.__proto__ 分别是什么,以及它们指向哪里。 考察对 JavaScript 原型链与内置对象构造函数的理解第 7 题实现 Promise.all 的异常处理机制 考察对 Promise.all 拒绝语义、错误传播和并发执行的理解第 8 题如何将下划线命名(snake_case)转为驼峰命名(camelCase)?请分别用拆分遍历和正则方式实现。 考察字符串处理、边界情况分析与多种实现思路第 9 题请解释 JavaScript 事件循环中 setTimeout、Promise 和 async/await 的执行顺序,并举例说明。 考察事件循环、宏任务与微任务的理解及实际应用第 10 题手写一个倒计时组件(原生 JavaScript,不使用 React 等框架),并说明其实现要点。 考察原生 JavaScript 定时器、DOM 操作及组件封装能力第 11 题讲讲浏览器的事件循环,能举一些实际的例子吗?哪些 API 是宏任务,哪些是微任务? 考察对浏览器事件循环机制、宏任务与微任务分类及执行顺序的理解第 12 题请用原生 JavaScript 实现两个数组合并、去重和排序,不借助任何现成 API,并说明你的思路。 考察原生 JavaScript 数组处理能力、算法理解与编码规范第 13 题实现一个add函数,支持链式调用add(1)(2).cacl()输出3,add(1)(2)(3).cacl()输出6,要求一次只传一个参数,且任意时刻可以调用cacl()得到当前累加结果。 考察链式调用、函数柯里化与状态累积的设计能力