題目可能偏向技術管理、架構師方向
手寫源碼(紙上寫完,掃描生成代碼直接運行)
這一關,我覺得是很有必要的,人眼可以判斷出JS代碼運行是否錯誤,這點判斷排除BUG能力很關鍵。
- 手寫lodash的merge、isEqual、cloneDeep函數源碼
- redux中間件redux-logger、redux-thunk和中間件實現
面試基礎題(一面)
- 為什麼 "a"==true 和 "a"==false 結果都是false ?
- 為什麼typeof null 結果是object 不修復這個BUG?
- 快速排序、冒泡排序、手寫一棵樹,怎麼設計能最快的diff到節點的數據修改
- 你之前怎麼處理TCP發包和收包的粘包問題的?
- 你之前對於Electron桌面應用中,服務端推送數據過快,出現進程內緩存與本地數據庫數據不一致的問題,你怎麼解決的?
- node.js的cluster、path模塊,pm2源碼你之前是怎麼閱讀的,能系統講講嗎?特別是負載均衡的實現
- 你之前自研的富文本編輯器、博客系統這些東西能講講遇到的難點嗎?
- 你自己實現的React、webpack、vue、react-keep-alive這些輪子,都學到了什麼?性能遭遇瓶頸怎麼解決的
- 性能、異常監控實現的原理
- TypeScript的極端警告錯誤提示處理
- GC垃圾回收不過來,你當時怎麼處理的
- 日常的單元測試覆蓋率
- 你的xCode用的什麼版本(問的VOIP喚醒其實,挖坑)
- 你以前做過哪些複雜度很高的產品、用戶量超過50萬的產品
架構方向(二面)
- 講講你的桌面端應用Electron的架構設計風格
- ELectron、react-native、flutter、小程序的性能問題,怎麼處理解決。flutter會有性能問題嗎?
- 從零設計一個內部開發協同平臺,講講大致實現
- 講講高可用、高性能的移動端站點設計,我是結合docker、gitlab、jenkins、自研桌面端可視化軟件一起實現的CI、CD
- 部門前端的內部建設經驗
- 你之前公司做的的內部技術培訓
後端方向(三面)
- redis、MQ的使用場景,結合單點登陸、業務結偶講講
- 負載均衡的幾種方式,哪些場景用
- 限流算法以前用過哪種
- 微服務的容錯機制,BFF層出現問題會怎麼樣,該怎麼辦
- 你使用Node.js和Golang開發,覺得他們有什麼不一樣的優勢
- 你會聯表查詢超過三張表以上嗎
- redis和數據庫的緩存雙刪策略場景
- redis集群的數據同步問題
四面(HR)
- 你95年,結婚了嗎?
- 。。。省略若干
綜上所述,這次面試交流收穫不大,感覺都是一些基礎題目
閱讀更多 小U資訊 的文章