本章导读

本章内容主要分为三大类:实现类设计类手写题

1. 实现类:手写原生JS核心功能 (Polyfill)

这类题目要求你在不使用原生函数或现代语法糖的情况下,手动实现它们。这是对你JS底层知识最直接的考验。

  • 常见题目:
    • 实现 call, apply, bind:考察 this 指向、函数调用和参数处理。
    • 实现 new 操作符:考察原型链、构造函数和实例创建过程。
    • 实现 Promise:考察异步编程、事件循环和状态管理,是面试的绝对重点。
    • 实现 instanceof:考察原型链的查找机制。
    • 实现深拷贝 (Deep Clone):考察数据类型判断、递归以及循环引用的处理。

2. 设计类:构建前端系统与模块

这类题目会给你一个相对开放的需求场景,要求你设计出一套完整的技术方案。它不仅考察你的代码能力,更看重你的架构设计思维。

  • 常见题目:
    • 设计一个图片懒加载/预加载方案:考察性能优化、DOM 操作和浏览器API的运用。
    • 设计一个前端路由 (Router):考察 Hash 与 History API、状态管理和组件化思想。
    • 设计一个发布/订阅模式 (EventEmitter):考察设计模式、模块解耦和事件管理。
    • 设计一个无限滚动 (Infinite Scroll):考察性能、事件节流/防抖和用户体验。
    • 如何设计一个前端监控系统(SDK):考察错误捕获、性能监控和数据上报。

3. 手写题:通用工具函数与算法

这类题目通常是日常开发中频繁使用的工具函数,或者是一些经典算法在前端场景下的应用。它们考察你解决具体问题的能力和代码的健壮性。

  • 常见题目:

    • 实现函数节流 (throttle) 与防抖 (debounce):考察高阶函数、定时器和性能优化。
    • 实现一个柯里化函数 (curry):考察函数式编程思想和参数处理。
    • 实现数组扁平化 (flatten):考察递归、迭代和数组API的熟练度。
    • 实现一个模板引擎:考察字符串处理、正则表达式和编译原理的初步应用。
    • 用 reduce 实现 map, filter:考察对高阶函数的深刻理解。

异步编程

Promise

问题名称 创建时间 最后更新时间
实现 Promise 2025-07-03 2025-07-03
实现 Promise.all 2025-07-03 2025-07-03
实现 Promise.race 2025-07-03 2025-07-03
实现带重试功能的 Promise 2025-07-03 2025-07-03
实现带并发限制的 Promise 2025-07-03 2025-07-03

跨域通信

问题名称 创建时间 最后更新时间
JSONP 2025-07-03 2025-07-03

核心原理模拟

This 指针

问题名称 创建时间 最后更新时间

操作符

问题名称 创建时间 最后更新时间

编程范式应用

函数式编程

问题名称 创建时间 最后更新时间
函数柯里化 2025-07-03 2025-07-03
实现 compose 方法 2025-07-03 2025-07-03
实现 before 方法 2025-07-03 2025-07-03

设计模式

问题名称 创建时间 最后更新时间
EventEmitter 2025-07-03 2025-07-03

通用函数工具

性能优化

问题名称 创建时间 最后更新时间
防抖 2025-07-03 2025-07-03
节流 2025-07-03 2025-07-03
实现函数缓存 2025-07-03 2025-07-03

数据处理

问题名称 创建时间 最后更新时间
深拷贝 2025-07-03 2025-07-03
实现数组 flatten 方法 2025-07-03 2025-07-03
实现 lodash.get 2025-07-03 2025-07-03

其他

问题名称 创建时间 最后更新时间
实现 Apply 方法 2025-07-03 2025-07-03
实现 Bind 方法 2025-07-03 2025-07-03
实现 Call 方法 2025-07-03 2025-07-03
实现 InstanceOf 操作符 2025-07-03 2025-07-03
实现 New 操作符 2025-07-03 2025-07-03
巧记 Call, Apply, Bind 的实现 2025-07-03 2025-07-03
Copyright © Jun 2025 all right reserved,powered by Gitbook该文件修订时间: 2025-07-03 17:35:09

results matching ""

    No results matching ""

    results matching ""

      No results matching ""