Java軟件開發工程師筆試題剖析_第1頁
Java軟件開發工程師筆試題剖析_第2頁
Java軟件開發工程師筆試題剖析_第3頁
Java軟件開發工程師筆試題剖析_第4頁
Java軟件開發工程師筆試題剖析_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Java工程師筆試題一、填空題(本大題10小題,每空1分,共20分)。Java語言的三大特性即是:繼承、封裝、多態。在Java中,char型采用 unicode 碼方案,這樣,無論是中文字符還是英文字符,都是占用_2_個字節的內存空間。形式參數指的是方法被―定義 時的參數行,實際參數是方法被―調用—時所傳遞進去的變量或值。JSP內置對象中, application 對象是代表應用程序上下文,它允許JSP頁面與包括在同一應用程序中的任何Web組件共享信息,而session 對象則是每個客戶專用的。如果想把一個對象寫入一個流,那么這個類就必須實現 Seralizable接口。TOC\o"1-5"\h\z程序中實現多線程的方法有兩種:繼承Thread類和實現 Runable 接口。多線程中,可以通過調用相應的 setPriority() 方法來修改一個線程的相對優先級。面向對象編程的五大設計原則,分別是 單一職責、 開放封閉 、里氏替換 、 依賴倒置 、 接口分離 通過Ajax,客戶端獲取的數據主要有兩種類型:文本型和 xmlSocket通常也稱為套接字,用于描述 ip和接口二、選擇題(本大題20小題,每小題2分.共40分)。在JAVA中,如果父類中某些方法不包含任何邏輯,并且需要由子類重寫.應該使用()關鍵字來聲明父類的這些方法:finalB)staticC)abstractD)void2.在2.在JAVA中,已定義兩個接口B和C,要定義一個實現這兩個接口的類, 以下語句正確的是()。A)interfaceAextendB,CinterfaceAimplementsB,CC)classAimplementsB,CD)classAimplementsB,implementsC句正確的是()。A)interfaceAextendB,CinterfaceAimplementsB,CC)classAimplementsB,CD)classAimplementsB,implementsC3.在JAVA接口中可以定義()3.在JAVA接口中可以定義()。A)靜態方法B)常量C)構造方法D)抽象方法4.假設A4.假設A有構造方法A(inta),則在類A的其他構造方法中調用該構造方法和語句格式應為()A)A(X)B)this.A(x)C)this(x)D)super(x)5.設x=1,y=2,z=3,則表達式y+=z--/++x A)A(X)B)this.A(x)C)this(x)D)super(x)5.設x=1,y=2,z=3,則表達式y+=z--/++x 的值是( )。A)3B)3.5C)4D)56.下列關于繼承的說法哪個正確?()。子類只繼承父類public方法和屬性:子類繼承父類的非私有屬性和方法:子類繼承父類的方法,而不繼承父類的屬性:子類將繼承的所有的屬性和方法.在java中.在使用JDBC時。對于多次調用同一條SQL語句的情況,使用()通常會提高效。A)StatementB)CallableStatementA)StatementB)CallableStatement下列不能控制一個Servlet的生命周期方的法是:serviceB)destroyC)doPostD)init能夠給一個byte型變量賦值的范圍是( )。0?65535 B)(-128)?127(-32,768)?32,767 D)(-256)?255java語言中int類型數據占用多少位?()。32B)64C)16D)20ServletContext對象是如何創建的?( )。由Servlet容器創建,對于每個HTTP請求.Servlet容器都會創建一個ServletContext對象由JavaWeb應用本身為自己創建一個ServletContext對象由Servlet容器創建,對于每個JaveWeb應用,在啟動時,Servlet容器都會創建一個ServletContext對象12?在JSP中不能在不同用戶之間共享數據的方法是()。通過cookie B)利用文件系統C)利用數據庫 D)通過ServletContext對象以下哪個不是Collection的子接口?( )。A)ListB)SetC)Map D)SortedSet下面正確的創建Socket的語句是( )。Socketa =newSoeket(80):Socketb =newSocket("130.3.4.5",80):下面的說法正確的是( )。帶有頁作用域的對象在一個web應用程序的每個JSP中都存在.指令指定與一個特定的JSP請求不相關的全局信息。當JSP容器遇到開始定制標簽和結束定制標簽時,分別調用doInitBody方法和doAfterBody方法。<jsp:inclnde>動作只在翻譯時處理一次。為了區分重載多態中同名的不同方法,要求:( )。A)參數名不同 B)采用不同的形式參數列表返回值類型不同 D)選項A,B,C都對下面是有關子類調用父類構造函數的描述正確的是 :( )。子類定義了自己的構造函數.就不會調用父類的構造函數子類必須通過Super關鍵字調用父類有參數的構造函數先調用子類類的構造如果子類的構造沒有通過super調用父類構造函數,那么子類會自己的構造函數,再調用父類不含參數的構造函數。先調用子類類的構造創建子類的對象時,先調用子類自己的構造函數,然后調用父函數在Java中,負責對字節代碼解釋執行的是( )。A)垃圾回收器B)虛擬機C)編譯器D)多線程機制一個java程序運行從上到下的環境次序是( )。A)操作系統、Java程序、jre/jvm、硬件jre/jvm、Java程序、硬件、操作系統java程序、jre/jvm、操作系統、硬件java程序、操作系統、jre/jvm、硬件對于從Employee表中選擇記錄的以下代碼片段,識別其遺漏的代碼行。()Connectioncon=null:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"):con=DriverManager.getConnection("jdbc:odbc:ss","sa","");ResultSetrs=stat.executeQuery("select*fromEmployee");A)Statementstat=createStatement();Statementstat=con.createStatement();PreparedStatementstat=con.createStatement():PreparedStatementstat=createPreparedStatement();三、問答題(本大題6小題,共40分)。請說出ArrayList,Vector,LinkedList 的存儲性能和特性。(6分)什么是單例模式(Singleton)?請在下面寫出一個單例模式類,并支持多線程調用。(6分)請描述一下JVM加載class文件的原理機制?(6分)請談談對SQL注入的理解,請給出你知道的防止SQL注入的方法。(6分)請談談對Hibernate的理解,并簡要敘述Hibernate的一級緩存和二級緩存(8分)。請寫出你知道的排序方法,并使用Java語言寫出其中一種。(8分)答案:一、填空題封裝、繼承、多態unicode2定義調用applicationsession5.Seralizabe6.runnablesetPriority()8?單一職責原則(SRP)、開放封閉原則(OCP)、里氏替換原則(LSP)、依賴倒置原則(DIP)、接口隔離原則(ISP)9.xml10.IP地址接口二、選擇題TOC\o"1-5"\h\zCCBDCABCCBTOC\o"1-5"\h\zACACCDBBBCB三、簡答題(參考答案)ArrayList和Vector都是使用數組方式存儲數據,此數組元素數大于實際存儲的數據以便增加和插入元素,它們都允許直接按序號索引元素, 但是插入元素要涉及數組元素移動等內存操作,所以索引數據快而插入數據慢, Vector由于使用了synchronized 方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現存儲,按序號索引數據需要進行前向或后向遍歷,但是插入數據時只需要記錄本項的前后項即可, 所以插入速度較快。創建某類對象時,無論創建多少次該類對象只有一份在內存中,這就是單例模式。支持多線程調用,考慮線程安全,只需要加鎖即可。publicclassSingleton{privatestaticSingletoninstanee=null;privateSingleton(){}privatestaticsynchronizedvoidsynclnit(){if(instanee==null){instanee=newSingleton();}}publicstaticSingletongetInstance(){if(instanee==null){synclnit();}returninstanee;}}JVM中類的裝載是由ClassLoader和它的子類來實現的JavaClassLoader是一個重要的Java運行時系統組件。它負責在運行時查找和裝入類文件的類。解決辦法:a.利用Javascript,在客戶端進行校驗。程序判斷使用PreparedStatement 連接數據庫。(參數化)利用框架技術Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用。一級緩存就是Session級別的緩存,一個Session做了一個查詢操作,它會把這個操作的結果放在一級緩存中,如果短時間內這個session(一定要同一個session)又做了同一個操作,那么hibernate直接從一級緩存中拿,而不會再去連數據庫,取數據;二級緩存就是SessionFactory級別的緩存,顧名思義,就是查詢的時候會把查詢結果緩存到二級緩存中,如果同一個sessionFactory創建的某個session執行了相同的操作,hibernate就會從二級緩存中拿結果,而不會再去連接數據庫;插入排序、希爾排序、冒泡排序、快速排序、直接排序、歸并排序下面以快速排序為例:1.publicclassquickSort{2.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};publicquickSort(){quick(a);for(inti=0;i<a.length;i++){System.out.println(a[i]);11.inttmp=list[low];//數組的第一個作為中軸12.while(low<high){13.while(low<high&&list[high]>=tmp){14.high--;15.}16.17.list[low]=list[high];//比中軸小的記錄移到低端18.while(low<high&&list[low]<=tmp){19.low++;20.}21.22.list[high]=list[low];//比中軸大的記錄移到高端23.}24.list[low]=tmp;//中軸

溫馨提示

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

評論

0/150

提交評論