塵埃落定——鵝廠暑期實習面經

醬菜豪發表於2019-06-12

博主 3 月份在騰訊官網投遞 Web 前端開發崗,一路從提前批走到正式批,戰線長達3個月...真的不容易(菜是原罪),特此記錄下征戰鵝廠的面經,希望可以幫到大家。

提前批

一面

官網顯示流程——初試
3.14(電話面 + 視訊面)

  1. 自我介紹,怎麼學前端的
  2. CSS 常見兩列布局、三列布局
  3. CSS 水平垂直居中
  4. 閉包,JS 沒有閉包的話會怎麼樣
  5. typeof 和 instanceof
  6. js 的原型鏈,繼承
  7. js 的 bind、apply、call 有什麼區別
  8. var、let、const的區別
  9. new 操作符原理(手動實現 new 給出思路)
  10. 箭頭函式,箭頭函式 this 問題,箭頭函式是否可以被 new
  11. promise 知道嗎,手寫一個 promise 怎麼寫(說思路)
  12. promise.all 應用場景
  13. promise 和 async/await 的區別
  14. vue 的生命週期(我說我 React 比較熟)
  15. react 的生命週期(React16)
  16. react 效能優化
  17. react 的 diff 演算法
  18. react 的 Fiber 架構
  19. 狀態碼 304(強快取和協商快取)
  20. 你有什麼要問的嗎?

面完加了面試官 qq,第二天qq遠端視訊,手寫原生 DOM 拖拽和大數相加
一面大概 1 個小時左右,比較注重 JS 和 CSS 的基礎能力。面試官人很溫和,通過後立馬打電話和我說,這種塵埃落定的感覺真好~

面試完官網狀態從初試變成複試~

二面

3.20(電話面)

  1. 自我介紹,說說專案遇到的坑
  2. 看你專案 ES6 用的比較多,說說 ES6 的一些新特性
  3. 有沒有考慮對圖片處理的優化手段,說說常用的
  4. 圖片懶載入怎麼做
  5. 考慮過快取方面的優化嗎,強快取和協商快取區別
  6. 防抖和節流
  7. 實現無縫滑屏,你覺得怎麼實現
  8. dns 查詢原理
  9. tcp 握手和揮手
  10. tcp 和 udp 區別,udp 使用場景
  11. https 和 http 區別
  12. http2.0 相比 1.0 好在哪
  13. 抓包會嗎,抓包原理,fiddler 用過嗎
  14. 跨域
  15. csrf、xss,如何預防
  16. 專案的 webpack 配置
  17. plugin 和 loader 的區別
  18. 寫過 webpack 的外掛嗎(沒寫過)
  19. webpack 單路口和多路口打包配置,為什麼需要多路口
  20. babel 的編譯原理,抽象語法樹
  21. 你有什麼要問的嗎?

二面聊了很久,一個多小時,面試官非常厲害(應該是部門組長),整體處於被碾壓的情況...然後面試官說可能會有三面,讓我再準備下
感覺答得很一般,當時回去惡補了 webpack 以及效能優化的東西..

面試完官網狀態依舊是複試..

三面

3.28(視訊面)

  1. 自我介紹,為什麼會選擇學前端呢?
  2. 看你做了挺多專案,有沒有在架構層面上考慮過對專案的優化
  3. MVC MVP MVVM 架構瞭解嗎,他們的使用場景
  4. 怎麼理解前後端分離思想
  5. 和後端一般是怎麼溝通和聯調的
  6. 網路安全
  7. 看你用過 nginx,聊聊 nginx 吧
  8. docker 也用過?(不是很熟還是別往簡歷上寫給自己挖坑啦..)
  9. 後端技術棧瞭解哪些
  10. 有什麼想問的嗎?

三面大概半小時...面試官應該是部門技術總監,問的問題非常廣,從大的架構層面往小的技術方面問,由廣度到深度
整體氣氛比較深沉...和巨佬聊技術有點格格不入T_T,巨佬說會考核下,然後讓我等電話..

