本文繼續分享最新真實面經,希望對粉絲股東們有幫助,另外 文末有直投大廠的機會,別錯過。 都說行情不好,可是有的同學拿到了很多Offer,各種對比;也有同學連面試都很難約到。「 能拿到Offer的大多相似,拿不到的各有各的原因 。 」
金三銀四你拿到了哪些offer?
也歡迎大家在評論區留言討論,不要錯過文末的 企業直招福利 。
百度一面
Vue3 的源碼
ref和reactive區別,vue團隊為什麽要這麽設計?
源碼使用了reflect,為什麽要這麽使用?
他是如何跟蹤數據的?為什麽要用weakMap?
你是如何區別不同的虛擬dom(文本,fragment,自訂元件)?
說一下diff演算法?
diff演算法你說到了最長公共子序列這個演算法,怎麽實作呢,說一說思路?
那對於新增的虛擬dom你是怎麽實作插入的(換句話說你是怎麽記錄dom位置的,程式碼怎麽知道我就要插入這個地方)?
CSS 部份
如何使用rem這個單位的,它是什麽含義
link和import的區別
看到你有寫拆分css,為什麽要這麽做,一個css不好嗎?
你說到首屏渲染加速,拆分css,那麽這個東西是絕對的嗎,你拆了css,就多了一個http請求,所以你得均衡考慮,魚和熊掌不可兼得
cdn工作原理,為什麽要把靜態資源放在cdn裏面?
計畫
講一講你做的這個計畫(從產品定位,產品需求,功能模組三個部份,能說多少說多少)
你做的是哪一部份
rpc通訊具體實作的方案?
現在給你一個場景,後端返回一堆數據,你可能要彈出多個彈窗,但是頁面只有一個彈窗,只是我點選彈窗之後下一步操作彈出另一個彈窗,如何做到絲滑操作,不會有彈窗開和關的那種停頓感,如果能有封裝的邏輯就更好了。
遇到的難點,如何解決的
程式碼題
將一維陣列變為二維陣列
全排列
美團一面
自我介紹
剛剛說到單點登入,能說一下它的原理嗎?
前端需要做什麽工作?
你們這樣設計,相容性不會特別差嗎?
微套用是如何組織架構的?
你知道qiankun是基於什麽封裝的嗎?
single SPA框架你了解嗎
你能說一下單頁面套用,能說一下嗎?
你的理解沒有問題,講得非常通俗易懂,你知道路由切換的原理嗎?
你提到了程式碼的復用,你平常做了哪些工作?
你這是屬於CR後面做最佳化,然後最佳化中帶了一些復用的點
你覺得前端整個系統有哪些復用的方面
你說的v-for是vue的?是的
你用的vue2還是vue3
vue3除了組合API,還有什麽變化嗎?
你剛剛說到proxy,能具體展開嗎?
你知道$set嗎?
computed和watch區別
能大概介紹一下vue的數據驅動的底層嗎?
你剛剛說到watcher,是啥?
問幾個基礎性性問題,promise了解嗎?new 一個 promise 先resolve,然後reject,會怎麽樣?
有一個then,return了一個值,下一個then能拿到這個值嗎?
你的計畫經歷分享了xxxx,不便說
原型鏈你知道吧?
原型鏈的盡頭是啥?
如果寫一個類的繼承你應該知道吧?
你覺得什麽時候再JavaScript會用到類?
物件導向的好處是啥?
問一個比較開放的問題,你覺得前端是物件導向的嗎?
閉包你知道吧?
你現在是什麽時候畢業
你在在校期間有沒有參加過一些實際的計畫開發?
你有沒有深入去做過一個事情?
平時怎麽去學習前端的?
你覺得你你目前前端是個水平的人?
如果你和你的mentor觀點上發生了沖突,他認為他的好,你認為你的好,怎麽辦呢?
兩數之和
美團二面
工作產出
npm / pnpm / yarn
npm 發包 需要關註哪些點和指標
Pnpm 軟連結 / 硬連結
docer效能最佳化
小程式效能最佳化
跨端原理
手撕兩道:發紅包 & flat函式實作
字節一面
計畫難點、解決方案
陣列儲存怎麽壓縮(稀疏矩陣,三元組有關知識)
數據型別有哪些,如何判斷
let、const與棧、堆之間的關系,棧、堆哪個存取速度更快,為什麽?
settimeout和settimeinterval哪個更準確,為什麽?延時設為0ms會怎樣?(最少4ms)
事件迴圈
tcp、udp的區別
http如何建立連線,有哪些過程?(三次握手那些)
https如何防竊聽和篡改,自己抓過包沒,可以修改不?(面試官說實際上可以隨便改,沒試過 )
promise有哪些狀態,fulfilled可以改成rejected不?常用的靜態方法?
前端安全,vue怎麽防止xss攻擊的?
場景題:vue中如何渲染使用者想要的自訂文本,比如有各種顏色,各種字型大小(類似於用vue實作一個文字編輯器)
手寫題1:settimeout(() => {console.log(1)},1000)怎麽讓1在2s後打印,不能直接修改時間
手寫題2:例項鏈式呼叫:如let a = new Man(); a.sleep(3000).sayHi().sleep(1000).sleep(2000).sayHi();寫出Man()建構函式
手寫題3:遍歷DOM樹打印每個元素的tagName
手寫題4:打印陣列全排列,[1,2,3] 打印[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
粉絲福利
給大家安利一下 「萬碼優才」 小程式的 「卓越雇主招聘月」 主題招聘活動,可以直投大廠。
萬碼優才 是 「程式設計師專屬求職平台」 、有各種崗位可以投遞,包括:前後端開發、演算法、產品、測試、運維、硬體等 80種 類別的 上萬個 技術崗位, 目前已經有80萬程式設計師在用了。
最新上線的 卓越雇主招聘月 更是吸引了巨頭企業,也新增了眾多崗位。
比如: 美團、京東、奇瑞汽車、萬興科技、江小白、中建電子、中汽創智等公司的前端 崗位...
抓住這次機會,抓緊投一波:
也歡迎你進群交流,學習經驗:
江浙滬高級前端群
京津冀高級前端群