面試官:談一下React 的Fiber架構(gòu)和Hooks
國(guó)內(nèi)的前端領(lǐng)域,Vue 和 React 是最火的兩個(gè)框架,要說(shuō)崗位數(shù)量,Vue可能會(huì)更多一點(diǎn)。
但如果把公司范圍縮小到大廠,或者把范圍擴(kuò)展到全球,那React無(wú)疑獨(dú)占鰲頭。

↑上圖來(lái)自《2019年度JavaScript現(xiàn)狀調(diào)查報(bào)告》↑
可以說(shuō),如果你想進(jìn)大廠,必須搞定 React,并且是從原理層面搞定 React。以下是我從阿里,字節(jié),滴滴等大廠面經(jīng)中摘取的React相關(guān)面試題:React 的 diff 算法工作過(guò)程React 中的 setState 是同步還是異步React、Vue /Angular 的區(qū)別?(會(huì)根據(jù)你簡(jiǎn)歷中寫(xiě)的技術(shù)棧來(lái))React 中各種組件復(fù)用的優(yōu)劣勢(shì)(mixin、render props、hoc、hook)React 的 Fiber 架構(gòu)React 性能優(yōu)化React hooks 相關(guān)問(wèn)題React新的生命周期,為什么 getDrivedStatefromProps 是靜態(tài)的?可以很清楚地看到,以上大部分問(wèn)題都是React 原理層面的問(wèn)題。
面試官為什么要問(wèn)這些問(wèn)題?我會(huì)寫(xiě)業(yè)務(wù)不就行了?【會(huì)用React】和【會(huì)用React且懂原理】的人,戰(zhàn)斗力是不一樣的。隨著業(yè)務(wù)復(fù)雜度的上升,你在開(kāi)發(fā)中會(huì)遇到各種各樣的問(wèn)題,比如雖然沒(méi)有出現(xiàn)bug,但是項(xiàng)目性能很差,這時(shí)候你會(huì)如何分析調(diào)整?
再舉個(gè)例子,React 路由有3種渲染方式——render,children,component,到底用哪一個(gè)?用任何一個(gè)都可以嗎?對(duì)項(xiàng)目來(lái)說(shuō)哪個(gè)是最優(yōu)的?
如果日常工作中只是調(diào)用API,不理解原理,那上面的問(wèn)題你很難解決。
如何真正理解 React 原理?
閱讀?React?源碼是最直接有效的方式。通過(guò)閱讀源碼,你不僅能在日常工作和面試中受益,還能從中吸收優(yōu)秀的解決問(wèn)題的思路以及培養(yǎng)“造輪子”的能力,還會(huì)學(xué)習(xí)到怎么寫(xiě)出規(guī)范又好維護(hù)的代碼。不過(guò)React源碼量級(jí)很大,本身有很大的難度,很多人都因此被勸退。這里給大家推薦一個(gè)非常棒的React源碼資料包,前京東資深前端工程師高老師帶你手寫(xiě) mini-react,深入解讀React源碼,你將能收獲以下知識(shí)及能力:

現(xiàn)在只需0元,就可以獲得《深度剖析React源碼》資料包,手寫(xiě)mini-react,搞定大廠面試。
立刻掃碼,0元獲取


資料內(nèi)容


講師介紹


視頻資料截圖

立刻掃碼,0元獲取
《深度剖析React源碼》資料包

手寫(xiě)mini-react,搞定大廠面試
