面試前會先填基本資料表,包含過去工作經歷、期望待遇等。
面試分三階段,第一階段是筆試大約40分鐘,問題如: JavaS
cript 閉包、hoisting、event loop、this、三元運算、React key、React useState 和 useRef 差異、XSS 是什麼...等,JavaScript 核心觀念要蠻熟的,考很多程式題讓你回答會印出什麼,要清楚執行JS過程時發生的事~
第二階段是3位工程師來面試,簡短自我介紹後會先檢討考卷,告訴你答案並讓你想想看為何答案是這樣,接著會口頭問技術問題,問題如: reflow 和 repaint 是什麼/差異是什麼、過去做過的效能優化經驗、websocket 和 http 的差異、cookie/local storage/session storage、解釋 RESTful API、hook 是什麼/過去是否用過自訂 hook、React.memo/useMemo/useCallback 差異...等,其實蠻多的XD,建議大家要熟悉前端經典面試題!
也有問過去工作經驗的事情~要能清晰表達自己所做的工作內容。
第三階段是人資+部門主管(?面試,問了對未來職涯的期待、為何想換工作、過去解決過的困難經驗等問題。
人資最後有說,只會有一次面試,若沒通過會直接無聲卡~
然後這個職缺是產品的前端缺,整個技術中心前端共13人左右,雖然負責不同產品但都會一起開會 討論一下最近在做什麼或有什麼新收穫、新經驗這樣。
面試問答
React key 的用途
依照自身理解回答。(diffing 時可用來確認誰是誰)
如果一個頁面要一次 load 3000筆資料,會如何優化
依照自身理解回答。(這個自認沒答好><)
如果你code review別人提了建議,但別人不想改怎麼辦
依照自身理解回答。
面試建議
建議要熟悉前端面試考題,網路很多資源,要熟讀,除了了解觀念也要知道這些觀念如何應用在程式碼,能理解 JS 程式碼執行時發生的事,也能清晰解釋原因。
除此之外,React、優化、資安、網路和CSS的一些知識也都要去讀一下~技術考題問不少,然後對自己的過去經驗要足夠熟悉 能清楚說明自己工作內容與成就。