```
阿里这份面试涉及到 很多nodejs后端的知识,我会略过,因为我他妈也不熟悉啊。
```
1\. 使⽤过的koa2中间件
答:*用个j8。*
2\. koa-body原理
> 答:*用个j8。*
3\. 介绍⾃⼰写过的中间件
>答:*用个j8。*
4\. 有没有涉及到Cluster
>答:*用个j8。*
5\. 介绍pm2
> 答:这个的话,了解不深,只是用过,用于在服务器端上守护nodejs的进程,能控制内存使用,及时重启,也能在服务器报错的时候,自动重启,常用的命令有,pm2 list,pm2 restart xx ,pm2 start xx -name
>
6\. master挂了的话pm2怎么处理
> 不知道,重启?
7\. 如何和MySQL进⾏通信
> 操,这是前端问题吗
8\. React声明周期及⾃⼰的理解
> react的生命周期,一般用class组件的话:
> constructor():这个阶段会完成react组件数据的初始化,但是需要注意的,不要忘记super()
> componentWillMount(): componentWillMount()一般用的比较少,它更多的是在服务端渲染时使用。它代表的过程是组件已经经历了constructor()初始化数据后,但是还未渲染DOM时。
> componentDidMount(): 组件第一次渲染完成,此时dom节点已经生成,可以在这里调用ajax请求,返回数据setState后组件会重新渲染
> componentWillUnmount (): 组建销毁,一般有定时器什么的,事件监听什么的,记得这里clear一下
> componentWillReceiveProps
> shouldComponentUpdate
> * 主要用于性能优化(部分更新)
>* 唯一用于控制组件重新渲染的生命周期,由于在react中,setState以后,state发生变化,组件会进入重新渲染的流程,在这里return false可以阻止组件的更新
>* 因为react父组件的重新渲染会导致其所有子组件的重新渲染,这个时候其实我们是不需要所有子组件都跟着重新渲染的,因此需要在子组件的该生命周期中做判断
> componentWillUpdate
> componentDidUpdate
> render()
> 赠送vue生命周期:
> 创建前后、挂载dom前后、更新前后、摧毁前后、keep了有一个actived ,还有一个监听子组建报错的什么钩子函数 忘了
9\. 如何配置React-Router
10\. 路由的动态加载模块
11\. 服务端渲染SSR
> 页面上的内容是通过服务端渲染生成的,浏览器直接显示服务端返回的html就可以了。一般框架用 next、nuxt,写的时候注意对应的生命周期不同。
12\. 介绍路由的history
13\. 介绍Redux数据流的流程
14\. Redux如何实现多个组件之间的通信,多个组件使⽤相同状态如何进⾏
管理
15\. 多个组件之间如何拆分各⾃的state,每块⼩的组件有⾃⼰的状态,它们
之间还有⼀些公共的状态需要维护,如何思考这块
16\. 使⽤过的Redux中间件
17\. 如何解决跨域的问题
18\. 常⻅Http请求头
19\. 移动端适配1px的问题
20\. 介绍flex布局
21\. 其他css⽅式设置垂直居中
22\. 居中为什么要使⽤transform(为什么不使⽤marginLeft/Top)
23\. 使⽤过webpack⾥⾯哪些plugin和loader
24\. webpack⾥⾯的插件是怎么实现的
25\. dev-server是怎么跑起来
26\. 项⽬优化
27\. 抽取公共⽂件是怎么配置的
28\. 项⽬中如何处理安全问题
29\. 怎么实现this对象的深拷⻉
- 一线大厂前端笔试真题解析
- 前
- 1、阿里(29问)
- 2、网易(26问)
- 3、滴滴(28问)
- 4、今日头条17问
- vue常问
- webpack常问
- 其他常问
- vue双向绑定、响应式原理
- js事件循环
- 页面性能优化,打包优化
- vue的diff算法
- url输入流程
- 深拷贝
- new、原型、继承方式、symbol、闭包内存泄漏处理、判断对象原型归属
- 观察者和订阅发布区别
- 封装过哪些hooks
- ele组件二次封装啥的
- 算法常问
- 几种排序
- 二分查找
- 反转二叉树、先中后序遍历、深度/广度遍历
- 数组去重
- 统计一个字符串出现最多的字母
- 斐波那契数列
- 速度创建1-100的数组
- 反转单向链表
- 无重复字符的最长子串
- 一份面试题
- css常问
- 画三角形
- flex
- 实现sticky footer (粘性页脚)