後來..後來..官網流程就灰了...電話呢?! 提前批——掛。

但好在比較幸運是,在面騰訊之前拿到愛奇藝的實習機會~ 所以也不至於無路可走T_T
在等正式批的這段時間裡,白天在公司上班,晚上惡補基礎,在惡補的過程中,才發現自己之前面試答得簡直一坨shi ...很多需要深挖的知識點,漸漸感覺時間不太夠用(..•˘_˘•..)

正式批

26號突然收到面試郵件,約了 28 號晚上 7 點的面試..
趕緊到官網檢視流程,灰了一個多月,終於亮起來了!! 感動!!

一面

官網面試流程——初試
4.28(電話面)

  1. 自我介紹,在校情況
  2. 聖盃佈局、雙飛翼佈局
  3. CSS 媒體查詢
  4. CSS 動畫、CSS 對網頁效能優化
  5. 瀏覽器渲染原理、迴流與重繪
  6. JS 單執行緒、EventLoop、巨集佇列、微佇列
  7. Go 語言知道嗎? 為什麼 Go 效率比較高? (只是瞭解,效率高大概是因為多執行緒?)
  8. Ajax 和 Fetch
  9. 怎麼同時讓多個非同步請求並行?
  10. 跨域問題
  11. xss 和 csrf (聊到跨域基本都會聊跨域安全問題,所以這兩個知識點可以一起準備)
  12. session 和 cookie
  13. 伺服器怎麼知道 session 過期?
  14. 怎麼設定 cookie 過期時間
  15. sessionStorage 和 localStorage
  16. 強快取和協商快取
  17. ES6 陣列新增方法
  18. ES6 箭頭函式和普通函式區別
  19. promise、generator、async/await
  20. react 父子元件傳參
  21. PureComponent 知道嗎
  22. React 效能優化
  23. Redux 原理,Redux 原始碼看過嗎? Redux 中介軟體呢?

正式批一面了大概1個半小時... 全程沒喝一口水... 自我感覺答得還行,面試官也說還不錯hh
但是...但是...第二天看官網居然灰了????
當時心裡拔涼拔涼的,晚上沒吃飯沒洗澡躺屍,虧我準備這麼久

但是過了兩天,突然又接到電話,是正式批一面面試官打來的..........
他說他的部門(IEG)HC不夠了..把我調劑到另外的部門(PCG)去了...然後要重新啟動流程,所以把我灰了..讓我趕緊準備另一個部門的面試

所以又開始了艱難的——走流程..
不得不吐槽鵝廠流程太長了!! 也有可能是自己太菜...排名比較靠後

正式批補錄

一面

官網面試流程回到初試..
5.07(電話面)

  1. 自我介紹,看你簡歷,以前是寫Java的?
  2. 那你覺得 java 裡的繼承和 JS 裡的繼承有什麼區別
  3. JS 垃圾回收
  4. JS EventLoop
  5. ES6 新特性
  6. 知道裝飾器嗎
  7. 陣列方法 map、filter、reduce
  8. 新資料結構 Set、Map
  9. babel 的編譯原理
  10. webpack 工作流程和原理,怎麼寫一個外掛
  11. JS 基礎還行,問問網路相關知識?(好..)
  12. 從 url 到頁面渲染過程
  13. 你剛說到 DNS 解析 能詳細說說嘛? DNS 遞迴和迭代的區別呢?
  14. TCP ? UDP ? 區別是什麼,你說 TCP 頭部很大,具體有哪些報文資訊呢?
  15. 頁面渲染 重繪與重排 頁面載入如何優化
  16. http1.1 / http2.0 / https
  17. 聊聊資料結構的東西吧 演算法怎麼樣?(一般..)
  18. 棧、佇列、樹、圖一些基礎
  19. 最短路徑演算法能簡單聊聊實現嗎 (迪傑斯特拉演算法)
  20. 樹的深度優先遍歷、廣度優先遍歷實現和區別
  21. 一棵二叉樹要用陣列儲存,這棵樹要具備哪種條件? (完全二叉樹)
  22. 實現括號匹配用資料結構怎麼做?說說思路 (棧)
  23. 快速排序原理
  24. 有什麼想問我的? (實習在什麼事業部,具體做什麼?手Q,做手Q新業務)

