Java面試可以從五個方面進行考察候選人
工作經歷
1、自我介紹是必要環節,從中可以知道候選人的溝通表達能力、對自身信息的提煉能否做到清晰又準確。
2、對簡歷寫的項目、技能一一深入發問,考察面試者對項目的業務細節、技術架構、場景解決、技術原理是否熟悉。如果簡歷還有寫個人博客、個人開源項目,還可以挑個感興趣的文章、項目深入發問、考察候選人是否真正理解寫的技術、項目。(簡歷內容不要求多,但敢在簡歷寫了就說明做好被深問的準備,答不好會扣分)
Java相關
這個可以先從簡單的開始問、比如抽象類和接口的區別、重寫equals方法需要注意的幾點等等,再慢慢深入Java并發、Java虛擬機等相關知識,從簡單到復雜的好處就可以了解候選人的Java技術達到怎樣的水平。
問題解決能力
對候選人的項目提出可能存在的問題,如何解決?
比如項目用到消息隊列,怎么解決消息丟失?怎么處理消息重復發送?
比如項目用到Solr,全量索引的時候數據丟失怎么解決?檢索速度很慢怎么辦?
編程能力
talk is cheap,show me the code,這里可以出兩道算法題、這個環節其實很重要、不僅可以考察候選人代碼的規范(比如命名規范、邊界值考慮、特殊輸入、錯誤處理等等),還可以考察其思維能力
即使寫不出來也可以講一下思路、看看思路是否清晰、是否可以解決問題
系統設計能力
讓候選人設計一個系統、比如像抖音的設計,白板上面畫出系統的架構圖,主要的表結構和講解主要的業務流程,如果用戶變多流量變大,架構將怎么擴展,怎樣應對?