受疫情影响,大家的日子都不好过,没有什么可以帮到大家的,就写了这篇前端面试总结,希望能帮到你
简历
首先,关于简历还是蛮重要的,没有错别字、语句通顺是最基本的要求
然后最关键的一点,就是不光要写做了什么,还要写上可量化的效果,比如“提升了效率”,可以改成“效率提升了50%”,要写阿拉伯数字,不要写百分之五十,这样不直观
可以参考阮一峰老师的一篇文章,写的非常好 https://mp.weixin.qq.com/s/Gk19erLsvUskRFublKS8JA
简历模板的话,我一个朋友写了一个前端简历生成器,大家可以免费使用 https://github.com/jeoy/its-me
面试
对于有经验的前端开发来说,技术面试主要从两个角度来考察,基础知识+框架原理(项目经验)
基础知识
javascript
- 闭包 (几乎必考)
- 原型链 (几乎必考)
- this指向
- Promise (基础的会问使用,高级的会让手写Promise,或者实现Promise的某个api,像Promise.all等)
- 事件循环 (几乎必考)
- 跨域 (跨域的方法,往深了会问为什么jsonp、iframe可以实现跨域)
- xss攻击、xsrf攻击(场景、怎么防范)
- cookie、session
- 重排、重绘
- 深拷贝
- 防抖、节流
- ES6的一些新特性使用
css
- position的值 (经典中的经典了,relative和absolute都相对谁定位,这种就是属于权重不高,但是必须得会的)
- 垂直居中的方式有几种 (这个大概说几种,同属于权重不高,但是必须得会的)
- animation和transition的区别 (现在估计很少问了,但是得会)
- BFC (有点难度,必考)
- 几种css单位
算法
算法的话,我觉得还是刷刷leetcode比较好,我之前遇到过一个栈结构的题,得亏刷leetcode的时候遇到过
- 冒泡排序、选择排序 (感觉现在考的不多,但是还是掌握了比较好)
- 树 (遍历二叉树呀,找二叉树的最大深度呀,,,感觉现在考查树的算法题比较多,还能考察到一个能力就是递归)
计算机网络
- 哪几层网络协议
- http和https的区别
- 状态码 (总会考几个的)
基础差不多就上边这些,由于面试时间限制并不会全考,但是这些算是必会的吧
框架原理
框架原理部分的考试重点,主要根据你的简历所体现出的技术栈
react
- vitrual dom
- diff原理 (往深了会问 fiber)
- hooks使用 (建议看一遍官方文档)
- mvvm
- 生命周期
- shouldComponentUpdate (react性能优化相关)
- setState是同步还是异步
- 受控组件、非受控组件 (参考官方文档,很全面)
- React context (使用场景)
- 接口请求为什么放到 componentDidMount 周期里
- react常见性能优化方式
- react合成事件及事件代理
webpack
基本不会考如何配置,都是考某个插件的原理,如下:
- webpack-hot-middleware 原理 (EventSource)
- webpack-dev-server 原理
node
- 事件循环机制 (如果简历里写了node,必考)
- GC机制
结尾
现在大概能想到这么多,时间有限答案就没整理,如果大家呼声高的话,我后续更新答案,想看答案就点赞一下,哈哈哈~~~