Java面試筆試題目匯總_第1頁
Java面試筆試題目匯總_第2頁
Java面試筆試題目匯總_第3頁
Java面試筆試題目匯總_第4頁
Java面試筆試題目匯總_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——Java面試筆試題目匯總算法軟件科技Java工程師筆試題

一、選擇題(可多項選擇)。

1、Java之所以可以實現(xiàn)夸平臺,是由于Java程序在運行時使用了:

A:JDK(JavaDevelopmentKit)B:JRE(JavaRuntimeEnvironment)C:JVM(JavaVirtualMachine)D:OS(OperatingSystem)

2、以下不是Java語言中的關健字的是:

A:publicB:StaticC:mainD:void

3、以下程序中最終輸出i的值是:inti=999;i--;++i;

System.out.println(i++);

A:998B:999C:1000D:1001

4、那個是合法的byte類型的數(shù)據(jù):

A:128B:127C:-129D:(int)-130

5、以下b的值是:byteb=(byte)129;

A:-126B:-127C:-128D:-129

6、在JDK1.7中,對于switch語句,switch后面的()中不可以是哪種類型:

A:byteB:charC:shortD:intE:StringF:枚舉G:floatH:double

7、對于以下代碼,輸出結果是:for(inti=4;i>0;i--){intj=0;

do{

j++;if(j==2){

break;}

}while(ji);System.out.print(j);

A:4321B:1222C:2221D:2222

8、以下聲明數(shù)組的方式,哪種是正確的:

A:int[3][4]array;B:int[3][]array;C:char[]array[];D:String[][]array;E:Objectarray[][];F:Objectarray[][3];

9、以下關于package和import語句的描述,正確的是:

A:同一個類中package可以出現(xiàn)1次或屢屢B:同一個類中import可以出現(xiàn)1此或屢屢

C:對于同一個類中,import語句必需出現(xiàn)在該類的第一行(不含解釋)D:同一個類中,package必需出現(xiàn)在該類的第一行(不含解釋)

10、對于以下關于可變長參數(shù)的定義,正確的是:

A:publicvoidshow(String[]aa,String...a){}B:publicvoidshow(String...a,String[]aa){}C:publicvoidshow(String...a){}

D:publicvoidshow(Stringa,doubleb,String...a){}

11、關于接口的使用,正確的是:publicinterfaceUsb{

}

publicabstraceclassInterface{

}

A:publicinterfaceUsb1extendsUsb{}B:publicinterfaceUsb1implementsUsb{}C:publicinterfaceUsb1extendsInterface{}D:publicinterfaceUsb1implementsInterface{}

12、以下哪個不是Collection的子接口?

A:ListB:SetC:SortedSetD:Map

13、對Map的用法,正確的有:

A:newjava.util.Map().put(\

B:newjava.util.SortedMap().put(\C:newjava.util.HashMap().put(null,null);D:newjava.util.TreeMap().put(0,null);

14、對于異常處理,一下描述哪個是正確的:

A:捕獲異常是一種積極的異常處理方式,通過try、catch等關鍵字來實現(xiàn)B:try必需跟catch連用,而finally是可以沒有的

C:catch之后的()用于接收異常對象,因此需要指定異常類型和變量名稱,比如catch(Exceptione)

D:在JDK1.7中,允許在catch中捕獲多個類型異常,如catch(NullPointerExceptione1|ClassCastExceptione2)

E:對于finally代碼塊而言,僅當執(zhí)行try語句并沒有觸發(fā)異常時才執(zhí)行,如果發(fā)生異常則進入catch代碼塊,不再執(zhí)行finally代碼塊

15、Hashtable和HashMap的區(qū)別是:

A:Hashtable是一個哈希表,該類繼承了AbstractMap,實現(xiàn)了Map接口B:HashMap是內(nèi)部基于哈希表實現(xiàn),該類繼承AbstractMap,實現(xiàn)Map接口C:Hashtable線程安全的,而HashMap是線程擔憂全的

D:Properties類繼承了Hashtable類,而Hashtable類則繼承Dictionary類E:Hashtable直接使用對象的hashCode,而HashMap重新計算hash值。

16、以下關于隨機數(shù)的描述,正確的是:

A:Matn.random()可以生成[0,1]內(nèi)的任意小數(shù)B:Random.next(10)可以生成[0,10]內(nèi)的任意整數(shù)

C:newjava.util.Random().nextInt(11)可以生成[0,10]內(nèi)的任意整數(shù)D:newjava.util.Math().random()可以生成[0,1)內(nèi)的任意小數(shù)

二、簡答題:

1、final,finally,finalize的區(qū)別。

2、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

3、當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里終究是值傳遞還是引用傳遞?

4、請說出你所知道的線程同步的方法。

5、四種會話跟蹤技術

三、數(shù)據(jù)庫

學生表student(stu_id,stu_name);課程表course(c_id,c_name);

成績表score(stu_id,c_id,score);

1、在學生表中添加一條數(shù)據(jù):

2、查詢名字為Tom的學生所選的課程:

3、查詢stu_id為3的學生所學課程的成績:

(答題時間為60分鐘,請將答案書寫在答題卡上,祝你筆試成功)

Java工程師(程序員)面試題

Struts,Spring,Hibernate三大框架的面試

1.Hibernate工作原理及為什么要用?原理:1.讀取并解析配置文件2.讀取并解析映射信息,創(chuàng)立SessionFactory3.開啟Session4.創(chuàng)立事務Transation5.持久化操作6.提交事務7.關閉Session8.關閉SesstionFactory為什么要用:1.對JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復性代碼。2.Hibernate是一個基于JDBC的主流持久化框架,是一個優(yōu)秀的ORM實現(xiàn)。他很大程度的簡化DAO層的編碼工作3.hibernate使用Java反射機制,而不是字節(jié)碼加強程序來實現(xiàn)透明性。4.hibernate的性能十分好,由于它是個輕量級框架。映射的靈活性很卓越。它支持各種關系數(shù)據(jù)庫,從一對一到多對多的各種繁雜關系。

2.Hibernate是如何延遲加載?

1.Hibernate2延遲加載實現(xiàn):a)實體對象b)集合(Collection)2.Hibernate3提供了屬性的延遲加載功能當Hibernate在查詢數(shù)據(jù)的時候,數(shù)據(jù)并沒有存在與內(nèi)存中,當程序真正對數(shù)據(jù)的操作時,對象才存在與內(nèi)存中,就實現(xiàn)了延遲加載,他節(jié)省了服務器的內(nèi)存開銷,從而提高了服務器的性能。

3.Hibernate中怎樣實現(xiàn)類之間的關系?(如:一對多、多對多的關系)

類與類之間的關系主要表達在表與表之間的關系進行操作,它們都市對對象進行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many

4.Struts1流程:

1、客戶端瀏覽器發(fā)出HTTP請求。2、根據(jù)web.xml配置,該請求被ActionServlet接收。3、根據(jù)struts-config.xml配置,ActionServlet先將請求中的參數(shù)填充到ActionForm中,然后ActionServlet再將請求發(fā)送到Action進行處理。4、是否驗證,需要驗證則調(diào)用ActionForm的validate方法,驗證失敗則跳轉到input,成功則繼續(xù)。5、Action從ActionForm獲得數(shù)據(jù),調(diào)用javabean中的業(yè)務方法處理數(shù)據(jù)。6、Action返回ActionForward對象,跳轉到相應JSP頁面或Action。7、返回HTTP響應到客戶端瀏覽器。

MVC設計模式:modal:“模型〞也稱業(yè)務規(guī)律,是正真完成任務的代碼,相當與JavaBeanview:視圖,其實就是顯示界面,相當于JSPcontroller:控制器,他控制模型和視圖的交互過程,相當于servletstruts1是基于MVC設計模式hibernate是基于ORM對象關系映射

5.struts是什么?

struts1是基于JSP和servlet的一個開源的Web應用框架,使用的是MVC的設計模式struts2是基于webwork技術的框架,是sun和webwork公司聯(lián)手開發(fā)的一個功能十分齊全的框架,struts2和struts1沒有任何關系,是一個全新的框架

6.spring是什么?

spring是一個集成了大量第三方框架的大雜燴,其核心技術是IOC(控制反轉,也稱依靠注入)和AOP(面向切面編程)

7.hibernate是什么?

hibernate是基于ORM對象關系映射(完成對象數(shù)據(jù)到關系數(shù)據(jù)映射的機制)實現(xiàn)的,做數(shù)據(jù)持久化的工具

8.JSF是什么?

JavaServerFace是基于組件的web開發(fā)框架,跟sturts差不多的框架

9.數(shù)據(jù)庫里面的索引和約束是什么?

索引是為了提高數(shù)據(jù)的檢索速度,索引是建立在數(shù)據(jù)表上,根據(jù)一個或多個字段建立的約束是為了保持數(shù)據(jù)的完整性,約束有非空約束,主鍵約束,外鍵約束等等。

10.spring是什么這個問題,往往可以通過我們?yōu)槭裁匆褂胹pring這個問題來切入:AOP讓開發(fā)人員可以創(chuàng)立非行為性的關注點,稱為橫切關注點,并將它們插入到應用程序代碼中。使用AOP后,公共服務(比如日志、持久性、事務等)就可以分解成方面并應用到域對象上,同時不會增加域對象的對象模型的繁雜性。IOC允許創(chuàng)立一個可以構造對象的應用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞倒置所說明的,IOC就像反過來的JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straightconstruction),每一個對象都是用其協(xié)作對象構造的。因此是由容器管理協(xié)作對象(collaborator)。Spring即使一個AOP框架,也是一IOC容器。Spring最好的地方是它有助于您替換對象。有了Spring,只要用JavaBean屬性和配置文件參與依靠性(協(xié)作對象)。然后可以很簡單地在需要時替換具有類似接口的協(xié)作對象。

