缘起:4月初从豚厂提离职开始准备面试,岗位空缺准备招人,看到同事准备的面试题,感觉有点不够完善,就顺手把自己面试的知识点,加上自己认为必要的知识点整理了一下给同事参考。后续朋友感觉我的offer还不错,就让我总结一下面试经验给他参考一下,我就想到了离开之前总结的这个,问前同事发我一下,又补充了点发出来供参考。
JS基础
对事件循环的理解
什么是事件委托?解决了什么问题
Promise的原理
异步代码执行顺序题
跨域问题,以及有哪些解决方案
webWorker & serviceWorker
编程题:实现bind、call、apply 使用es5代码实现
编程题:实现debounce、throttle函数
React
setState是同步的还是异步的?setState之后做了什么?
对fiber了解吗?
hooks了解吗?解决了什么问题?
编程题:尝试分别使用Hoc和hooks+render props各实现一个计时器
Redux
对redux的了解(可联系hooks的useReducer)
编程题:实现compose
Vue(React方向可选)
双向绑定的原理是什么?怎样实现一个双向绑定?
编程题:实现一个简易事件发布订阅模型
Hybrid
对React & Weex & 小程序 & jsbridge的了解
jsbridge的实现方式
express/koa/eggjs
有用过koa/eggjs吗?平常做过哪些和业务无关的功能(日志、404、ua、urlQueryPaser等)简要介绍一下
koa的中间件机制,怎么实现的?(和redux的compose类似)
koa如何解决跨域问题?
eggjs怎么使用koa/express的中间件?
webpack
平时会用到webpack的哪些功能?
了解webpack的原理/工作流程吗?
webpack的loader的工作原理
HMR的实现原理/工作流程?
怎么精简包体积和打包速度?
算法
实现一个平均算法复杂度小于等于O(NlogN)的排序算法
备:实现一个算法,统计一个数组的中位数(面试原题)
备:矩阵(二维数组)旋转,顺/逆
备:实现二叉树非递归的后序遍历(面试原题)
备:同花顺的识别,0-51 分别代表一副扑克牌的四种花色的A~K,给一个长度大于5的数组,判定中间是否有同花顺(面试原题)
网友评论