Java軟件開發(fā)工程師筆試題_第1頁(yè)
Java軟件開發(fā)工程師筆試題_第2頁(yè)
Java軟件開發(fā)工程師筆試題_第3頁(yè)
Java軟件開發(fā)工程師筆試題_第4頁(yè)
Java軟件開發(fā)工程師筆試題_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁(yè)Java軟件開發(fā)工程師筆試題

一、選擇題(本大題20小題,每題2分.共40分)。

1.在JAVA中,假如父類中某些方法不包含任何規(guī)律,并且需要由子類重寫.應(yīng)當(dāng)運(yùn)用()關(guān)鍵字來聲明父類的這些方法:

A)finalB)staticC)abstractD)void

2.在JAVA中,已定義兩個(gè)接口B和C,要定義一個(gè)實(shí)現(xiàn)這兩個(gè)接口的類,以下語句正確的選項(xiàng)是()。

A)interfaceAe*tendB,CB)interfaceAimplementsB,C

C)classAimplementsB,CD)classAimplementsB,implementsC

3.在JAVA接口中可以定義()。

A)靜態(tài)方法B)常量C)構(gòu)造方法D)抽象方法

4.假設(shè)A有構(gòu)造方法A(inta),那么在類A的其他構(gòu)造方法中調(diào)用該構(gòu)造方法和語句格式應(yīng)為()。

A)A(*)B)this.A(*)C)this(*)D)super(*)

5.設(shè)*=1,y=2,z=3,那么表達(dá)式y(tǒng)+=z--/++*的值是()。

A)3B)3.5C)4D)5

6.以下關(guān)于繼承的說法哪個(gè)正確?()。

A)子類只繼承父類public方法和屬性:

B)子類繼承父類的非私有屬性和方法:

C)子類繼承父類的方法,而不繼承父類的屬性:

D)子類將繼承的全部的屬性和方法.

7.在java中.在運(yùn)用JDBC時(shí)。對(duì)于多次調(diào)用同一條SQL語句的狀況,運(yùn)用()通常會(huì)提高效。

A)StatementB)CallableStatement

C)PreparedStatementD)PrarmeterStatement

8.以下不能掌握一個(gè)Servlet的生命周期方的.法是:

A)serviceB)destroyC)doPostD)init

9.能夠給一個(gè)byte型變量賦值的范圍是()。

A)0~65535B)(-128)~127

C)(-32,768)~32,767D)(-256)~255

10.java語言中int類型數(shù)據(jù)占用多少位?()。

A)32B)64C)16D)20

11.ServletConte*t對(duì)象是如何創(chuàng)建的?()。

A)由Servlet容器創(chuàng)建,對(duì)于每個(gè)HTTP懇求.Servlet容器都會(huì)創(chuàng)建一個(gè)ServletConte*t對(duì)象

B)由JavaWeb應(yīng)用本身為自己創(chuàng)建一個(gè)ServletConte*t對(duì)象

C)由Servlet容器創(chuàng)建,對(duì)于每個(gè)JaveWeb應(yīng)用,在啟動(dòng)時(shí),Servlet容器都會(huì)創(chuàng)建一個(gè)ServletConte*t對(duì)象

12.在JSP中不能在不同用戶之間共享數(shù)據(jù)的方法是()。

A)通過cookieB)利用文件系統(tǒng)

C)利用數(shù)據(jù)庫(kù)D)通過ServletConte*t對(duì)象

13.以下哪個(gè)不是Collection的子接口?()。

A)ListB)SetC)MapD)SortedSet

14.下面正確的創(chuàng)建Socket的語句是()。

A)Socketa=newSoeket(80):

B)Socketb=newSocket(130.3.4.5,80):

C)ServerSocketc=newSocket(80)

D)ServerSocketd=newSocket(130.3.4,5,80)

15.下面的說法正確的選項(xiàng)是()。

A)帶有頁(yè)作用域的對(duì)象在一個(gè)web應(yīng)用程序的每個(gè)JSP中都存在.

B)指令指定與一個(gè)特定的JSP懇求不相關(guān)的全局信息。

C)當(dāng)JSP容器遇到開始定制標(biāo)簽和結(jié)束定制標(biāo)簽時(shí),分別調(diào)用doInitBody方法和doAfterBody方法。

D)動(dòng)作只在翻譯時(shí)處理一次。

16.為了區(qū)分重載多態(tài)中同名的不同方法,要求:()。

A)參數(shù)名不同B)采納不同的形式參數(shù)列表

C)返回值類型不同D)選項(xiàng)A,B,C都對(duì)

17.下面是有關(guān)子類調(diào)用父類構(gòu)造函數(shù)的描述正確的選項(xiàng)是:()。

A)子類定義了自己的構(gòu)造函數(shù).就不會(huì)調(diào)用父類的構(gòu)造函數(shù)

B)子類需要通過Super關(guān)鍵字調(diào)用父類有參數(shù)的構(gòu)造函數(shù)

C)假如子類的構(gòu)造沒有通過super調(diào)用父類構(gòu)造函數(shù),那么子類會(huì)先調(diào)用子類自己的構(gòu)造函數(shù),再調(diào)用父類不含參數(shù)的構(gòu)造函數(shù)。

D)創(chuàng)建子類的對(duì)象時(shí),先調(diào)用子類自己的構(gòu)造函數(shù),然后調(diào)用父類的構(gòu)造函數(shù)

18.在Java中,負(fù)責(zé)對(duì)字節(jié)代碼說明執(zhí)行的是()。

