一面
1. 看代码说输出
```js
function F() {}
Object.prototype = function a() {
console.log('a');
}
Function.prototype = function b() {
console.log('b');
}
var f = new F();
f.a();
f.b();
F.a();
F.b();
```
2. 看代码说输出
```js
var a = 123;
function a() {}
console.log(a);
```
3. new 的原理
4. 手撕:bind 实现
5. 手撕:判断回文串、去掉一个字符判断回文串
二面
1. 看代码说输出,有点忘了,题目有点长…
2. 手撕:正则
```html
文本1文本2{{文本3}}文本4文本5{{文本6}}
替换为:文本1文本2
文本3文本4文本5
文本6 ```
3. 给定一个 html 文件,设计虚拟 dom 解析器(本来要我手写的,后来半天憋不出来说了大概思路就说那这题先过了)
4. 实习
5. 项目中的难点
6. 手撕:异步并发限制
三面
1. webpack 打包流程
2. webpack 优化
3. 手撕:第 k 大的数(快排的变体…脑子瓦特了当时没想起来,面试官原本出的异步并发限制,脑子抽了说上个面试官出过了然后给换的)
应该不止这些,但是想不起来了
二面面试官超级好,一直让我不要紧张,说一面面试官给我的评价很高,心中暗喜,然后三面直接拉了坨大的