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