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

下載本文檔

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

文檔簡(jiǎn)介

1、Java工程師筆試題一、填空題(本大題10小題???分,共20分)。1. Java語(yǔ)言的三大特性即是:繼承 、 封裝 、 多態(tài) 。2. 在Java中,char型采用uni code 碼方案,這樣,無(wú)論是中文字符還是英文字符,都是占用_2個(gè)字節(jié)的內(nèi)存空間。3. 形式參數(shù)指的是方法被定義 時(shí)的參數(shù)行,實(shí)際參數(shù)是方法被調(diào)用_時(shí)所傳遞進(jìn)去的變量或值。4. JSP內(nèi)置對(duì)象中,application對(duì)象是 代表應(yīng)用程序上下文,它允許JSP頁(yè)面與包括在同一應(yīng)用程序中的任何Web組件共享信息,而 session對(duì)象則是每個(gè)客戶專用的。5. 如果想把一個(gè)對(duì)象寫(xiě)入一個(gè)流,那么這個(gè)類就必須實(shí)現(xiàn)Seralizable

2、 接口。6. 程序中實(shí)現(xiàn)多線程的方法有兩種:繼承Thread類和實(shí)現(xiàn)_Runable _ 接 口。7. 多線程中,可以通過(guò)調(diào)用相應(yīng)的setPriority()方法來(lái)修改一個(gè)線程的相對(duì)優(yōu)先級(jí)。8. 面向?qū)ο缶幊痰奈宕笤O(shè)計(jì)原則,分別是單一職責(zé)、 開(kāi)放封閉、里氏替換、 、接口分離9. 通過(guò)Ajax,客戶端獲取的數(shù)據(jù)主要有兩種類型:文本型和xml10. Socket通常也稱為套接字 ,用于描述 _ ip 和接口二、選擇題(本大題20小題,每小題2分共40分)。1. 在JAVA中,如果父類中某些方法不包含任何邏輯,并且需要由子類重寫(xiě)應(yīng)該 使用()關(guān)鍵字來(lái)聲明父類的這些方法:A)final B) stat

3、ic C) abstract D) void2. 在JAVA中,已定義兩個(gè)接口 B和C,要定義一個(gè)實(shí)現(xiàn)這兩個(gè)接口的類,以下語(yǔ) 句正確的是()。A) in terface A exte nd B,CB) in terface A impleme nts B,CC) class A impleme nts B,C D) class A impleme nts B, impleme nts C3. 在 JAVA 接口中可以定義 ( )A) 靜態(tài)方法 B) 常量 C) 構(gòu)造方法 D) 抽象方法4. 假設(shè)A有構(gòu)造方法A (int a),則在類A的其他構(gòu)造方法中調(diào)用該構(gòu)造方法和語(yǔ) 句格式應(yīng)為( )。A)

4、A(X) B) this.A(x) C) this(x) D) super(x)5. 設(shè) x = 1 ,y = 2 , z = 3, 則表達(dá)式 y+=z-/+x 的值是()。A) 3 B) 3.5 C) 4 D) 56下列關(guān)于繼承的說(shuō)法哪個(gè)正確 ?( )。A) 子類只繼承父類public方法和屬性:B) 子類繼承父類的非私有屬性和方法:C) 子類繼承父類的方法,而不繼承父類的屬性:D) 子類將繼承的所有的屬性和方法 .7. 在java中.在使用JDBC時(shí)。對(duì)于多次調(diào)用同一條SQL語(yǔ)句的情況,使用() 通常會(huì)提高效。A) StatementB) CallableStatementC) Prepa

5、redStatementD) PrarmeterStatement8. 下列不能控制一個(gè)Servlet的生命周期方的法是:A) service B) destroy C) doPost D) init9. 能夠給一個(gè) byte 型變量賦值的范圍是 ()。A) 0 65535B) (-128)127C) (-32, 768)32, 767D) (-256)25510. java語(yǔ)言中int類型數(shù)據(jù)占用多少位?()。A) 32 B) 64 C) 16 D) 2011. ServletContext對(duì)象是如何創(chuàng)建的?()。A) 由Servlet容器創(chuàng)建,對(duì)于每個(gè) HTTP請(qǐng)求.Servlet容器都會(huì)

6、創(chuàng)建 一個(gè) ServletCo ntext 對(duì)象B) 由JavaWeb應(yīng)用本身為自己創(chuàng)建一個(gè) ServletContext對(duì)象C) 由Servlet容器創(chuàng)建,對(duì)于每個(gè) JaveWeb應(yīng)用,在啟動(dòng)時(shí),Servlet容器都會(huì)創(chuàng) 建一個(gè) ServletC on text 對(duì)象12. 在JSP中不能在不同用戶之間共享數(shù)據(jù)的方法是()A) 通過(guò) cookieB) 利用文件系統(tǒng)C) 利用數(shù)據(jù)庫(kù)D) 通過(guò) ServletContext 對(duì)象13. 以下哪個(gè)不是 Collection 的子接口 ?()。A) List B) Set C) Map D) SortedSet14. 下面正確的創(chuàng)建 Socket 的

7、語(yǔ)句是 ()。A) Socket a = new Soeket(80):B) Socket b = new Socket(130. 3. 4. 5, 80):C) ServerSocket c = new Socket(80)D) ServerSocket d = new Socket (130. 3. 4, 5, 80)15. 下面的說(shuō)法正確的是 ()。A) 帶有頁(yè)作用域的對(duì)象在一個(gè) web應(yīng)用程序的每個(gè)JSP中都存在.B) 指令指定與一個(gè)特定的JSP請(qǐng)求不相關(guān)的全局信息。C) 當(dāng)JSP容器遇到開(kāi)始定制標(biāo)簽和結(jié)束定制標(biāo)簽時(shí),分別調(diào)用 doInitBody 方法和 doAfterBody 方法

