最近作为前端面试官,面试了一些候选人。面试题并不难,但是会根据候选人的能力以及回答再次进行深入。面试的初衷不是难倒候选人,而是营造轻松和谐的氛围,彼此在技术领域进行探讨。我更看重候选人的沟通能力,技术基础,以及思考问题的方式。
下面详细说一下我的面试流程以及必问的一些问题。
一、自我介绍
这部分考察候选人的沟通能力,如果岗位对英语有要求,我还会和候选人用英文进行沟通或要求候选人用英文自我介绍,当然候选人没有准备英文自我介绍,我会告诉他下一轮的面试准备一下。 根据候选人的简历,会问一下离职原因,如果有必要的话。
二、项目经历
这部分会简单问一下候选人做过的项目,然后会提问:
- 在项目中主要负责什么模块?介绍模块Feature,Flow。
- 遇到了什么问题,怎么解决的?
- 有做过什么优化?优化后有什么outstanding的变现?
相比较问技术栈而言,我更喜欢问这一部分,让候选人把他最闪光的点告诉我。不仅能考察候选人的沟通能力,还能看出候选人的思考方式,个人积累。
三、HTML + CSS
- 盒模型
- Flex / Grid 布局
- 移动端开发
- 浏览器输入URL到页面呈现做了什么,越详细越好
- 浏览器缓存
四、JS / TS
- 原型链、闭包、作用域、变量提升、暂时性死区、参数传值
- ES6+ 系列
- 深拷贝,拷贝函数,解决循环调用
- 手动实现系列,call apply bind promise
- TS 相关 封装,Decorator
五、框架部分
- 生命周期,框架原理,MVVM,双向绑定,依赖收集
- 组件通信
- 状态管理
- webpack配置相关
- git flow
六、回答候选人
这一部分通常回答候选人询问的一些岗位问题,看似简单,但是在我看来,如果候选人问出一个好问题,胜过答出十个小问题。
七、结果反馈
我会将面试结果会反馈给HR,由HR告知候选人。