A)垃圾回收器B)虛擬機(jī)C)編譯器D)多線程機(jī)制

19.一個(gè)java程序運(yùn)行從上到下的環(huán)境次序是()。

A)操作系統(tǒng)、Java程序、jre/jvm、硬件

B)jre/jvm、Java程序、硬件、操作系統(tǒng)

C)java程序、jre/jvm、操作系統(tǒng)、硬件

D)java程序、操作系統(tǒng)、jre/jvm、硬件

20.對(duì)于從Employee表中選擇記錄的以下代碼片段,識(shí)別其遺漏的代碼行。()Connectioncon=null:

Class.forName(sun.jdbc.odbc.JdbcOdbcDriver):

con=DriverManager.getConnection(jdbc:odbc:ss,sa,);

ResultSetrs=stat.e*ecuteQuery(select*fromEmployee);

A)Statementstat=createStatement();

B)Statementstat=con.createStatement();

C)PreparedStatementstat=con.createStatement():

D)PreparedStatementstat=createPreparedStatement();

二、問答題(本大題6小題,共40分)。

1.請(qǐng)說出ArrayList,Vector,LinkedList的存儲(chǔ)性能和特性。(6分)

2.什么是單例模式(Singleton)?請(qǐng)?jiān)谙旅鎸懗鲆粋€(gè)單例模式類,并支持多線程調(diào)用。(6分)

3.請(qǐng)描述一下JVM加載class文件的原理機(jī)制?(6分)

4.請(qǐng)談?wù)剬?duì)SQL注入的理解,請(qǐng)給出你知道的防止SQL注入的方法。(6分)

5.請(qǐng)談?wù)剬?duì)hibernate的理解,并簡(jiǎn)要表達(dá)Hibernate的一級(jí)緩存和二級(jí)緩存(8分)。

6.請(qǐng)寫出你知道的排序方法,并運(yùn)用Java語言寫出其中一種。(8分)

三、簡(jiǎn)答題(參考答案)

1.ArrayList和Vector都是運(yùn)用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許徑直按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于運(yùn)用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList運(yùn)用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。

2.創(chuàng)建某類對(duì)象時(shí),無論創(chuàng)建多少次該類對(duì)象只有一份在內(nèi)存中,這就是單例模式。支持多線程調(diào)用,考慮線程安全,只需要加鎖即可。

publicclassSingleton{

privatestaticSingletoninstance=null;

privateSingleton(){}

privatestaticsynchronizedvoidsyncInit(){

if(instance==null){

instance=newSingleton();

}

}

publicstaticSingletongetInstance(){

if(instance==null){

syncInit();

}

returninstance;

}

}

3.JVM中類的裝載是由ClassLoader和它的子類來實(shí)現(xiàn)的,JavaClassLoader是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。

4.解決方法:a.利用JavaScript,在客戶端進(jìn)行校驗(yàn)。

b.程序判斷c.運(yùn)用PreparedStatement連接數(shù)據(jù)庫(kù)。(參數(shù)化)d.利用框架技術(shù)

5.Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了特別輕量級(jí)的對(duì)象封裝,使得Java程序員可以為所欲為的運(yùn)用對(duì)象編程思維來操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何運(yùn)用JDBC的場(chǎng)合,既可以在Java的客戶端程序運(yùn)用,也可以在Servlet/JSP的Web應(yīng)用中運(yùn)用。

一級(jí)緩存就是Session級(jí)別的緩存,一個(gè)Session做了一個(gè)查詢操作,它會(huì)把這個(gè)操作的結(jié)果放在一級(jí)緩存中,假如短時(shí)間內(nèi)這個(gè)

session(肯定要同一個(gè)session)又做了同一個(gè)操作,那么hibernate徑直從一級(jí)緩存中拿,而不會(huì)再去連數(shù)據(jù)庫(kù),取數(shù)據(jù);

二級(jí)緩存就是SessionFactory級(jí)別的緩存,顧名思義,就是查詢的時(shí)候會(huì)把查詢結(jié)果緩存到二級(jí)緩存中,假如同一個(gè)sessionFactory

創(chuàng)建的某個(gè)session執(zhí)行了相同的操作,hibernate就會(huì)從二級(jí)緩存中拿結(jié)果,而不會(huì)再去連接數(shù)據(jù)庫(kù);

6.插入排序、希爾排序、冒泡排序、快速排序、徑直排序、歸并排序下面以快速排序?yàn)槔?/p>

1.publicclassquickSort{

2.

3.inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34

,15,35,25,53,51};

4.publicquickSort(){

5.quick(a);

6.for(inti=0;i

7.System.out.println(a[i]);

8.}

9.}

10.publicintgetMiddle(int[]list,intlow,inthigh){

11.inttmp=list[low];//數(shù)組的第一個(gè)作為中軸

12.while(lowhigh){

13.while(lowhighlist[high]=tmp){

14.high--;

15.}

16.

17.list[low]=list[high];//比中軸小的記錄移到低端

18.while(lowhighlist[low]=tmp){

19.low++;

20.}

21.

22.list[high]=list[low];//比中軸大的記錄移到高端

23.}

24.list[low]=tmp;//中軸記錄到尾

25.returnlow;//返回中軸的位置

26.}

27.

28.publicvoid_quickSort(int[]list,intlow,inthigh){

29.if(lowhigh){

30.intmiddle=getMiddle(list,low,high);//將list數(shù)組進(jìn)行一分為二

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論