你們好,最近金三銀四,今天分享一篇大廠前端社招面試經驗的輕鬆好文,相信看完會有所收穫。也歡迎點擊下方卡片關注或者星標個人公衆號前端公蝦米前端
目前工做快四年,年後投了一波簡歷,這裏整理了一下新鮮出爐的前端面經,須要的能夠自取。vue
騰訊
一面
-
寫一個 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 內存泄露問題? -
你是怎麼理解前端的? -
工做中遇到過最難的問題?有沒有什麼讓你自豪的項目? -
週末你都在作什麼?學習前端的途徑是什麼?
其餘公司面的差很少了,這個後續面試就都拒了react
字節
一面
-
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 能夠用來作什麼?
總結
面試挺累人的,天天下班後趕回家面試,有時候乾脆找個會議室偷偷摸摸面試。面了將近一個月,目前還沒掛過,但因爲各類因素,又都拒了。。。如今又要開始新一輪的面試了,祝本身好運吧。webpack
本文分享自微信公衆號 - 前端公蝦米(gh_0b53c67e23b7)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。web