一面60min
1.npm安装包之后webpack如何处理的
直接告诉他不会,然后跳转下一题。
2.treeshaking了解吗(讲了purgecss相关)
purgecss的提取器,ast规则和兜底策略
3.你项目的性能优化(大招秒了)
传输方面,sw,http,资源方面,js和html方面
4.基础题css
flex和tailwindcss结合
5.写loadsh的get方法
对于数组内容需要正则,没写出来这部分。
6.promiseall(迭代器加分)
问这个问题一定给我上迭代器!
7.亮色模式暗色模式
mutationobserver,还引出了微任务,promise A+
8.ssr了解吗(大招秒了)
nextjs文件路由原理,服务端渲染源码理解,水合源码理解
其他就是项目相关问题
二面60min
上来问:你觉得一面有没有表现不好的地方
直接答:没有(坚定且自信即可,管他有没有呢)
前半程很像美团一面问八股,没记录
后半程针对项目问
1.trpc是什么,如何实现,batchLink如何做的
技巧:我没看过源码,面试官也没看过源码,那我就开始现编源码,我的思路就是标准答案哈哈。直接用类似reactquery的源码和react合成事件源码思路解答的,面试官很满意,因为这俩他懂。他说用面试官懂的内容给他科普不懂的新技术,很加分。虽然我没看过源码,但交给我让我设计估计也差不多,合理啊很合理。
最后给了一道三数之和
三面40min
特别灵活,应该是看了我面评,八股部分我讲到20%就开始换知识点了,根本没机会连大招,而且知识点跨度非常大。
有几个概念没答好,什么抽象类,面向切片编程
其他没问题,问得太散了没法记录了。
编程题又考了一遍lodash的get
这次数组部分我也写出来了,而且使用了正则和非正则两种方式,正则是lodash官方实现,非正则是我思考出来的小技巧。
三面风格就是:你会的我不问