前言
關於前端面試,及面試題目,我之前有很多文章總結過,可以在右側搜索面試,進行查找。其實面試中可以問的問題很多,最近幾年,我也面試過很多工作2-4年的前端,我一般會抓住他們做的項目,進行更詳細的追問。所以,初中級前端面試的時候,除了掌握基礎知識之外,項目中用到的技術要理清楚,假如你項目中用到的技術,問的時候卻一問三不知,那麼,基本上就會pass掉了。針對比較資深或者高級的前端面試,可能和初中級面試會有些不一樣,當然,針對資深的前端,可能聊得東西更深,更廣一些!這篇文章簡單聊聊針對中高級前端我們要聊的話題。
一、前端工程化
關於前端工程化,是一個很大的命題,你在知乎上搜索前端工程化,會有一些文章,這些文章可以幫助你理解前端工程化。
說一下我理解的前端工程化吧,前端工程化不單單包括前端的模塊化、組件化、自動化,還包括前端性能優化,前端目錄規劃,前端規範化,自動化測試,發佈等等一系列知識。這裏我就不一 一介紹了,感興趣的也可以去讀讀張雲龍的文章:
更多面試題和答案,請微信查看
二、 前端設計模式
其實這裏可以作爲一篇文章來書寫了,不過,假如你不瞭解,可以網上搜了一下前端設計模式,關於設計模式也是有不少文章的。
三、 前端安全性問題
當然,這個是老的話題,有的在初中級前端面試中也會提及到。但是在中高級面試的時候,你要說出前端安全性問題防禦,及前端常見安全性問題的攻擊原理是什麼。
1、xss跨站腳本攻擊(原理、如何進行的、防禦手段是什麼,要說清楚)
2、CSRF跨站請求僞造(如何僞造法?怎麼防禦?等等都要說清楚)
3、sql腳本注入(注入方式,防禦方式)
4、上傳漏洞 (防禦方式)
四、 跨域問題的處理
關於跨域,我前面很多文章也提及了,瀏覽器跨域訪問解決方案,這篇文章可以看一下。
另外,面試官可能會問及 cookie跨域及localStorage跨域問題,關於這一點,也可以看我之前剛剛寫的文章:http://www.haorooms.com/post/kuayu_localstorage_cookie
五、前端數據加密
關於前端加密方式及前端加密,這個我在項目中實際用的也不多,微信小程序中可能會用到,
我很久很久之前也寫過類似的文章,請看:javascript用戶密碼加密,js密碼加密
七、 知識點問題介紹
上面問題可能是前端通用問題吧,下面的問題可能都是相關知識點的,下面簡單總結一下:
1、 webpack相關
這個考察你對webpack的理解是使用程度。
例如可能考察如下知識點:
1、hash(contenthash, chunkhash)
2、多頁面配置
3、發佈上線流程
4、如何加快打包速度,減少打包體積
5、和其他工具的區別(grunt,glup,rollup,parcel,Browserify)
2、狀態管理器相關
主要是flux、redux、vuex等
主要問題如下:
一、flux、redux、vuex數據流向,(例如:點擊按鈕觸發到狀態更改,數據是如何流向的?)
例如flux:
1、用戶訪問 View
2、View 發出用戶的 Action
3、Dispatcher 收到 Action,要求 Store 進行相應的更新
4、Store 更新後,發出一個"change"事件
5、View 收到"change"事件後,更新頁面
二、vuex和redux區別
三、vuex數據流?爲什麼要遵循這個數據流?假如在頁面中直接修改state,而不是通過mutation 的commit方式修改,會怎麼樣?
3、 vue相關
vue相關的問題有很多。僅舉例:
1、vue-router如何做歷史返回提示?
2、vue-router如何做用戶登錄權限等?
3、vue生命週期
4、vue組件通信
5、vue服務器渲染
6、vue性能優化
4、 nodejs相關
1、nodejs常用模塊
2、nodejs爬蟲
3、nodejs 流
4、nodejs請求如何返回大文件