11.用自己的話簡要闡述struts2的執(zhí)行流程。Struts2框架本身大致可以分為3個部分:核心控制器FilterDispatcher、業(yè)務控制器Action和用戶實現(xiàn)的企業(yè)業(yè)務規(guī)律組件。核心控制器FilterDispatcher是Struts2框架的基礎,包含了框架內(nèi)部的控制流程和處理機制。業(yè)務控制器Action和業(yè)務規(guī)律組件是需要用戶來自己實現(xiàn)的。用戶在開發(fā)Action和業(yè)務規(guī)律組件的同時,還需要編寫相關的配置文件,供核心控制器FilterDispatcher來使用。

Struts2的工作流程相對于Struts1要簡單,與WebWork框架基本一致,所以說Struts2是WebWork的升級版本?;竞喴鞒倘缦拢?、客戶端瀏覽器發(fā)出HTTP請求。2、根據(jù)web.xml配置,該請求被FilterDispatcher接收。3、根據(jù)struts.xml配置,找到需要調(diào)用的Action類和方法,并通過IoC方式,將值注入給Aciton。4、Action調(diào)用業(yè)務規(guī)律組件處理業(yè)務規(guī)律,這一步包含表單驗證。5、Action執(zhí)行完畢,根據(jù)struts.xml中的配置找到對應的返回結果result,并跳轉到相應頁面。6、返回HTTP響應到客戶端瀏覽器。

