全程1个小时,项目问了20分钟,做题做了10分钟,基础知识问了半个多小时,内容很多,一面顶两面,主要考察基础知识扎不扎实
1.项目相关 (18min)
- 首先问了我在字节做的项目是什么样子的,有什么样的交互模式,实现了什么样的功能,为什么有这个项目
- 问了项目带给我的成长有哪些,我从项目流程角度和技术角度两个方面阐述了一下
- 细问了项目里面虚拟列表是怎么做的,为什么要用这个技术,背景是什么,原理是什么,为什么不用其他的方案。我谈到了ROI。
2.做题 (10min)
- 最长不重复子串长度,说思路(滑动窗口)
- 手写instanceof,说原理
3.基础知识(35min,每个知识点都挖得很细,我也讲得很多)
- 事件循环,宏任务微任务,异步任务,一道代码看输出
- 怎么理解js中的单线程和协程
- es6的新特性有哪些,let/const,箭头函数,promise,生成器,Symbol,解构赋值。。。。 (问的很细,要说出为什么要引入这些新特性)
- https,单独使用对称加密和非对称加密的问题,安全握手的流程是怎么样的
- 对react的diff算法的理解,我从diff算法的执行时机,执行流程,三大规则,key属性的应用来阐述了一下
- 项目中组件间通信是怎么实现的,答状态管理框架和props
- 原型和原型链
面完感受
内容很多,我在这里只能把大概的知识范围提供给大家,但大家怎么回答,回答哪些,回答得深不深入,仔不仔细都要靠各位自己了。面试官会追问知识点的细节和原因,会打断你然后问很多为什么,然后也会根据你的回答去提新的问题。真的一面顶两面,之前从来没有说过这么多话。整体难度不大,但考察范围很广,基础知识必须牢固。
全部评论
(3) 回帖