Java工程師面試題(含答案)_第1頁
Java工程師面試題(含答案)_第2頁
Java工程師面試題(含答案)_第3頁
Java工程師面試題(含答案)_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、1.抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節(jié)。抽象包括兩個方面,一是過程抽象,二是數(shù)據抽象。2.繼承:繼承是一種聯(lián)結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3.封裝:封裝是把過程和數(shù)據包圍起來,對數(shù)據的訪問只能通過

2、已定義的界面。面向對象計算始于這個基本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。4. 多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出響應。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應用程序函數(shù)同名問題。5、String是最基本的數(shù)據類型嗎?基本數(shù)據類型包括byte、int、char、long、float、double、boolean和short。java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節(jié)省空間,我們應該用String

3、Buffer類6、int 和 Integer 有什么區(qū)別Java 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數(shù)據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。原始類型   封裝類boolean  Booleanchar  Characterbyte  Byteshort  Shortint  Integerlong  Longfloat  Floatdouble  Double引用類型和原始類型的行為完全不同,并且它們具

4、有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據結構存儲,當引用類型和原始類型用作某個類的實例數(shù)據時所指定的缺省值。對象引用實例變量的缺省值為 null,而原始類型實例變量的缺省值與它們的類型有關。7、String 和StringBuffer的區(qū)別JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據。這個String類提供了數(shù)值不可改變的字符串。而這個StringBuffer類提供的字符串進行修改。當你知道字符數(shù)據要改變的時候你就可以使用StringBuffer。典型地,你可

5、以使用 StringBuffers來動態(tài)構造字符數(shù)據。8、運行時異常與一般異常有何異同?異常表示程序運行過程中可能出現(xiàn)的非正常狀態(tài),運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。9、說出Servlet的生命周期,并說出Servlet和CGI的區(qū)別。Servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet,doPost)等,當服務器決定將實例銷毀的時候調用其destro

6、y方法。與cgi的區(qū)別在于servlet處于服務器進程中,它通過多線程方式運行其service方法,一個實例可以服務于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產生新的進程,服務完成后就銷毀,所以效率上低于servlet。1.web中的forward和redirect的區(qū)別?前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,

7、比如,需要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。2. xml在解釋的時候DOM和SAX協(xié)議的區(qū)別和含義?DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,適合對XML的隨機訪問SAX:不現(xiàn)于DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發(fā)一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問3說明JNDI、JMS、JTA、

8、RMI的意思?JNDI(Java Naming and Directory Interface)是一個應用程序設計的API,為開發(fā)人員提供了查找和訪問各種命名和目錄服務的通用、統(tǒng)一的接口,類似JDBC都是構建在抽象層上。JMS(Java Messaging Service)是Java平臺上有關面向消息中間件的技術規(guī)范,翻譯為Java消息服務。JMS支持點對點和發(fā)布/訂閱兩種消息模型。JTA(Java Transaction API) 為 J2EE 平臺提供了分布式事務服務。要用 JTA 進行事務界定,應用程序要調用 javax.transaction.UserTransaction 接口中的方

9、法.RMI是Java的一組擁護開發(fā)分布式應用程序的API。RMI使用Java語言接口定義了遠程對象,它集合了Java序列化和Java遠程方法協(xié)議(Java Remote Method Protocol)。它大大增強了Java開發(fā)分布式應用的能力4.單例模式Public class SignlePrivate Signle()Pirvate static Signle signle = new Signle();Public static Signle gets()Retrun signle;5數(shù)據庫中l(wèi)eft join的意思,和在什么場合中應用?LEFT JOIN操作用于在任何的 FROM 子

10、句中,組合來源表的記錄。使用 LEFT JOIN 運算來創(chuàng)建一個左邊外部聯(lián)接。左邊外部聯(lián)接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符值的記錄。6 ejb中的sessionbean和entitybean的區(qū)別和含義?SessionBean在J2EE應用程序中被用來完成一些服務器端的業(yè)務操作,例如訪問數(shù)據庫、調用其他EJB組件。EntityBean被用來代表應用系統(tǒng)中用到的數(shù)據。對于客戶機,SessionBean是一種非持久性對象,它實現(xiàn)某些在服務器上運行的業(yè)務邏輯。對于客戶機,EntityBean是一種持久性對象,它代表一個存儲在持久性存儲器中的實體的對

