```
阿里這份面試涉及到 很多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 (粘性頁腳)