「寒冬」三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)

前言

跳槽是每一個人的職業生涯中都要經歷的過程,不論你是搜索到的這篇文章仍是無心中瀏覽到的這篇文章,但願你沒有白白浪費停留在這裏的時間,能給你接下來或者之後的筆試面試帶來一些幫助。css

2019也許是互聯網將來10年中最好的一年。WINTER IS COMING。可是若是你不真正的本身去嘗試嘗試,你永遠不知道市面上的行情如何。此次找工做下來,我自身感受市場並無那麼可怕,也拿到了幾個大廠的offer。在此進行一個總結,給本身,也但願能幫助到須要的同窗。前端


往期

  1. "寒冬"三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之手寫題(一)
  2. "寒冬"三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之手寫題(二)
  3. "寒冬"三年經驗前端面試總結(含頭條、百度、餓了麼、滴滴等)之手寫題(promise篇)

面試準備

面試準備根據每一個人掌握的知識不一樣,準備的時間也不同。如今對於前端崗位,之前也許不是很重視算法這塊,可是如今不少公司也都會考。建議你們平時有空的時候多刷刷leetcode。算法的準備時間比較長,是一個長期的過程。須要在掌握了大部分前端基礎知識的狀況下,再有針對性的去複習算法。面試的時候算法能作出來確定加分,但作不出來也不會一票否決,面試官也會給你提供一些思路。vue

筆試題

筆試題通常考的都是基礎知識,複習基礎知識建議看書,高程和你不知道的JS都行,會講的比較細。node

CSS

css基本上每一個公司也都會問,可是問的不會很深,都是一些常見的問題。react

  • 盒模型
  • 垂直居中方法
  • 三欄佈局
  • 選擇器權重計算方式
  • 清除浮動的方法
  • flex
  • 什麼是BFC、能夠解決哪些問題
  • position屬性
  • 如何實現一個自適應的正方形
  • 如何用css實現一個三角形

手寫題

手寫題每一個公司都會有,範圍也比較固定,若是以前好好準備的話,應該沒什麼問題。webpack

  • 防抖和節流
  • 深拷貝
  • 數組去重、數組亂序
  • 手寫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的哪些新特性,再針對你所回答的進行深刻的提問。web

  • let、const、var區別
  • 箭頭函數與普通函數的區別
  • 變量的結構賦值
  • promise、async await、Generator的區別
  • ES6的繼承與ES5相比有什麼不一樣
  • js模塊化(commonjs/AMD/CMD/ES6)

瀏覽器相關知識

瀏覽器相關知識幾乎是每一個公司都會問到的考點,裏面涉及的東西也比較多。其中緩存、http二、跨域必問。面試

  • 從輸入URL到呈現頁面過程
  • 強緩存、協商緩存、CDN緩存
  • HTTP2
  • HTTP狀態碼
  • 三次握手與四次揮手
  • 跨域(JSONP/CORS)
  • 跨域時如何處理cookie
  • 垃圾回收機制

web安全

通常我都會從xss和csrf提及。算法

  • https
  • 什麼是xss,如何預防
  • 什麼是csrf,如何預防
  • 爲何會形成csrf攻擊

事件循環

事件循環絕對是一個必考題。其中涉及到宏任務、微任務、UI渲染等的執行順序,瀏覽器端的必需要掌握,node端的有精力的最好也能掌握。json

框架(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,找到本身滿意的工做~

相關文章
相關標籤/搜索