更新時間:2019-12-31 11:41:44 來源:動力節(jié)點(diǎn) 瀏覽2492次
面向?qū)ο缶幊袒A(chǔ)
1 簡述一下面向?qū)ο蟮娜筇卣?
回答:根據(jù)一些小例子描述封裝,繼承,多態(tài),ok;通過自己開發(fā)的代碼說明封裝,繼承,多態(tài)(重點(diǎn)),加分。
舉例:我們項(xiàng)目的用戶體系很大,而我負(fù)責(zé)開發(fā)其中一種用戶類型,這種用戶類型是在原有的用戶上追加了XX屬性,所以選擇了繼承原有用戶的模型... ...
2. 簡述對開閉原則的理解?(其實(shí)有5大原則,而開閉原則相對比較被大家熟悉)
回答:開放擴(kuò)展,關(guān)閉修改,OK;如果結(jié)合自己的代碼說明,加分
PS:一般情況下,開閉原則的思想使用在設(shè)計最初預(yù)見到功能的擴(kuò)展性的時候,或者第一次需要擴(kuò)展某一項(xiàng)功能而對原有代碼進(jìn)行重構(gòu)的時候。如果面試者回答出相關(guān)的,說明可能是有相關(guān)設(shè)計經(jīng)驗(yàn)的。
3. 類和對象的關(guān)系?
回答:類可以看做是對象的一個模板,對象是類在實(shí)際運(yùn)行時的表象,類似這種意思都OK;從jvm內(nèi)存角度分析從類創(chuàng)建出對象的過程,加分(這個屬于高級開發(fā)部分)
java基礎(chǔ)和jdk常用類使用
1. 你在項(xiàng)目中使用過的集合有哪些?
回答:ArrayList,linkedList,HashSet,HashMap 就OK;如果分類回答出Collection的子類和Map的子類,加分;如果回答出ArrayList,LinkedList,Vector的區(qū)別,加分;如果回答出HashSet,LinkedHashSet,TreeSet的區(qū)別,加分;如果回答出Queue,加分;如果回答出HashMap,HashTable,TreeMap的區(qū)別,加分
PS:有時候也會直接提問使用過的Collection的子類,這時請不要回答Map相關(guān)的子類
2. java中的異常分為哪幾類?
回答:Checked Exception和Unchecked Exception, OK;說出它們的區(qū)別,并列舉出常用的Checked Exception,加分;
追加提問:你在項(xiàng)目中如何使用Unchecked exception? (陷阱題)
回答:在項(xiàng)目中,不直接拋出Unchecked exception,而是將Unchecked exception包裝成業(yè)務(wù)異常(Checked Exception)再拋出,OK;如果描述如何拋出Unchecked exception,但是不能說明在什么情況下進(jìn)行處理時,扣分
3. 有5個String類型的變量,想要直接拼接起來成為一個字符串,是使用+號拼接,還是使用其他方式?(陷阱題)
回答:使用+號拼接,OK;能直接說明StringBuilder和StringBuffer,并且解釋不適用題目情況的理由,加分
看面試者的回答追加提問:為什么 使用/不使用 StringBuilder或者StringBuffer?
回答:直接拼接現(xiàn)有字符串,使用+號直接拼接并不存在內(nèi)存浪費(fèi),而StringBuilder和StringBuffer在執(zhí)行效率上比+號拼接要差。
4. 簡述一下hashcode的作用?
回答:int類型的對象的散列碼,是為了更好的支持基于哈希機(jī)制的Java集合類,例如 Hashtable, HashMap, HashSet,意思描述正確就OK;和equals的使用做比較,重寫equals必須重寫hashcode。equals返回true,hashcode一定返回true;而hashcode一定返回true,equals不一定返回true。加分。
5. 什么時候使用finally關(guān)鍵字?
回答:try...catch后書寫finally代碼塊,finally代碼塊一般是用于釋放try代碼塊中使用的資源,OK;回答出代碼塊調(diào)用順序,加分。
設(shè)計模式
(對于中級java工程師來說,單例和工廠模式是最為常用的,也許他們在不知不覺中一直在使用,但是如果可以描述清楚的話,那么更好)
1. 描述或者寫出一個你在項(xiàng)目中編寫的單例模式的類
回答:描述清楚或者寫清楚了,ok;能回答出多種單例模式方案和比較的,加分
2. 描述或者寫出一個你在項(xiàng)目中編寫的工廠模式的類
回答:工廠模式有多種,描述一種就OK:能回答多種工廠模式的并且思路清晰的,加分
Spring相關(guān)
(99% Java面試者的簡歷中都會寫熟悉Spring框架。但是真要提問概念性的東西,IOC、AOP等等,最多就是背一個概念,所以Spring提問的出發(fā)點(diǎn)還是中級工程師平時用到的一些基礎(chǔ)性的東西)
1. 描述一下如何使用@Autowired注解和@Qualifier注解
回答:@Autowired是Spring在任意粒度進(jìn)行自動裝配控制的注解,@Qualifier是在自動裝配多個同源實(shí)現(xiàn)時,指定唯一實(shí)現(xiàn)使用的注解,意思對就OK;結(jié)合項(xiàng)目說明使用方式,加分。
2. Spring的配置方式有哪些?
回答:XML配置,注解配置,java代碼配置,OK;說明區(qū)別,加分
追加提問:舉例java代碼配置?
回答:使用@Configuration和@Bean注解,OK;使用過@Condition系列,@Import等等注解,加分
以上就是動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年面試常用題:最新Java面試題及答案”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)推薦
最新最全java面試題及答案(初級到高級)
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743