6.spring是什么?

spring是一個集成了大量第三方框架的大雜燴,其核心技術是IOC(控制反轉,也稱依靠注入)和AOP(面向切面編程)

7.hibernate是什么?

hibernate是基于ORM對象關系映射(完成對象數(shù)據(jù)到關系數(shù)據(jù)映射的機制)實現(xiàn)的,做數(shù)據(jù)持久化的工具

8.JSF是什么?

JavaServerFace是基于組件的web開發(fā)框架,跟sturts差不多的框架

9.數(shù)據(jù)庫里面的索引和約束是什么?

索引是為了提高數(shù)據(jù)的檢索速度,索引是建立在數(shù)據(jù)表上,根據(jù)一個或多個字段建立的約束是為了保持數(shù)據(jù)的完整性,約束有非空約束,主鍵約束,外鍵約束等等。

10.spring是什么這個問題,往往可以通過我們?yōu)槭裁匆褂胹pring這個問題來切入:AOP讓開發(fā)人員可以創(chuàng)立非行為性的關注點,稱為橫切關注點,并將它們插入到應用程序代碼中。使用AOP后,公共服務(比如日志、持久性、事務等)就可以分解成方面并應用到域對象上,同時不會增加域對象的對象模型的繁雜性。IOC允許創(chuàng)立一個可以構造對象的應用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞倒置所說明的,IOC就像反過來的JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(si

溫馨提示

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

評論

0/150

提交評論