金三銀四的前端社招多個大廠面試經驗分享

你們好,最近金三銀四,今天分享一篇大廠前端社招面試經驗的輕鬆好文,相信看完會有所收穫。也歡迎點擊下方卡片關注或者星標個人公衆號前端公蝦米前端

目前工做快四年,年後投了一波簡歷,這裏整理了一下新鮮出爐的前端面經,須要的能夠自取。vue

騰訊

一面

  1. 寫一個 LRU 緩存函數
  2. 寫個防抖和節流函數
  3. 大家服務是怎麼部署的?Node Agent 作了什麼工做?
  4. Grpc 的優缺點?
  5. http2 的相關特性?
  6. viewport 和移動端佈局方案
  7. 實現一個 compose 函數
  8. 開發中有遇到過比較難定位的問題嗎?Node 內存泄露有遇到過嗎?

二面

  1. react ssr 是在什麼場景下作的?
  2. react ssr 雙端怎麼作構建的?區別在哪裏?
  3. 有沒有作過同構組件?服務端和客戶端怎麼同步狀態的?
  4. render 和 renderToString 的底層實現上的區別?
  5. 客戶端怎麼處理 JS 事件失效的問題?客戶端不從新加載 JS 的狀況下怎麼實現?
  6. 作服務端渲染的時候有沒有遇到過比較難的點?
  7. react ssr 和 ejs 性能的差別?
  8. 服務回滾是怎麼作的?上線流程是怎樣的?k8s 回滾、拉取之前的鏡像
  9. webpack plugin 的原理是什麼?
  10. plugin 中有異步請求會阻塞後面的 plugin 嗎?
  11. 作過哪些 webpack 的性能優化?
  12. hard-source-webpack-plugin 是怎麼作緩存的?修改文件後會怎麼樣?
  13. parallel 的原理是什麼?多個子進程怎麼通訊?
  14. 大家 webpack 是怎麼作拆包的?
  15. 服務端監控是怎麼作的?服務有上報過什麼指標?
  16. Node 服務怎麼去定位 CPU 佔用暴漲的狀況?怎麼去定位內存泄露?
  17. 編寫 grpc 服務和 http 服務的區別?
  18. 作過哪些 react 相關的優化?函數組件怎麼實現 shouldComponentUpdate?
  19. 若是有一個很是大的 react 頁面,我想優先渲染某一部分,這該怎麼作?
  20. react 函數組件和 class 組件裏面 state 的區別?
  21. react useEffect 對應 class 組件的哪些生命週期?
  22. 前端的監控是怎麼作的?除了 sentry 還作了其餘異常處理嗎?

三面

  1. 講一下你作的比較複雜的項目?以及你在項目中擔當了什麼角色?
  2. 你是怎麼看待如今各類造輪子的?
  3. 有一個一億長度的字符串,怎麼存儲設計可讓它更好去查詢、修改?
  4. 怎麼優化 H5 讓它能夠在 300ms 以內打開?
  5. 大家 WebView 加載通常耗時多久?
  6. 大家爲何從 Python 重構到 Node?好處是什麼?
  7. 你是怎麼看待作後臺管理系統的?不少人以爲它沒有難點,你以爲呢?(問這個問題是由於我如今在作後臺管理系統)

總監面(有點兒記不清了)

  1. 新加坡和深圳內網是怎麼連通的?
  2. 將來的職業規劃是什麼樣的?
  3. 對當前新的技術有了解嗎?
  4. 對客戶端知識有了解嗎?
  5. 爲何要離職?拒了,崗位不是很喜歡

螞蟻

一面

  1. React setState 怎麼獲取到更新後的值?異步函數中爲何 setState 會當即更新?
  2. 作過離線包嗎?H5 離線包的原理?客戶端根據什麼攔截靜態資源請求?
  3. JS Bridge 的原理?大家這套方案的s優缺點?
  4. 怎麼判斷 webview 是否加載完成?
  5. 怎麼實現 App 頭部和頁面的背景漸變?
  6. PC 端作過比較有意義的項目?
  7. 微前端子應用之間怎麼通訊?有沒有了解過業界的一些方案?

二面

  1. 大家部署的 Jenkins 是怎麼作的?
  2. JS Bridge 原理?有沒有安全漏洞?
  3. 有沒有作過和安全相關的?waf 主要作了什麼?
  4. 有沒有作過埋點和性能上報相關?
  5. 若是大家用一個第三方的上報庫,但頁面加載這個 JS 失敗了,還想上報該怎麼辦?
  6. 實現兩個大數相加
  7. 實現 DOM 字符串轉虛擬 DOM 對象(不能用 DOM 相關的 api)
  8. 有木有作過你以爲比較困難的項目?

三面

  1. 管理系統都作了哪些業務?有沒有作一些提升開發效率的東西?
  2. 經常使用的組件是哪一個?解決了什麼問題?
  3. 平時 Node 都用來作什麼?怎麼實現的?
  4. SSR 的實現原理是什麼?
  5. 項目中遇到的技術難點有哪些?
  6. 你以爲大家比 lazada 作得更好是哪些緣由?

四面(略)

五面(略)

拼多多

