前言
本人畢業一年,最近陸續面試了頭條、瓜子、360、猿輔導、中信銀行、老虎等公司,因爲最近比較寒冬並且招1-3年的並很少,再加上本身對公司規模和位置有必定要求,因此最後合適的也就這幾家了。不過幸運的是全部面試的公司都給了offer,在這裏總結下經驗吧。
掘金:https://juejin.im/post/5d3d31...css
經驗總結
我簡單的把面試分了四個部分,而後針對每一個部分作下詳細的介紹。前端
- 技術面-基礎
- 技術面-算法、數據結構
- 技術面-項目
- hr面-綜合
基礎知識部分
基礎知識部分是最重要的,我當時看了不少面經,本身查找答案並總結記錄,必定要在本身的博客或者github上總結一遍,第一能夠加深本身的印象,第二之後再找也方便。這裏推薦下我當時看的一篇的面經,木易楊老師寫的《2018大廠高級前端面試題彙總》。
而後我再總結下我最近遇到的面試題,標註必考的都是大部分公司都會問的react
http
http相關沒有特別難的,常見的瞭解下就沒問題。webpack
- 介紹Http2,優勢和存在什麼坑或問題(必考)
- HTTP報文的請求和返回會有幾個部分(請求行、請求頭、請求體);每部分具體都有什麼(常見的請求頭)
- GET和POST的區別
- 輸入url到頁面加載全過程(必考)
- 介紹HTTPS;HTTP和HTTPS的區別(必考)
- HTTPS加密過程
- HTTP緩存控制(強緩存、弱緩存);緩存相關的HTTP請求頭(必考)
- 對跨域的瞭解,跨域怎麼解決(必考)
- cors的返回頭、cors預請求,何時會出發預請求(必考)
- tcp的長鏈接和http2多路複用相關
- tcp擁塞控制和流量控制
- 三次握手四次揮手,爲何三次和四次
- 前端性能優化(必考)
css
css最近問的愈來愈少了,只要會寫常見的佈局就ok,難點的答不出來也沒事。相比移動端相關的會問題的比較多。git
- 盒模型
- positon的值,都是根據什麼定位(注意下還有sticky)
- 柵格佈局的原理
- 垂直居中佈局
- 上中下佈局,中間自適應
- 左中右佈局,中間自適應
- 什麼css能夠減小重繪
- 動畫相關屬性
- 移動端適配方案(必考)
- 移動端適配1px的問題
- lineheight屬性1.5和150%區別
- em和rem的區別
js
重中之重,沒啥可說的刷題就完事了,並且像節流防抖、bind、promise之類的都要會手寫。這裏就不標必考了,由於大部分都是重點。es6
- 判斷數組方法
- Object.assign和Object.create相關
- 深拷貝和淺拷貝
- let、const和var的區別
- 基本類型和引用類型相關(堆棧)
- bind, call, apply相關(本身要會實現)
- 介紹事件循環(宏任務微任務,要知道執行順序)
- 定時器爲何不許(有可能會讓你實現一個倒計時)
- 原型介紹
- 繼承方法(手寫)
- 閉包介紹和它的做用(手寫)
- new實現過程
- 防抖和節流(手寫)
- 數組去重、扁平化、柯里化
- this指向
- es6特性
- promise介紹(最好會寫)
- promise.all和promise.race介紹(手寫)
- async介紹(瞭解原理 generator+自執行器)
- 異步的串行(能夠用promise也能夠async)
- 箭頭函數指向
- set、map介紹;和數組、對象的區別
- 模塊化介紹(commnjs amd cmd umd export)
- localstorage sessionstorage cookie
- 事件委託
- Proxy和Object.defineProperty
框架相關(react webpack)
因爲我一直用的react框架,因此面試也問的相關問題,必定要了解下框架的原理和狀態管理的相關原理,同時webpack也是必考點。github
- React介紹、優勢(必考)
- React生命週期(最新版本的也要知道)
- 介紹diff算法(必考)
- 介紹虛擬dom、爲何用虛擬dom
- 組件間的通訊方式(必考)
- redux介紹和原理(必考)
- setState何時異步、何時同步、爲何
- 事件機制
- 路由相關、幾種history以及每種實現原理
- 高階組件介紹
- 純函數介紹
- React新特性瞭解麼
- React hooks介紹
- React新生命週期和React Fiber
- React和Vue對比
- React常見優化方式
- webpack介紹、整理的一個流程(必考)
- webpack的優化作過什麼(必考)
- 用過什麼webpack的loader和plugin(必考)
- webpack的loader和plugin的原理
算法、數據結構部分
原本覺得只有頭條、猿輔導之類的公司才考算法,可是最後發現每家公司都會考,可能都想拿算法來作下區分度了吧。不過遇到作不出來的面試官基本也都會給提示,提示完能寫出來也沒問題。整體來講考的都是常見的題或者變形而來的,把LeetCode或劍指offer裏常見的easy題看了就行。數據結構和設計模式問的不多,可是本身也須要總結了解下。web
- 冒泡排序
- 快速排序
- 迴文字符串
- 兩數之和、k sum
- 大數相加
- 二分查找
- 二叉樹前中後遍歷
- 二叉樹層次遍歷
- 二叉樹深度優先遍歷(遞歸、非遞歸)
- 二叉樹廣度優先遍歷(遞歸、非遞歸)
- 和爲n的二叉樹路徑
- 二叉樹深度
- 二叉樹是否對稱
- 鏈表反轉
- 16進制轉10進制
項目部分
每一個公司都會有項目的介紹,若是你介紹的項目面試官有興趣的話會很加分,因此必定要認真準備。我通常會介紹以前作的一個前端微服務的架構,項目作了不少優化也比較複雜,感受算是本身比較加分的部分。面試
- 介紹下你項目的難點
- 若是如今再看這個項目你會作哪些優化
- 根據項目的具體問題
hr部分
能到hr大機率就是過了,hr部分基本不會刷人,可是常見的問題也須要想一想怎麼說。談薪階段也是很是重要的,感受如今的hr都是根據你的面試狀況、工做年限再加上你手裏其餘offer的薪資來定的,因此手裏有大廠高薪offer的話還挺重要的。hr溝通完薪資後能夠試探性的加一點問問行不行,如今大部分hr都會壓薪預留些空間。算法
- 爲何換工做
- 找工做比較看重什麼
- 介紹下你的項目
- 爲何學前端
- 日常怎麼學前端
- 手裏有哪些offer、指望薪資
總結
一年經驗其實問的並不難,只要把常見的基礎面試題都總結好再準備個稍微亮眼的項目就基本沒什麼問題,同時面試時必定要有自信,不會的不要裝懂,問的問題多想一想再回答。相信本身,自信的人最有魅力。