博主 3 月份在騰訊官網投遞 Web 前端開發崗,一路從提前批走到正式批,戰線長達3個月...真的不容易(菜是原罪),特此記錄下征戰鵝廠的面經,希望可以幫到大家。
提前批
一面
官網顯示流程——初試
3.14(電話面 + 視訊面)
- 自我介紹,怎麼學前端的
- CSS 常見兩列布局、三列布局
- CSS 水平垂直居中
- 閉包,JS 沒有閉包的話會怎麼樣
- typeof 和 instanceof
- js 的原型鏈,繼承
- js 的 bind、apply、call 有什麼區別
- var、let、const的區別
- new 操作符原理(手動實現 new 給出思路)
- 箭頭函式,箭頭函式 this 問題,箭頭函式是否可以被 new
- promise 知道嗎,手寫一個 promise 怎麼寫(說思路)
- promise.all 應用場景
- promise 和 async/await 的區別
- vue 的生命週期(我說我 React 比較熟)
- react 的生命週期(React16)
- react 效能優化
- react 的 diff 演算法
- react 的 Fiber 架構
- 狀態碼 304(強快取和協商快取)
- 你有什麼要問的嗎?
面完加了面試官 qq,第二天qq遠端視訊,手寫原生 DOM 拖拽和大數相加
一面大概 1 個小時左右,比較注重 JS 和 CSS 的基礎能力。面試官人很溫和,通過後立馬打電話和我說,這種塵埃落定的感覺真好~
面試完官網狀態從初試變成複試~
二面
3.20(電話面)
- 自我介紹,說說專案遇到的坑
- 看你專案 ES6 用的比較多,說說 ES6 的一些新特性
- 有沒有考慮對圖片處理的優化手段,說說常用的
- 圖片懶載入怎麼做
- 考慮過快取方面的優化嗎,強快取和協商快取區別
- 防抖和節流
- 實現無縫滑屏,你覺得怎麼實現
- dns 查詢原理
- tcp 握手和揮手
- tcp 和 udp 區別,udp 使用場景
- https 和 http 區別
- http2.0 相比 1.0 好在哪
- 抓包會嗎,抓包原理,fiddler 用過嗎
- 跨域
- csrf、xss,如何預防
- 專案的 webpack 配置
- plugin 和 loader 的區別
- 寫過 webpack 的外掛嗎(沒寫過)
- webpack 單路口和多路口打包配置,為什麼需要多路口
- babel 的編譯原理,抽象語法樹
- 你有什麼要問的嗎?
二面聊了很久,一個多小時,面試官非常厲害(應該是部門組長),整體處於被碾壓的情況...然後面試官說可能會有三面,讓我再準備下
感覺答得很一般,當時回去惡補了 webpack 以及效能優化的東西..
面試完官網狀態依舊是複試..
三面
3.28(視訊面)
- 自我介紹,為什麼會選擇學前端呢?
- 看你做了挺多專案,有沒有在架構層面上考慮過對專案的優化
- MVC MVP MVVM 架構瞭解嗎,他們的使用場景
- 怎麼理解前後端分離思想
- 和後端一般是怎麼溝通和聯調的
- 網路安全
- 看你用過 nginx,聊聊 nginx 吧
- docker 也用過?(不是很熟還是別往簡歷上寫給自己挖坑啦..)
- 後端技術棧瞭解哪些
- 有什麼想問的嗎?
三面大概半小時...面試官應該是部門技術總監,問的問題非常廣,從大的架構層面往小的技術方面問,由廣度到深度
整體氣氛比較深沉...和巨佬聊技術有點格格不入T_T,巨佬說會考核下,然後讓我等電話..
後來..後來..官網流程就灰了...電話呢?! 提前批——掛。
但好在比較幸運是,在面騰訊之前拿到愛奇藝的實習機會~ 所以也不至於無路可走T_T
在等正式批的這段時間裡,白天在公司上班,晚上惡補基礎,在惡補的過程中,才發現自己之前面試答得簡直一坨shi ...很多需要深挖的知識點,漸漸感覺時間不太夠用(..•˘_˘•..)
正式批
26號突然收到面試郵件,約了 28 號晚上 7 點的面試..
趕緊到官網檢視流程,灰了一個多月,終於亮起來了!! 感動!!
一面
官網面試流程——初試
4.28(電話面)
- 自我介紹,在校情況
- 聖盃佈局、雙飛翼佈局
- CSS 媒體查詢
- CSS 動畫、CSS 對網頁效能優化
- 瀏覽器渲染原理、迴流與重繪
- JS 單執行緒、EventLoop、巨集佇列、微佇列
- Go 語言知道嗎? 為什麼 Go 效率比較高? (只是瞭解,效率高大概是因為多執行緒?)
- Ajax 和 Fetch
- 怎麼同時讓多個非同步請求並行?
- 跨域問題
- xss 和 csrf (聊到跨域基本都會聊跨域安全問題,所以這兩個知識點可以一起準備)
- session 和 cookie
- 伺服器怎麼知道 session 過期?
- 怎麼設定 cookie 過期時間
- sessionStorage 和 localStorage
- 強快取和協商快取
- ES6 陣列新增方法
- ES6 箭頭函式和普通函式區別
- promise、generator、async/await
- react 父子元件傳參
- PureComponent 知道嗎
- React 效能優化
- Redux 原理,Redux 原始碼看過嗎? Redux 中介軟體呢?
正式批一面了大概1個半小時... 全程沒喝一口水... 自我感覺答得還行,面試官也說還不錯hh
但是...但是...第二天看官網居然灰了????
當時心裡拔涼拔涼的,晚上沒吃飯沒洗澡躺屍,虧我準備這麼久
但是過了兩天,突然又接到電話,是正式批一面面試官打來的..........
他說他的部門(IEG)HC不夠了..把我調劑到另外的部門(PCG)去了...然後要重新啟動流程,所以把我灰了..讓我趕緊準備另一個部門的面試
所以又開始了艱難的——走流程..
不得不吐槽鵝廠流程太長了!! 也有可能是自己太菜...排名比較靠後
正式批補錄
一面
官網面試流程回到初試..
5.07(電話面)
- 自我介紹,看你簡歷,以前是寫Java的?
- 那你覺得 java 裡的繼承和 JS 裡的繼承有什麼區別
- JS 垃圾回收
- JS EventLoop
- ES6 新特性
- 知道裝飾器嗎
- 陣列方法 map、filter、reduce
- 新資料結構 Set、Map
- babel 的編譯原理
- webpack 工作流程和原理,怎麼寫一個外掛
- JS 基礎還行,問問網路相關知識?(好..)
- 從 url 到頁面渲染過程
- 你剛說到 DNS 解析 能詳細說說嘛? DNS 遞迴和迭代的區別呢?
- TCP ? UDP ? 區別是什麼,你說 TCP 頭部很大,具體有哪些報文資訊呢?
- 頁面渲染 重繪與重排 頁面載入如何優化
- http1.1 / http2.0 / https
- 聊聊資料結構的東西吧 演算法怎麼樣?(一般..)
- 棧、佇列、樹、圖一些基礎
- 最短路徑演算法能簡單聊聊實現嗎 (迪傑斯特拉演算法)
- 樹的深度優先遍歷、廣度優先遍歷實現和區別
- 一棵二叉樹要用陣列儲存,這棵樹要具備哪種條件? (完全二叉樹)
- 實現括號匹配用資料結構怎麼做?說說思路 (棧)
- 快速排序原理
- 有什麼想問我的? (實習在什麼事業部,具體做什麼?手Q,做手Q新業務)
一面大概1個多小時,面試官比較嚴肅,也很厲害... 問的問題擴充性很強。
而且非常注重基礎, 資料結構、計算機網路...很重要!
雖然感覺答得一般,但面試官評價還行...運氣真好
二面
5.13(電話面)
- 自我介紹,說說你學前端的歷程吧
- 說說專案中遇到的坑,怎麼解決的
- 專案中有考慮到哪些優化的地方?
- 小程式的富文字為什麼選用 wxParse,富文字原理
- 圖片有哪些格式,知道 WebP 格式的圖片嗎,圖片的一些優化手段
- 圖片懶載入原理
- 跨域
- 前端常見攻擊方式
- 狀態碼
- 強快取和協商快取
- Node 的優勢
- Express 和 Koa 區別
- react 路由原理
- react hooks
- redux 非同步中介軟體實現原理
- Vue MVVM原理
- 服務端渲染原理
- nginx 的配置,反向代理、負載均衡原理
- 知道 PWA 嗎
- hybrid 技術
- Flutter 瞭解嗎
- 看過原始碼嗎?
- 有什麼想問的?
二面聊了一個多小時,面試體驗很棒!面試官人超好,不斷的引導我回答出答案...
最後還說幫我約三面的面試官,給人感覺很暖!
後來看官網狀態從初試變成複試~
三面
5.22(視訊面)
- 自我介紹,說說專案踩坑
- 使用框架踩到坑時,有沒有去看過原始碼?
- 在做專案時,有沒有從架構層面考慮過?
- 我現在有個需求,需要實現一個 web 端的微信,你想想該怎麼實現
- 怎麼看待前後端分離思想,以及服務端渲染技術
- 寫過腳手架嗎?
- 瞭解過設計模式嗎?
- 後端的技術棧有了解嗎?
- 平時是怎麼學習的,學習習慣,為什麼學前端?
- 你有什麼想問的?
三面聊了半個小時,面試官是部門技術總監,看上去很和藹...一直在安靜聽我說
面試感覺就像在一起聊天,也沒有提前批的那種沉重感...大概是被虐多了,習以為常~
面試完官網狀態秒變成 HR 面試!!
HR面
5.27 (電話面)
- 自我介紹
- 家庭情況
- 平時是怎麼學習的
- 說一個你做的最好的專案~
- 怎麼看待現在的網際網路趨勢 (我說5G可能是第四次工業革命的導火索...)
- 如果要來深圳的話,方便嗎
- 你有什麼想問的嗎?
HR 是一個小哥哥,人很好,聲音很好聽,面試了10分鐘左右
最後還說會幫忙催 offer,真的很感謝他!
OC
6.11 (拿到offer)
oc真的等的很著急...好在終於拿到了 offer!!
我的經驗
- 實習並不難,實習不是社招,比起社招難度小得多!基礎很重要,面試官基本是看你的基礎能力和你的發展潛力。
- 簡歷很重要,一個好的簡歷可以讓面試官快速瞭解你,當然記住不要給自己挖坑。
- 溝通很重要,不會就說不會,畢竟不可能啥都會,實事求是。然後儘量引導面試官向你會的問題上問,多準備點亮點,例如框架原始碼,新技術等..
- 電話面試時,可以錄音,回過頭聽聽面試官的問題,慢慢積累面經。
博主期間也面試了阿里、京東、頭條... 以後有時間再總結下面經給大家分享
最後祝大家都能順利拿下心儀 offer! 我的 github 面經