一面

  1. 有沒有作過比較複雜的頁面?攜程的 React-imvc 作了什麼?
  2. 使用 Redux 的好處,以及和 Mobx 的區別
  3. 對 React 最新特性有了解嗎?class 組件和函數組件的區別?
  4. useState 爲何不能放到條件語句裏面?
  5. 實現一個 Promise.all
  6. React SSR 是怎麼實現的?
  7. 有用過代碼規範相關的嗎?Eslint 和 Prettier 衝突怎麼解決?
  8. 實現一個數組轉樹形結構的函數

二面

  1. 說幾個你以爲足夠複雜的項目?
  2. 你是怎麼去作 React SSR 的?
  3. 有沒有作過性能優化相關的?
  4. 實現一個深拷貝
  5. 實現一個二叉搜索樹轉鏈表的方法 拒了,不想去賣命

商湯

一面

  1. 在工做中,主要是作什麼內容?
  2. 有用過 lerna 嗎?多個項目之間共用的東西怎麼共享?
  3. 講一講微前端是怎麼作的?怎麼獨立部署?子應用通訊怎麼作?
  4. webpack 構建流程是怎樣的?
  5. webpack loader 和 plugin 的原理和區別?
  6. webpack 熱更新原理?
  7. webpack 怎麼作分包?
  8. 作過 webpack 性能優化嗎?有用過 rollup 嗎?
  9. react-imvc 是什麼?它作了什麼?
  10. react 和 react-dom 的區別是什麼?
  11. redux 和 mobx 的區別和優劣?用過 redux-saga 嗎?
  12. react diff 的複雜度,以及 react diff 的原理
  13. react class 組件和 hooks 的區別?
  14. 什麼是 TS 泛型?
  15. 從輸入 url 到頁面展現通過了哪些步驟?
  16. 講一下重繪和迴流
  17. 知道 BFC 嗎?使用場景有哪些?
  18. 怎麼判斷是否爲數組?
  19. 頁面卡頓怎麼去定位?
  20. 數組有10萬個數據,取第一個和取第10萬個的耗時多久?
  21. 有用過 canvas 相關的嗎?
  22. JS 垃圾回收機制?怎麼定位 Node 內存泄露問題?
  23. 你是怎麼理解前端的?
  24. 工做中遇到過最難的問題?有沒有什麼讓你自豪的項目?
  25. 週末你都在作什麼?學習前端的途徑是什麼?

其餘公司面的差很少了,這個後續面試就都拒了react

字節

一面

  1. tcp 和 udp 的區別和使用場景?
  2. quic 基於 udp 怎麼保證可靠性?
  3. 講一下同源策略和跨域方案?CORS 的幾個頭部是什麼?
  4. 講一下 react fiber?
  5. vue 雙向綁定原理?
  6. redux 和 mobx 的區別和使用場景?
  7. typeof null?null instanceof Object?
  8. typeof 能夠判斷哪些類型?instanceof 作了什麼?
  9. 實現一個 bind 函數
  10. 求數組裏面最大連續項的和
  11. event loop

二面

  1. 怎麼優化 h5 的加載速度?
  2. 離線包怎麼更新?怎麼知道須要打開哪一個離線包?
  3. js bridge 通訊原理?
  4. 怎麼實現 h5 頁面秒開?
  5. 明明不是同一個語言,爲何 js 和 native 能夠通訊?
  6. 怎麼實現 js bridge 跨多個 app 共用?
  7. grpc 相比 http 的優點?
  8. rpc 的調用流程?前端怎麼調用 grpc 的?
  9. 爲何要用 grpc?
  10. 服務發現爲何用 ip,而不用域名?
  11. 怎麼作 DNS 預解析?
  12. 怎麼實現移動端的佈局?
  13. iOS 下軟鍵盤輸入框遮擋遇到過問題麼?怎麼解決頂不起來的問題?
  14. 實現兩個大數相加
  15. 求一個數組最大子項的和,要求這些子項在數組中的位置不是連續的
  16. 經常使用的 react hooks 方法
  17. useState 怎麼作緩存的?
  18. react fiber 是什麼?
  19. 怎麼解決 useState 閉包的問題?
  20. useReducer 比 redux 好在哪裏?

三面

  1. 作過哪些公共組件?DatePicker 怎麼實現的?難點在哪裏?
  2. 組件封裝有哪些原則?
  3. 組件數據和 UI 怎麼分離?
  4. 有沒有作過一些提升工做效率的東西?
  5. 有沒有了解過拖拽?以爲它有哪些難點?
  6. 有沒有作過優化相關的?webpack 作了哪些優化?
  7. cache-loader 和 hard-source-webpack-plugin 的區別是什麼?
  8. 最近遇到的比較難的項目是什麼?大家服務是怎麼部署的?
  9. Puppeteer 能夠用來作什麼?

總結

面試挺累人的,天天下班後趕回家面試,有時候乾脆找個會議室偷偷摸摸面試。面了將近一個月,目前還沒掛過,但因爲各類因素,又都拒了。。。如今又要開始新一輪的面試了,祝本身好運吧。webpack


本文分享自微信公衆號 - 前端公蝦米(gh_0b53c67e23b7)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。web

相關文章
相關標籤/搜索