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