更新時(shí)間:2022-12-12 14:30:50 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2297次
Java可以說(shuō)是目前轉(zhuǎn)型的潮流,各大企業(yè)對(duì)于Java中高端人才的需求量也是越來(lái)越大,這一趨勢(shì),給想要從事這方面工作的同學(xué)提供了難得的機(jī)會(huì)。不管是現(xiàn)在還是未來(lái),Java作為熱門學(xué)科,被越來(lái)越多的人知道,傳統(tǒng)高校也設(shè)立了Java類的專業(yè)學(xué)科,這就催生出了新一批的就業(yè)崗位。
不少畢業(yè)的學(xué)生以為很簡(jiǎn)單的就能夠進(jìn)入到這個(gè)行業(yè)中,誰(shuí)知四處碰壁,想要快速的就業(yè),一定是要有一套面試題在手,做好就業(yè)的準(zhǔn)備,俗話說(shuō)“機(jī)會(huì)都是留給有準(zhǔn)備的人”。小編的這套java中級(jí)面試題及答案,提供給大家參考一下:
問題:介紹下繼承的原則
答案:繼承使得一個(gè)對(duì)象可以獲取另一個(gè)對(duì)象的屬性。使用繼承可以讓已經(jīng)測(cè)試完備的功能得以復(fù)用,并且可以一次修改,所有繼承的地方都同時(shí)生效。
問題:什么是隱式的類型轉(zhuǎn)化?
答案:隱式的類型轉(zhuǎn)化就是簡(jiǎn)單的一個(gè)類型賦值給另一個(gè)類型,沒有顯式的告訴編譯器發(fā)生了轉(zhuǎn)化。并不是所有的類型都支持隱式的類型轉(zhuǎn)化。
代碼示例:
int i =1000:
long j= i; //Implicit casting
問題: sizeof 是Java 的關(guān)鍵字嗎?
答案:不是。
問題: native 方法是什么?
答案:native 方法是非Java 代碼實(shí)現(xiàn)的方法
問題:在 System.out.println(里面,System,out,printIn 分別是什么?
答案:System 是系統(tǒng)提供的預(yù)定義的 fina類,out 是一個(gè) PrintStream對(duì)象,println 是 out 對(duì)象里面一個(gè)重載的方法。
問題:封裝,繼承和多態(tài)是什么?
答案:簡(jiǎn)單來(lái)說(shuō),多態(tài)是指一個(gè)名字多種實(shí)現(xiàn)。多態(tài)使得一個(gè)實(shí)體通過(guò)一個(gè)通用的方式來(lái)實(shí)現(xiàn)不同的操作。具體的操作是由實(shí)際的實(shí)現(xiàn)來(lái)決定的。
多態(tài)在Java 里有三種表現(xiàn)方式:方法重載通過(guò)繼承實(shí)現(xiàn)方法重寫通過(guò)Java 接口進(jìn)行方法重寫。
問題:顯式的類型轉(zhuǎn)化是什么?
答案:顯式的類型轉(zhuǎn)化是明確告訴了編譯器來(lái)進(jìn)行對(duì)象的轉(zhuǎn)化。
代碼示例:
long i = 700.20;
int j= (int) i; //Explicit casting
問題:什么是 Java 虛擬機(jī)?
答案:Java 虛擬機(jī)是能移植到不同硬件平臺(tái)上的軟件系統(tǒng)
問題:類型向下轉(zhuǎn)換是什么?
答案:向下轉(zhuǎn)換是指由一個(gè)通用類型轉(zhuǎn)換成一個(gè)具體的類型,在繼承結(jié)構(gòu)向下進(jìn)行。
問題:Java 的訪問修飾符是什么?
答案:訪問權(quán)限修飾符是表明類成員的訪問權(quán)限類型的關(guān)鍵字。使用這些關(guān)鍵字來(lái)限定程序的方法或者變量的訪問權(quán)限。它們包含:
public:所有類都可以訪問 protected: 同一個(gè)包內(nèi)以及所有子類都可以訪問 private: 只有歸屬的類才能訪問默認(rèn): 歸屬類及相同包下的子類可以訪問
問題:redux的工作流程?
首先,我們看下幾個(gè)核心概念:
1、 Store:保存數(shù)據(jù)的地方,你可以把它看成一個(gè)容器,整個(gè)應(yīng)用只能有一個(gè)Store。
2、 State:Store對(duì)象包含所有數(shù)據(jù),如果想得到某個(gè)時(shí)點(diǎn)的數(shù)據(jù),就要對(duì)Store生成快照,這種時(shí)點(diǎn)的數(shù)據(jù)集合,就叫做State。
3、 Action:State的變化,會(huì)導(dǎo)致View的變化。但是,用戶接觸不到State,只能接觸到View。所以,State的變化必須是View導(dǎo)致的。Action就是View發(fā)出的通知,表示State應(yīng)該要發(fā)生變化了。
4、 Action Creator:View要發(fā)送多少種消息,就會(huì)有多少種Action。如果都手寫,會(huì)很麻煩,所以我們定義一個(gè)函數(shù)來(lái)生成Action,這個(gè)函數(shù)就叫Action Creator。
5、 Reducer:Store收到Action以后,必須給出一個(gè)新的State,這樣View才會(huì)發(fā)生變化。這種State的計(jì)算過(guò)程就叫做Reducer。Reducer是一個(gè)函數(shù),它接受Action和當(dāng)前State作為參數(shù),返回一個(gè)新的State。
6、 dispatch:是View發(fā)出Action的唯一方法。
然后我們過(guò)下整個(gè)工作流程:
1、 首先,用戶(通過(guò)View)發(fā)出Action,發(fā)出方式就用到了dispatch方法。
2、 然后,Store自動(dòng)調(diào)用Reducer,并且傳入兩個(gè)參數(shù):當(dāng)前State和收到的Action,Reducer會(huì)返回新的State
3、 State一旦有變化,Store就會(huì)調(diào)用監(jiān)聽函數(shù),來(lái)更新View。
到這兒為止,一次用戶交互流程結(jié)束。可以看到,在整個(gè)流程中數(shù)據(jù)都是單向流動(dòng)的,這種方式保證了流程的清晰。
問題:ParNew 垃圾收集器(Serial+多線程)
ParNew 垃圾收集器其實(shí)是 Serial 收集器的多線程版本,也使用復(fù)制算法,除了使用多線程進(jìn)行垃圾收集之外,其余的行為和 Serial 收集器完全一樣, ParNew 垃圾收集器在垃圾收集過(guò)程中同樣也要暫停所有其他的工作線程。
ParNew 收集器默認(rèn)開啟和 CPU 數(shù)目相同的線程數(shù),可以通過(guò)-XX:ParallelGCThreads 參數(shù)來(lái)限制垃圾收集器的線程數(shù)。【Parallel:平行的】
ParNew 雖然是除了多線程外和Serial 收集器幾乎完全一樣,但是ParNew垃圾收集器是很多 java虛擬機(jī)運(yùn)行在 Server 模式下新生代的默認(rèn)垃圾收集器。
以上就是“2023大匯總Java中級(jí)面試題及答案”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743