Java工程師面試題_第1頁
Java工程師面試題_第2頁
Java工程師面試題_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

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

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

3、tringBuffer 類6、int和Integer有什么區(qū)別Java提供兩種不同的類型:引用類型和原始類型(或內(nèi)置類型)。Int是java的原始數(shù)據(jù)類型,Integer是java為int提供的封裝類。Java為每個(gè)原始類型提供了封裝類。原始類型圭寸裝類boolea n Boolea nchar Characterbyte Byteshort Shortint In tegerlong Longfloat Floatdouble Double引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它 們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)

4、存儲(chǔ),當(dāng)引用類型和原始類型用作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對象引用實(shí)例變量的缺省值為null,而原始類型實(shí)例變量的缺省值與它們的類型有關(guān)。7、String 和 StringBuffer 的區(qū)別JAVA平臺提供了兩個(gè)類:String和StringBuffer,它們可以儲(chǔ)存和操作字符串,即包含多個(gè)字符的字符數(shù)據(jù)。這個(gè)String類提供了數(shù)值不可改變的字符串。而這個(gè)StringBuffer類提供的字符串進(jìn)行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時(shí)候你就可以使用StringBuffer。典型地,你可以使用StringBuffers來動(dòng)態(tài)構(gòu)造字符數(shù)據(jù)。8運(yùn)行時(shí)異常與一般異常有何異同?異常表示程序運(yùn)行過程中

5、可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常 見運(yùn)行錯(cuò)誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn) 行時(shí)異常。9、說出Servlet的生命周期,并說出 Servlet和CGI的區(qū)別。Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其in it方法,請求到達(dá)時(shí)運(yùn)行其service方法,service方法自動(dòng)派遣運(yùn)行與請求對應(yīng)的doXXX方法(doGet, doPost)等,當(dāng)服務(wù)器決定將實(shí)例銷毀的時(shí)候調(diào)用其destroy方法。與cgi的區(qū)別在于servlet處于服務(wù)器進(jìn)程中,它通過多線程方式運(yùn)行其service方法,

6、一個(gè)實(shí)例可以服務(wù)于多個(gè)請求,并且其實(shí)例一般不會(huì)銷毀,而CGI對每個(gè)請求都產(chǎn)生新的進(jìn)程,服務(wù)完成后就銷毀,所以效率上低于servlet。1. web 中的 forward 和 redirect的區(qū)別?前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將 會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加 高效,在前者可以滿足需要時(shí),盡量使用forward。方法,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用sen dRedirect()方法。2

7、. xml在解釋的時(shí)候 DOM和SAX協(xié)議的區(qū)別和含義?DOM處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對XML的隨機(jī)訪問SAX:不現(xiàn)于DOM,SAX!事件驅(qū)動(dòng)型的 XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過在其回調(diào)事件中寫入處理代碼來處 理XML文件,適合對XML的順序訪問3 說明 JNDI、JMS JTA、RMI 的意思?JNDI(Java Nami ng and Directory

8、 In terface)是一個(gè)應(yīng)用程序設(shè)計(jì)的API,為開發(fā)人員提供了查找和訪問各種命名和目錄服務(wù)的通用、統(tǒng)一的接口,類似JDBC都是構(gòu)建在抽象層上。JMS( Java Messaging Service )是Java平臺上有關(guān)面向消息中間件的技術(shù)規(guī)范,翻譯為 Java消息服務(wù)。JMS支持點(diǎn) 對點(diǎn)和發(fā)布/訂閱兩種消息模型。JTA(Java Transaction API)為J2EE平臺提供了分布式事務(wù)服務(wù)。要用JTA進(jìn)行事務(wù)界定,應(yīng)用程序要調(diào)用javax.transaction.UserTransaction接口中的方法 .RMI是Java的一組擁護(hù)開發(fā)分布式應(yīng)用程序的API。RMI使用Java

