更新時間:2019-10-06 09:00:00 來源:動力節點 瀏覽3076次
中級java工程師,要有扎實的java基礎和面向對象編程基礎,對jdk中的基礎類有一定的使用積累和理解;并且在業務方面,可以擔任一些模塊的獨立開發。
根據上述兩個必要條件進行篩選,在技術方面,作為面試官會問以下問題:
面向對象編程基礎
1簡述一下面向對象的三大特征?
回答:根據一些小例子描述封裝,繼承,多態,ok;通過自己開發的代碼說明封裝,繼承,多態(重點),加分。
舉例:我們項目的用戶體系很大,而我負責開發其中一種用戶類型,這種用戶類型是在原有的用戶上追加了XX屬性,所以選擇了繼承原有用戶的模型......
2.簡述對開閉原則的理解?(其實有5大原則,而開閉原則相對比較被大家熟悉)
回答:開放擴展,關閉修改,OK;如果結合自己的代碼說明,加分
PS:一般情況下,開閉原則的思想使用在設計最初預見到功能的擴展性的時候,或者第一次需要擴展某一項功能而對原有代碼進行重構的時候。如果面試者回答出相關的,說明可能是有相關設計經驗的。
3.類和對象的關系?
回答:類可以看做是對象的一個模板,對象是類在實際運行時的表象,類似這種意思都OK;從jvm內存角度分析從類創建出對象的過程,加分(這個屬于高級開發部分)
java基礎和jdk常用類使用
1.你在項目中使用過的集合有哪些?
回答:ArrayList,linkedList,HashSet,HashMap就OK;如果分類回答出Collection的子類和Map的子類,加分;如果回答出ArrayList,LinkedList,Vector的區別,加分;如果回答出HashSet,LinkedHashSet,TreeSet的區別,加分;如果回答出Queue,加分;如果回答出HashMap,HashTable,TreeMap的區別,加分
PS:有時候也會直接提問使用過的Collection的子類,這時請不要回答Map相關的子類
2.java中的異常分為哪幾類?
回答:CheckedException和UncheckedException,OK;說出它們的區別,并列舉出常用的CheckedException,加分;
追加提問:你在項目中如何使用Uncheckedexception?(陷阱題)
回答:在項目中,不直接拋出Uncheckedexception,而是將Uncheckedexception包裝成業務異常(CheckedException)再拋出,OK;如果描述如何拋出Uncheckedexception,但是不能說明在什么情況下進行處理時,扣分
3.有5個String類型的變量,想要直接拼接起來成為一個字符串,是使用+號拼接,還是使用其他方式?(陷阱題)
回答:使用+號拼接,OK;能直接說明StringBuilder和StringBuffer,并且解釋不適用題目情況的理由,加分
看面試者的回答追加提問:為什么使用/不使用StringBuilder或者StringBuffer?
回答:直接拼接現有字符串,使用+號直接拼接并不存在內存浪費,而StringBuilder和StringBuffer在執行效率上比+號拼接要差。
4.簡述一下hashcode的作用?
回答:int類型的對象的散列碼,是為了更好的支持基于哈希機制的Java集合類,例如Hashtable,HashMap,HashSet,意思描述正確就OK;和equals的使用做比較,重寫equals必須重寫hashcode。equals返回true,hashcode一定返回true;而hashcode一定返回true,equals不一定返回true。加分。
5.什么時候使用finally關鍵字?
回答:try...catch后書寫finally代碼塊,finally代碼塊一般是用于釋放try代碼塊中使用的資源,OK;回答出代碼塊調用順序,加分。
設計模式
(對于中級java工程師來說,單例和工廠模式是最為常用的,也許他們在不知不覺中一直在使用,但是如果可以描述清楚的話,那么更好)
1.描述或者寫出一個你在項目中編寫的單例模式的類
回答:描述清楚或者寫清楚了,ok;能回答出多種單例模式方案和比較的,加分
2.描述或者寫出一個你在項目中編寫的工廠模式的類
回答:工廠模式有多種,描述一種就OK:能回答多種工廠模式的并且思路清晰的,加分
Spring相關
(99%Java面試者的簡歷中都會寫熟悉Spring框架。但是真要提問概念性的東西,IOC、AOP等等,最多就是背一個概念,所以Spring提問的出發點還是中級工程師平時用到的一些基礎性的東西)
1.描述一下如何使用@Autowired注解和@Qualifier注解
回答:@Autowired是Spring在任意粒度進行自動裝配控制的注解,@Qualifier是在自動裝配多個同源實現時,指定唯一實現使用的注解,意思對就OK;結合項目說明使用方式,加分。
2.Spring的配置方式有哪些?
回答:XML配置,注解配置,java代碼配置,OK;說明區別,加分
追加提問:舉例java代碼配置?
回答:使用@Configuration和@Bean注解,OK;使用過@Condition系列,@Import等等注解,加分
中級java工程師階段是工程師中基數最大的人群,基礎參差不齊,選拔定位都比較困難,所以問題的廣度也很大。中級java工程師的面試中,除了上面的一些技術問題外,結合簡歷中的項目經驗的提問也很多,但是這個就無法總結了,需要根據實際情況提問和回答。
以上就是動力節點java培訓機構小編介紹的“面試官會問中級Java工程師哪些問題?”的內容,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習