前言
跳槽是每個人的職業生涯中都要經歷的過程,不論你是搜索到的這篇文章還是無意中瀏覽到的這篇文章,希望你沒有白白浪費停留在這裏的時間,能給你接下來或者以後的筆試面試帶來一些幫助。
2019也許是互聯網未來10年中最好的一年。WINTER IS COMING。但是如果你不真正的自己去嘗試嘗試,你永遠不知道市面上的行情如何。這次找工作下來,我自身感覺市場並沒有那麼可怕,也拿到了幾個大廠的offer。在此進行一個總結,給自己,也希望能幫助到需要的同學。
往期
- "寒冬"三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之手寫題(一)
- "寒冬"三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之手寫題(二)
- "寒冬"三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之手寫題(promise篇)
面試準備
面試準備根據每個人掌握的知識不同,準備的時間也不一樣。現在對於前端崗位,以前也許不是很重視算法這塊,但是現在很多公司也都會考。建議大家平時有空的時候多刷刷leetcode。算法的準備時間比較長,是一個長期的過程。需要在掌握了大部分前端基礎知識的情況下,再有針對性的去複習算法。面試的時候算法能做出來肯定加分,但做不出來也不會一票否決,面試官也會給你提供一些思路。
筆試題
筆試題一般考的都是基礎知識,複習基礎知識建議看書,高程和你不知道的JS都行,會講的比較細。
CSS
css基本上每個公司也都會問,但是問的不會很深,都是一些常見的問題。
- 盒模型
- 垂直居中方法
- 三欄佈局
- 選擇器權重計算方式
- 清除浮動的方法
- flex
- 什麼是BFC、可以解決哪些問題
- position屬性
- 如何實現一個自適應的正方形
- 如何用css實現一個三角形
手寫題
手寫題每個公司都會有,範圍也比較固定,如果之前好好準備的話,應該沒什麼問題。
- 防抖和節流
- 深拷貝
- 數組去重、數組亂序
- 手寫call、apply、bind
- 繼承(ES5/ES6)
- sleep函數
- 實現promise
- 實現promise.all
- 實現promise.retry
- 將一個同步callback包裝成promise形式
- 寫一個函數,可以控制最大併發數
- jsonp的實現
- eventEmitter(emit,on,off,once)
- 實現instanceof
- 實現new
- 實現數組flat、filter等方法
- lazyMan
ES6
現在基本上都會使用ES6開發。ES6也成為了一個面試必考點。一般面試官都會問用過ES6的哪些新特性,再針對你所回答的進行深入的提問。
- let、const、var區別
- 箭頭函數與普通函數的區別
- 變量的結構賦值
- promise、async await、Generator的區別
- ES6的繼承與ES5相比有什麼不同
- js模塊化(commonjs/AMD/CMD/ES6)
瀏覽器相關知識
瀏覽器相關知識幾乎是每個公司都會問到的考點,裏面涉及的東西也比較多。其中緩存、http2、跨域必問。
- 從輸入URL到呈現頁面過程
- 強緩存、協商緩存、CDN緩存
- HTTP2
- HTTP狀態碼
- 三次握手與四次揮手
- 跨域(JSONP/CORS)
- 跨域時如何處理cookie
- 垃圾回收機制
web安全
一般我都會從xss和csrf説起。
- https
- 什麼是xss,如何預防
- 什麼是csrf,如何預防
- 為什麼會造成csrf攻擊
事件循環
事件循環絕對是一個必考題。其中涉及到宏任務、微任務、UI渲染等的執行順序,瀏覽器端的必須要掌握,node端的有精力的最好也能掌握。
框架(vue)
因為我一直用的都是vue框架,所以問的也都是跟vue相關的。vue中的高頻題也不外乎雙向綁定、虛擬dom、diff算法這些。
- watch與computed的區別
- vue生命週期及對應的行為
- vue父子組件生命週期執行順序
- 組件間通訊方法
- 如何實現一個指令
- vue.nextTick實現原理
- diff算法
- 如何做到的雙向綁定
- 虛擬dom為什麼快
- 如何設計一個組件
webpack
webpack也基本上成了必考的內容,一般會問是否配置過webpack、做過哪些優化之類的。
- 用過哪些loader和plugin
- loader的執行順序為什麼是後寫的先執行
- webpack配置優化
- webpack打包優化(happypack、dll)
- plugin與loader的區別
- webpack執行的過程
- 如何編寫一個loader、plugin
- tree-shaking作用,如何才能生效
性能優化
- 首屏加載如何優化
- 一個網頁從請求到呈現花了很長時間,如何排查
因為之前的經歷大部分都集中在PC端,所以移動端的經驗比較少。面試官也不會一直問你移動端的東西,問也就問一些常見的問題,比如1px問題、如何適配等。react用的也不多,問的也不多,也就會問問react與vue的對比之類的問題。
基本的問題過了之後,有的面試官還喜歡問一些開放性的問題。比如平時都是如何學習的、最近了解了什麼新技術、未來的職業規劃、為了達到這個目標目前做了什麼努力等等。
總結的基本上就是這麼多了,上面問題的答案我也會陸續給出,給大家一個參考。
喜歡的可以點個收藏哈~
最後預祝看了此篇文章的小夥伴們都能收穫多多的offer,找到自己滿意的工作~