11、象視圖,或是一個由現(xiàn)有企業(yè)應用程序實現(xiàn)的實體。7抽象類和接口的區(qū)別1:一個類可以實現(xiàn)任意多的接口,但是最多只能對一個抽象類進行子類化。2:一個抽象類可以包括非抽象方法,而一個接口的所有方法在效果上都是抽象的。3:一個抽象類可以申明并使用變量,而一個接口不行。4:一個抽象類中的方法的訪問修飾符可以使public,internal,protected,protected internal,private,而接口成員的訪問修飾符在默認情況下都是public,而且,在申明接口成員時,不允許使用訪問修飾符(甚至不能使用public)。5:一個抽象類可以定義構造函數(shù),而一個接口不行。8對象序列化的含義Ja

12、va 序列化技術可以使你將一個對象的狀態(tài)寫入一個Byte 流里,并且可以從其它地方把該Byte 流里的數(shù)據讀出來。重新構造一個相同的對象。這種機制允許你將對象通過網絡進行傳播,并可以隨時把對象持久化到數(shù)據庫、文件等系統(tǒng)里。Java的序列化機制是RMI、EJB、JNNI等技術的技術基礎。9數(shù)據庫中的鎖包括什么?基本的封鎖類型有兩種:排它鎖(X鎖)和共享鎖(S鎖).所謂X鎖,是事務T對數(shù)據A加上X鎖時,只允許事務T讀取和修改數(shù)據A,所謂S鎖,是事務T對數(shù)據A加上S鎖時,其他事務只能再對數(shù)據A加S鎖,而不能加X鎖,直到T釋放A上的S鎖若事務T對數(shù)據對象A加了S鎖,則T就可以對A進行讀取,但不能進行更

13、新(S鎖因此又稱為讀鎖),在T釋放A上的S鎖以前,其他事務可以再對A加S鎖,但不能加X鎖,從而可以讀取A,但不能更新A.10 jsp和serverlet的區(qū)別(1).簡單的來說Jsp就是含有Java代碼的html,而servlet是含有html的Java代碼;(2).Jsp最終也是被解釋為servlet并編譯再執(zhí)行,Jsp不過是servlet的另一種編寫方式;(3).Jsp擅長表示,servlet擅長數(shù)據處理,在MVC三層結構中,Jsp負責V(視圖),servlet負責C(控制),各有優(yōu)勢,各司其職;11. oracle中數(shù)據表的交集怎么表示第一種方法:利用操作符intersect第二種方法:

14、 in子句12 jsp頁面中如何傳遞參數(shù)(1)直接在URL請求后添加(2)jsp:param3)設置session和request13 jsp中的doget()和dopost()方法的作用?這個兩個方法都是http協(xié)議的方法,doget用于傳輸數(shù)據量較小(密碼會泄露),dopost數(shù)據量較大,14什么是用例?如何確定用例?在不展現(xiàn)一個系統(tǒng)或子系統(tǒng)內部結構的情況下,對系統(tǒng)或子系統(tǒng)的某個連貫的功能單元的定義和描述。一個用例可以看作是系統(tǒng)的一個功能,例如增加用戶,增加角色,查詢一個具體的一個事物,在Ejb的設計中,一個use case跟Session bean的一個方法是對應的(使用的session fasade模式),你說的基礎數(shù)據管理,我會把它處理成為一個抽象用例,因為我認為基礎數(shù)據這個概念非常的抽象,什么是真正的基礎數(shù)據?例如說一個系統(tǒng)中郵政編碼算是這個系統(tǒng)的基礎數(shù)據,那么”郵政編碼修改”這個就應該算是用例了.15活動圖和時序圖的區(qū)別?時序圖主要強調時間的順序活動圖主要強調空間上類的交互16什么是策略模式?什么情況下使用?策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換Context(應用場景):1、需要使用ConcreteStrategy提供的算法。2、 內部維護一個Strategy的實例。3、 負責動

溫馨提示

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

評論

0/150

提交評論