快手前端校招一二面

NO IMAGE

tips: 面快手的時候沒怎麼準備,很久遠沒用過的手寫源碼有點生疏了,/(ㄒoㄒ)/~~,話不多說,看題

一面 (視頻面 1小時) 2月21日

  • 自我介紹

  • css佈局方式,清除浮動的方法,BFC是什麼,如何觸發

  • call、apply、bind區別,能手寫一個bind和apply嗎

  • 手寫promise源碼, 另外實現promise.all方法和promise.race方法

  • 深拷貝和淺拷貝是什麼,有什麼區別,手寫一個深拷貝函數,最好能處理循環引用和Date、Reg的

  • 實現js的sort api,具體的排序算法自己決定,這裡我選擇了快排

  • 算法,合併兩個有序鏈表

  • 算法,一個有序數組反轉後,找到第K大的元素(時間複雜度小於等於nlogn)

  • ES6都有哪些新的api,每一個都詳細談談

  • vue響應式原理,看過源碼嗎

  • vue diff算法的原理,這裡我談了vue的diff和react的diff,並且分析了他們相同點和不同點

  • http和https的區別

  • url從輸入到頁面展示的過程

  • https的握手有了解過嗎,詳細過程

  • 判斷數據類型的幾種方法,優缺點,實現方式

二面 (視頻面 1小時) 2月21日

  • 全程問react的知識

  • react中setState以後,是子樹渲染還是整顆樹渲染還是其他情況?

  • setState是異步的還是同步的,內部採用的是什麼機制

  • react事件瞭解嗎? (合成事件) 和普通事件有什麼區別,實現原理

  • react Fibber 瞭解嗎? (只答了時間片輪轉算法,調度策略)

  • react diff採用的什麼原則, (重點 last_index)

  • 算法,判斷一個字符串是否是迴文串

  • 算法,最大連續子序列(dp)

  • instanceOf原理,手寫一個instanceOf

  • react開發的幾種方式

  • react函數式寫法和類寫法的優缺點

  • react 類組件新增的兩個生命週期是哪兩個,作用是什麼

  • react hook使用過嗎? 使用過哪些hook

  • react 高階組件有哪幾種方式,如何寫一個高階組件

  • 什麼時候使用useRef,可以做到什麼事情

  • 算法,鏈表反轉


全程壓力還是蠻大的,項目組使用的技術棧我是超級喜歡的React+typescript

相關文章

【前端詞典】學習Vue源碼的必要知識儲備

【前端詞典】如何向老闆解釋反向代理

【前端詞典】從源碼解讀Vuex注入Vue生命週期的過程

字節跳動前端校招一二三面+hr面