一面大概1個多小時,面試官比較嚴肅,也很厲害... 問的問題擴充性很強。
而且非常注重基礎, 資料結構、計算機網路...很重要!
雖然感覺答得一般,但面試官評價還行...運氣真好

二面

5.13(電話面)

  1. 自我介紹,說說你學前端的歷程吧
  2. 說說專案中遇到的坑,怎麼解決的
  3. 專案中有考慮到哪些優化的地方?
  4. 小程式的富文字為什麼選用 wxParse,富文字原理
  5. 圖片有哪些格式,知道 WebP 格式的圖片嗎,圖片的一些優化手段
  6. 圖片懶載入原理
  7. 跨域
  8. 前端常見攻擊方式
  9. 狀態碼
  10. 強快取和協商快取
  11. Node 的優勢
  12. Express 和 Koa 區別
  13. react 路由原理
  14. react hooks
  15. redux 非同步中介軟體實現原理
  16. Vue MVVM原理
  17. 服務端渲染原理
  18. nginx 的配置,反向代理、負載均衡原理
  19. 知道 PWA 嗎
  20. hybrid 技術
  21. Flutter 瞭解嗎
  22. 看過原始碼嗎?
  23. 有什麼想問的?

二面聊了一個多小時,面試體驗很棒!面試官人超好,不斷的引導我回答出答案...
最後還說幫我約三面的面試官,給人感覺很暖!
後來看官網狀態從初試變成複試~

三面

5.22(視訊面)

  1. 自我介紹,說說專案踩坑
  2. 使用框架踩到坑時,有沒有去看過原始碼?
  3. 在做專案時,有沒有從架構層面考慮過?
  4. 我現在有個需求,需要實現一個 web 端的微信,你想想該怎麼實現
  5. 怎麼看待前後端分離思想,以及服務端渲染技術
  6. 寫過腳手架嗎?
  7. 瞭解過設計模式嗎?
  8. 後端的技術棧有了解嗎?
  9. 平時是怎麼學習的,學習習慣,為什麼學前端?
  10. 你有什麼想問的?

三面聊了半個小時,面試官是部門技術總監,看上去很和藹...一直在安靜聽我說
面試感覺就像在一起聊天,也沒有提前批的那種沉重感...大概是被虐多了,習以為常~
面試完官網狀態秒變成 HR 面試!!

HR面

5.27 (電話面)

  1. 自我介紹
  2. 家庭情況
  3. 平時是怎麼學習的
  4. 說一個你做的最好的專案~
  5. 怎麼看待現在的網際網路趨勢 (我說5G可能是第四次工業革命的導火索...)
  6. 如果要來深圳的話,方便嗎
  7. 你有什麼想問的嗎?

HR 是一個小哥哥,人很好,聲音很好聽,面試了10分鐘左右
最後還說會幫忙催 offer,真的很感謝他!

OC

6.11 (拿到offer)
oc真的等的很著急...好在終於拿到了 offer!!

我的經驗

  1. 實習並不難,實習不是社招,比起社招難度小得多!基礎很重要,面試官基本是看你的基礎能力和你的發展潛力。
  2. 簡歷很重要,一個好的簡歷可以讓面試官快速瞭解你,當然記住不要給自己挖坑。
  3. 溝通很重要,不會就說不會,畢竟不可能啥都會,實事求是。然後儘量引導面試官向你會的問題上問,多準備點亮點,例如框架原始碼,新技術等..
  4. 電話面試時,可以錄音,回過頭聽聽面試官的問題,慢慢積累面經。

博主期間也面試了阿里、京東、頭條... 以後有時間再總結下面經給大家分享
最後祝大家都能順利拿下心儀 offer! 我的 github 面經

相關文章