9、語言接口定義了遠(yuǎn)程對象,它集合了 Java序列化和Java遠(yuǎn)程方法協(xié)議(Java Remote Method Protocol)。它大大增強(qiáng)了 Java開發(fā)分布式應(yīng)用的能力4.單例模式Public class Sig nlePrivate Sig nle()Pirvate static Signle signle = new Signle();Public static Signle gets()Retrun sig nle; 5數(shù)據(jù)庫中l(wèi)eft join的意思,和在什么場合中應(yīng)用?LEFT JOIN操作用于在任何的 FROM子句中,組合來源表的記錄。使用LEFT JOIN運(yùn)算來創(chuàng)建一個(gè)左邊外

10、部聯(lián)接。左邊外部聯(lián)接將包含了從第一個(gè)(左邊)開始的兩個(gè)表中的全部記錄,即使在第二個(gè)(右邊)表中并沒有相符值的記錄。6 ejb 中的sessionbean和entitybean的區(qū)別和含義?Sessi on Bea n在J2EE應(yīng)用程序中被用來完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問數(shù)據(jù)庫、調(diào)用其他EJB組件。En tityBean被用來代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù)。對于客戶機(jī),Sessi on Bea n是一種非持久性對象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯。對于客戶機(jī),En tityBea n是一種持久性對象,它代表一個(gè)存儲(chǔ)在持久性存儲(chǔ)器中的實(shí)體的對象視圖,或是一個(gè)由現(xiàn)有 企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實(shí)體。7

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

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

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

14、表的交集怎么表示 第一種方法:利用操作符 intersect 第二種方法: in 子句12 jsp 頁面中如何傳遞參數(shù)(1)直接在URL請求后添加( 2) jsp:param3)設(shè)置 session 和 request13 jsp 中的 doget ()和 dopost ()方法的作用?這個(gè)兩個(gè)方法都是 http 協(xié)議的方法, doget 用于傳輸數(shù)據(jù)量較小(密碼會(huì)泄露) , dopost 數(shù)據(jù)量較大,14 什么是用例?如何確定用例? 在不展現(xiàn)一個(gè)系統(tǒng)或子系統(tǒng)內(nèi)部結(jié)構(gòu)的情況下,對系統(tǒng)或子系統(tǒng)的某個(gè)連貫的功能單元的定義和描述。 一個(gè)用例可以看作是系統(tǒng)的一個(gè)功能 , 例如增加用戶 , 增加角色 ,

15、 查詢一個(gè)具體的一個(gè)事物 , 在 Ejb 的設(shè)計(jì)中 , 一個(gè) use case 跟 Session bean 的一個(gè)方法是對應(yīng)的 ( 使用的 session fasade 模式), 你說的基礎(chǔ)數(shù)據(jù)管理 , 我會(huì)把它處理成為一 個(gè)抽象用例 , 因?yàn)槲艺J(rèn)為基礎(chǔ)數(shù)據(jù)這個(gè)概念非常的抽象 , 什么是真正的基礎(chǔ)數(shù)據(jù) ?例如說一個(gè)系統(tǒng)中郵政編碼算是這個(gè) 系統(tǒng)的基礎(chǔ)數(shù)據(jù) , 那么”郵政編碼修改”這個(gè)就應(yīng)該算是用例了 .15 活動(dòng)圖和時(shí)序圖的區(qū)別? 時(shí)序圖主要強(qiáng)調(diào)時(shí)間的順序 活動(dòng)圖主要強(qiáng)調(diào)空間上類的交互16 什么是策略模式?什么情況下使用? 策略模式定義了一系列的算法,并將每一個(gè)算法封裝起來,而且使它們還可以相互替換Context( 應(yīng)用場景 ):1、需要使用 ConcreteStrategy 提供的算法。2、 內(nèi)部維護(hù)一個(gè) Strategy 的實(shí)例。3、負(fù)責(zé)動(dòng)態(tài)設(shè)置運(yùn)行時(shí) Strategy 具

溫馨提示

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

評論

0/150

提交評論