更新時間:2019-12-31 11:41:44 來源:動力節點 瀏覽2468次
面向對象編程基礎
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中的異常分為哪幾類?
回答:Checked Exception和Unchecked Exception, OK;說出它們的區別,并列舉出常用的Checked Exception,加分;
追加提問:你在項目中如何使用Unchecked exception? (陷阱題)
回答:在項目中,不直接拋出Unchecked exception,而是將Unchecked exception包裝成業務異常(Checked Exception)再拋出,OK;如果描述如何拋出Unchecked exception,但是不能說明在什么情況下進行處理時,扣分
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培訓機構小編介紹的“2020年面試常用題:最新Java面試題及答案”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
相關推薦
最新最全java面試題及答案(初級到高級)
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習