疫情期间都是电话面试,反而效率更高了,一天可以面好多个。
不多说,直接分享具体问题,如果你正在面试,或许用的上。
面试岗位:高级
新东方1面
- 自我介绍(看你做过什么,也看你的表达能力)
- 项目中的一些问题(看你对项目的了解程度)
- setState 机制和后续的处理过程(能用自己的话说清楚的大佬请给留个言)
- koa 中间件机制,为什么选择koa
- koa 和 express 的区别
- 说说对react 单项数据流的理解
- es6的新特性用过哪些
- 介绍下 node 事件机制
- 介绍下迭代器
- 说说 react diff 机制
- 受控组件和非受控组件区别
- http 状态码 有哪些 (301,302,304,后面问了304和强缓存)
- 强缓存 和 expirs 的那个优先级高,为什么
- 跨域的处理方式(jsonp,cors)
- jsonp 的缺陷
- 什时候会触发预检请求
- 强缓存的状态码?
- 301 302 区别
- 对 react hooks 的理解
- 对 fiber 机制的理解
- 单点登录实现原理
- shouldComponentUpdate 作用
- proxy 的作用
- redux 和 mobx 区别,为什么选择 redux
- createElement 和 cloneElement 的区别
- constructor 内为什么需要调用 super
- node require 机制
新东方2面
- 自我介绍
- 对闭包的理解和应用
- 问了几个项目的问题(这个自己看着说)
- 判断两个单链表是否有交叉(这个很简单)
- 求最少硬币数量(动态规划)(这个有点难)
- 未来规划
反思
其实问的题目都没有太难,都是平时工作中用到的。要想回答的好,就需要在日常多思考,多总结,理解其中的每一个细节(有的时候需要调试源码,网上的文章给不了你答案),然后用自己的语言来表达清楚这些技术点。
表达清楚,表达清楚,表达清楚(重要的事儿说三遍),要让自己告别一知半解。
另外就是要对自己所做的项目要进行深度和全面的总结,包括遇到了什么难点,什么启发,为什么这样做,还存在什么缺陷,总之多多益善,打开脑洞。
有些算法很简单,并不需要有什么算法能力就能解决,要大胆的说出来,错了也没关系。再不行就去刷一波level2的题。
后续面经,待我整理出来再发....