8、。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ù)的描述正確的是:()。A) 子類定義了自己的構(gòu)造函數(shù).就不會(huì)調(diào)用父類的構(gòu)造函數(shù)B) 子類必須通過(guò)Super關(guān)鍵字調(diào)用父類有參數(shù)的構(gòu)造函數(shù)先調(diào)用子類類的構(gòu)造C) 如果子類的構(gòu)造沒(méi)有通過(guò)super調(diào)用父類構(gòu)造函數(shù),那么子類會(huì) 自己的構(gòu)造函數(shù),再調(diào)用父類不含參數(shù)的構(gòu)造函數(shù)。D) 創(chuàng)建子類的對(duì)象時(shí),先調(diào)用子類自己的構(gòu)造函數(shù),然后調(diào)用父 函數(shù)18. 在Java中,負(fù)責(zé)對(duì)字節(jié)代碼解釋執(zhí)行的是()。

9、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í)別其遺漏的代碼行。() Connection con = null:Class. forName(sun.jdbc.odbc.JdbcOdbcDriver): con=DriverManager.getConnection

10、(jdbc:odbc:ss , sa , );ResultSet rs=stat.executeQuery(select * from Employee);A) Statement stat=createStatement();B) Statement stat=con.createStatement ();C) PreparedStatement stat=con.createStatement():D) PreparedStatement stat=createPreparedStatement();三、問(wèn)答題 (本大題 6 小題,共 40分)。1. 請(qǐng)說(shuō)出 ArrayList , Vec

11、tor , LinkedList 的存儲(chǔ)性能和特性。 (6 分)2. 什么是單例模式 (Singleton) ? 請(qǐng)?jiān)谙旅鎸?xiě)出一個(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)要敘述Hibernate的一級(jí)緩存和二級(jí)緩存(8分)。6. 請(qǐng)寫(xiě)出你知道的排序方法,并使用Java語(yǔ)言寫(xiě)出其中一種。(8分) 答案 :一、填空題1. 封裝 、 繼承 、 多態(tài)2. unicode 23. 定義 調(diào)用4. application s

12、ession5.Seralizabe6. runnable7. setPriority()8. 單一職責(zé)原則(SRP)、開(kāi)放封閉原則(OCP)、里氏替換原則(LSP)、依賴倒 置原則(DIP)、接口隔離原則(ISP)9. xml10.IP地址接口二、選擇題1. C2. C3. BD4. C5. A6. B7. C8. C9. B10. A11. C12. A13. C14. C15. D16. B17. B18. B19. C20. B三、簡(jiǎn)答題(參考答案)1. ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引

13、元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了 synchronized方法(線程安全),通常性能上較 ArrayList差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn) 行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。2. 創(chuàng)建某類對(duì)象時(shí),無(wú)論創(chuàng)建多少次該類對(duì)象只有一份在內(nèi)存中,這就是單例 模式。支持多線程調(diào)用,考慮線程安全,只需要加鎖即可。public class Sin glet onprivate static Sin glet on in sta nee = n ull;privat

14、e Si nglet on()private static synchroni zed void syncln it()if(in sta nee = nu ll)in sta nee = new Sin gleto n();public static Sin glet on get In sta nce()if(in sta nee = nu ll)synclni t();return in sta nee;3. JVM中類的裝載是由ClassLoader和它的子類來(lái)實(shí)現(xiàn)的 Java ClassLoade是一 個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。4. 解決辦法

15、:a.利用Javascript,在客戶端進(jìn)行校驗(yàn)。b.程序判斷e使用PreparedStatemen連接數(shù)據(jù)庫(kù)。(參數(shù)化)d.利用框架技術(shù)5. Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù) 據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程 序使用,也可以在 Servlet/JSP的Web應(yīng)用中使用。一級(jí)緩存就是Session級(jí)別的緩存,一個(gè)Session做了一個(gè)查詢操作,它會(huì)把這 個(gè)操作的結(jié)果放在一級(jí)緩存中,如果短時(shí)間內(nèi)這個(gè)session (定要同一個(gè)s

16、ession又做了同一個(gè)操作,那么hibernate直接從一級(jí)緩存中拿,而不會(huì)再去連數(shù)據(jù)庫(kù),取數(shù)據(jù);二級(jí)緩存就是SessionFactory級(jí)別的緩存,顧名思義,就是查詢的時(shí)候會(huì)把查詢 結(jié)果緩存到二級(jí)緩存中,如果同一個(gè) sessio nFactory創(chuàng)建的某個(gè)session執(zhí)行了相同的操作,hibernate就會(huì)從二級(jí)緩存中拿結(jié)果,而 不會(huì)再去連接數(shù)據(jù)庫(kù);6. 插入排序、希爾排序、冒泡排序、快速排序、直接排序、歸并排序下面以快速排序?yàn)槔?. public class quickSort 2.2. in ta=49,38,65,97,76,13,27,49,78,34,12,64,5,4,62

17、,99,98,54,56,17,18,23,34,15,35,25,53,51;3. public quickSort()4. quick(a);5. for(int i=0;ia.length;i+)6. System.out.pri ntln( ai);7. 8. 9. public int getMiddle(int list, int low, int high) 10. int tmp =listlow;數(shù)組的第一個(gè)作為中軸11. while (low high)12. while (low = tmp) 13. high-;14. 16.15. listlow =listhigh;/比中軸小的記錄移到低端16. while (low high&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論