大家好,我是若川。最近金三銀四,今天分享一篇騰訊、阿里、字節等大廠的前端社招面試經驗的好文,相信看完會有所收獲。也歡迎點擊下方卡片關注或者星標我的公眾號若川視野
作者面了將近一個月,目前還沒掛過,但由于各種因素,又都拒了...這也許就是大佬吧。以下是正文~
目前工作快四年,年后投了一波簡歷,這里整理了一下新鮮出爐的前端面經,需要的可以自取。
騰訊
一面
寫一個 LRU 緩存函數
寫個防抖和節流函數
你們服務是怎么部署的?Node Agent 做了什么工作?
Grpc 的優缺點?
http2 的相關特性?
viewport 和移動端布局方案
實現一個 compose 函數
開發中有遇到過比較難定位的問題嗎?Node 內存泄露有遇到過嗎?
二面
react ssr 是在什么場景下做的?
react ssr 雙端怎么做構建的?區別在哪里?
有沒有做過同構組件?服務端和客戶端怎么同步狀態的?
render 和 renderToString 的底層實現上的區別?
客戶端怎么處理 JS 事件失效的問題?客戶端不重新加載 JS 的情況下怎么實現?
做服務端渲染的時候有沒有遇到過比較難的點?
react ssr 和 ejs 性能的差異?
服務回滾是怎么做的?上線流程是怎樣的?k8s 回滾、拉取以前的鏡像
webpack plugin 的原理是什么?
plugin 中有異步請求會阻塞后面的 plugin 嗎?
做過哪些 webpack 的性能優化?
hard-source-webpack-plugin 是怎么做緩存的?修改文件后會怎么樣?
parallel 的原理是什么?多個子進程怎么通信?
你們 webpack 是怎么做拆包的?
服務端監控是怎么做的?服務有上報過什么指標?
Node 服務怎么去定位 CPU 占用暴漲的情況?怎么去定位內存泄露?
編寫 grpc 服務和 http 服務的區別?
做過哪些 react 相關的優化?函數組件怎么實現 shouldComponentUpdate?
如果有一個非常大的 react 頁面,我想優先渲染某一部分,這該怎么做?
react 函數組件和 class 組件里面 state 的區別?
react useEffect 對應 class 組件的哪些生命周期?
前端的監控是怎么做的?除了 sentry 還做了其他異常處理嗎?
三面
講一下你做的比較復雜的項目?以及你在項目中擔當了什么角色?
你是怎么看待現在各種造輪子的?
有一個一億長度的字符串,怎么存儲設計可以讓它更好去查詢、修改?
怎么優化 H5 讓它可以在 300ms 之內打開?
你們 WebView 加載一般耗時多久?
你們為什么從 Python 重構到 Node?好處是什么?
你是怎么看待做后臺管理系統的?很多人覺得它沒有難點,你覺得呢?(問這個問題是因為我現在在做后臺管理系統)
總監面(有點兒記不清了)
新加坡和深圳內網是怎么連通的?
未來的職業規劃是什么樣的?
對當前新的技術有了解嗎?
對客戶端知識有了解嗎?
為什么要離職?
拒了,崗位不是很喜歡
螞蟻
一面
React setState 怎么獲取到更新后的值?異步函數中為什么 setState 會立即更新?
做過離線包嗎?H5 離線包的原理?客戶端根據什么攔截靜態資源請求?
JS Bridge 的原理?你們這套方案的s優缺點?
怎么判斷 webview 是否加載完成?
怎么實現 App 頭部和頁面的背景漸變?
PC 端做過比較有意義的項目?
微前端子應用之間怎么通信?有沒有了解過業界的一些方案?
二面
你們部署的 Jenkins 是怎么做的?
JS Bridge 原理?有沒有安全漏洞?
有沒有做過和安全相關的?waf 主要做了什么?
有沒有做過埋點和性能上報相關?
如果你們用一個第三方的上報庫,但頁面加載這個 JS 失敗了,還想上報該怎么辦?
實現兩個大數相加
實現 DOM 字符串轉虛擬 DOM 對象(不能用 DOM 相關的 api)
有木有做過你覺得比較困難的項目?
三面
管理系統都做了哪些業務?有沒有做一些提高開發效率的東西?
常用的組件是哪個?解決了什么問題?
平時 Node 都用來做什么?怎么實現的?
SSR 的實現原理是什么?
項目中遇到的技術難點有哪些?
你覺得你們比 lazada 做得更好是哪些原因?
四面(略)
五面(略)
拼多多
一面
有沒有做過比較復雜的頁面?攜程的 React-imvc 做了什么?
使用 Redux 的好處,以及和 Mobx 的區別
對 React 最新特性有了解嗎?class 組件和函數組件的區別?
useState 為什么不能放到條件語句里面?
實現一個 Promise.all
React SSR 是怎么實現的?
有用過代碼規范相關的嗎?Eslint 和 Prettier 沖突怎么解決?
實現一個數組轉樹形結構的函數
二面
說幾個你覺得足夠復雜的項目?
你是怎么去做 React SSR 的?
有沒有做過性能優化相關的?
實現一個深拷貝
實現一個二叉搜索樹轉鏈表的方法
拒了,不想去賣命
商湯
一面
在工作中,主要是做什么內容?
有用過 lerna 嗎?多個項目之間共用的東西怎么共享?
講一講微前端是怎么做的?怎么獨立部署?子應用通信怎么做?
webpack 構建流程是怎樣的?
webpack loader 和 plugin 的原理和區別?
webpack 熱更新原理?
webpack 怎么做分包?
做過 webpack 性能優化嗎?有用過 rollup 嗎?
react-imvc 是什么?它做了什么?
react 和 react-dom 的區別是什么?
redux 和 mobx 的區別和優劣?用過 redux-saga 嗎?
react diff 的復雜度,以及 react diff 的原理
react class 組件和 hooks 的區別?
什么是 TS 泛型?
從輸入 url 到頁面展示經過了哪些步驟?
講一下重繪和回流
知道 BFC 嗎?使用場景有哪些?
怎么判斷是否為數組?
頁面卡頓怎么去定位?
數組有10萬個數據,取第一個和取第10萬個的耗時多久?
有用過 canvas 相關的嗎?
JS 垃圾回收機制?怎么定位 Node 內存泄露問題?
你是怎么理解前端的?
工作中遇到過最難的問題?有沒有什么讓你自豪的項目?
周末你都在做什么?學習前端的途徑是什么?
其他公司面的差不多了,這個后續面試就都拒了
字節
一面
tcp 和 udp 的區別和使用場景?
quic 基于 udp 怎么保證可靠性?
講一下同源策略和跨域方案?CORS 的幾個頭部是什么?
講一下 react fiber?
vue 雙向綁定原理?
redux 和 mobx 的區別和使用場景?
typeof null?null instanceof Object?
typeof 可以判斷哪些類型?instanceof 做了什么?
實現一個 bind 函數
求數組里面最大連續項的和
event loop
二面
怎么優化 h5 的加載速度?
離線包怎么更新?怎么知道需要打開哪個離線包?
js bridge 通信原理?
怎么實現 h5 頁面秒開?
明明不是同一個語言,為什么 js 和 native 可以通信?
怎么實現 js bridge 跨多個 app 共用?
grpc 相比 http 的優勢?
rpc 的調用流程?前端怎么調用 grpc 的?
為什么要用 grpc?
服務發現為什么用 ip,而不用域名?
怎么做 DNS 預解析?
怎么實現移動端的布局?
iOS 下軟鍵盤輸入框遮擋遇到過問題么?怎么解決頂不起來的問題?
實現兩個大數相加
求一個數組最大子項的和,要求這些子項在數組中的位置不是連續的
常用的 react hooks 方法
useState 怎么做緩存的?
react fiber 是什么?
怎么解決 useState 閉包的問題?
useReducer 比 redux 好在哪里?
三面
做過哪些公共組件?DatePicker 怎么實現的?難點在哪里?
組件封裝有哪些原則?
組件數據和 UI 怎么分離?
有沒有做過一些提高工作效率的東西?
有沒有了解過拖拽?覺得它有哪些難點?
有沒有做過優化相關的?webpack 做了哪些優化?
cache-loader 和 hard-source-webpack-plugin 的區別是什么?
最近遇到的比較難的項目是什么?你們服務是怎么部署的?
Puppeteer 可以用來做什么?
總結
面試挺累人的,每天下班后趕回家面試,有時候干脆找個會議室偷偷摸摸面試。面了將近一個月,目前還沒掛過,但由于各種因素,又都拒了。。。現在又要開始新一輪的面試了,祝自己好運吧。
最近組建了一個江西人的前端交流群,如果你也是江西人可以加我微信 ruochuan12 拉你進群。
常駐推薦閱讀
我在阿里招前端,我該怎么幫你?(現在還可以加模擬面試群)
如何拿下阿里巴巴 P6 的前端 Offer
如何準備阿里P6/P7前端面試--項目經歷準備篇
大廠面試官常問的亮點,該如何做出?
如何從初級到專家(P4-P7)打破成長瓶頸和有效突破
若川知乎問答:2年前端經驗,做的項目沒什么技術含量,怎么辦?
如何準備20K+的大廠前端面試
常駐末尾
你好,我是若川,江西人~(點擊藍字了解我)歷時一年只寫了一個學習源碼整體架構系列?有哪些必看的JS庫:jQuery、underscore、lodash、sentry、vuex、axios、koa、redux
關注
若川視野
,回復"pdf" 領取優質前端書籍pdf,回復"1",可加群長期交流學習我的博客地址:https://lxchuan12.gitee.io?歡迎收藏
覺得文章不錯,可以?分享、點贊、在看?呀^_^另外歡迎
留言
交流~
小提醒:若川視野公眾號面試、源碼等文章合集在菜單欄中間
【源碼精選】
按鈕,歡迎點擊閱讀,也可以星標我的公眾號,便于查找