前端面试系列 - 手写代码
💡
原文中文,约16000字,阅读约需38分钟。
📝
内容提要
无论是国内还是国外互联网公司前端面试流程中,都会有要求白板代码过程,面试官会根据岗位及候选人情况出相应难度的基础题或leetcode算法题。手写代码更多的是考察候选人的思路和现场解决问题的能力,也能从一些细节中看出候选人的代码风格。本文记录了2021-22前端面试碰到的手写代码题以及解题思路,包括基础题、Polyfill、业务相关题目和leetcode题目。
🎯
关键要点
- 国内外互联网公司前端面试通常要求白板代码,考察候选人的思路和现场解决问题的能力。
- 手写代码考察候选人的代码风格和解决问题的能力,建议不死记题目和答案。
- 记录了2021-22前端面试的手写代码题,包括基础题、Polyfill、业务相关题目和leetcode题目。
- 基础题包括实现curry add函数,考察函数柯里化的理解和实现。
- 数据结构扁平化转换题目,考察递归和数据结构的理解。
- 观察者模式和eventBus是设计模式的考察内容。
- 给数字加千分号的题目,考察字符串和数组的处理能力。
- 交换两个变量值的题目,考察对ES6解构赋值的理解。
- 实现myTypeOf函数,考察对JavaScript数据类型的掌握。
- HardMan方法考察对class、Promise、setTimeout等的使用。
- 实现简单的flat函数,考察对数组的处理能力。
- 实现Promise.allSettled,考察对Promise的理解。
- 实现lodash的_.get方法,考察对对象路径的解析和处理。
- 实现简单的Promise,考察Promise的基本用法。
- 实现filter方法的polyfill,考察对数组方法的理解。
- 业务代码题目包括parse和render方法的实现,考察对字符串和对象的处理能力。
- 实现红绿灯的交替亮灯,考察对setTimeout和Promise的使用。
- 实现url参数获取并转换,考察对字符串解析和对象构建的能力。
➡️