上來(lái)走流程自我介紹, 介紹一下最近做的項(xiàng)目
現(xiàn)在才大三, 總共就做過(guò)3個(gè)項(xiàng)目
說(shuō)了一個(gè)簡(jiǎn)單的數(shù)據(jù)展示頁(yè)使用react搭建, bizcharts做圖表展示, 中間地圖點(diǎn)擊下潛
講到考慮到?jīng)]有組件間通信(業(yè)務(wù)如此)沒(méi)有使用redux管理狀態(tài)
并且每一次下潛時(shí)都會(huì)重新渲染所有圖表, 所以所有class組件都使用了component繼承省去PureComponent的淺比較, 然后面試官問(wèn)到Component和PureComponent的區(qū)別, 說(shuō)到PureComponent自帶一個(gè)shouldComponentUpdate的比較可以阻止diff
然后問(wèn)了下redux的實(shí)際使用業(yè)務(wù)場(chǎng)景, 一開(kāi)始沒(méi)說(shuō)對(duì)說(shuō)了組件間數(shù)據(jù)共享, 說(shuō)組件間數(shù)據(jù)共享有太多種方式了, 挫一點(diǎn)的寫在window, sessionStorage里, 然后才說(shuō)是組件間通信,
然后叫我自己設(shè)計(jì)一個(gè)組件間通信的會(huì)怎么做, 想了想說(shuō)到context和useReducer
但是又少一個(gè)回傳途徑, 然后我說(shuō)使用閉包暴露回傳方法, 然后他問(wèn)具體怎么做, 我說(shuō)使用發(fā)布訂閱者模式(也就是模擬一個(gè)redux), 但是鑒于自己對(duì)發(fā)布訂閱者模式的理解較淺, 講不出再具體的了作罷.
然后問(wèn)到bizcharts, 問(wèn)我如果要自己設(shè)計(jì)一套bizcharts會(huì)怎么進(jìn)行設(shè)計(jì)和分層, 我tm......API都沒(méi)用熟更別說(shuō)源碼和思想, 我只能說(shuō)了說(shuō)按其Chart, Axis 之類的組件進(jìn)行分層, 但顯然太淺, 結(jié)束GG
難歸難, 問(wèn)的完全超出實(shí)習(xí)生水準(zhǔn), 但阿里的面試確實(shí)有水準(zhǔn), 面試官一邊考察水平還邊引導(dǎo)我思考
害, 還是心累, 說(shuō)白了自己太菜