




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、JavaEE 工程師筆試題測試時(shí)間:90 分鐘感謝您參加本次測試,本套試題一共包括 4 大部分,主要是對(duì)應(yīng)試者相關(guān)基礎(chǔ)知識(shí)的把握情況及潛力進(jìn)行考核,內(nèi)容及所占分值分別為 java 及javaWeb(35 分)、javascript(35 分)、 sql(12)、綜合(18),總分為 100 分,請(qǐng)把 寫到專門的答題紙上。第一部分:Java 及 JavaWeb (35)1. 用最有效率的方法算出 2 乘以 8 等於幾? (1 分)2 3,因?yàn)閷⒁粋€(gè)數(shù)n 位,就相當(dāng)于乘以了 2 的n 次方,那么,一個(gè)數(shù)乘以 8 只要將其3 位即可,而位運(yùn)算 cpu 直接支持的,效率最高,所以,2 乘以 8 等於幾
2、的最效率的方法是 2 3。2、說說&和&的區(qū)別。 (1 分)&和&都可以用作邏輯與的運(yùn)算符,表示邏輯與(and),當(dāng)運(yùn)算符兩邊的表達(dá)式的結(jié)果都為 true 時(shí),整個(gè)運(yùn)算結(jié)果才為 true,否則,只要有一方為 false,則結(jié)果為 false。3、=和 equals 方法究竟區(qū)別?(3 分)(單獨(dú)把一個(gè)東西說清楚,然后再說清楚另一個(gè),這樣,它們的區(qū)別自然就出來了,混在一起說,則很難說清楚)=操作符專門用來比較兩個(gè)變量的值是否相等,也就是用于比較變量所對(duì)應(yīng)的內(nèi)存中所存儲(chǔ)的數(shù)值是否相同,要比較兩個(gè)基本類型的數(shù)據(jù)或兩個(gè)符。變量是否相等,只能用=操作如果一個(gè)變量指向的數(shù)據(jù)是對(duì)象類型的,那么,這時(shí)候涉及了
3、兩塊內(nèi)存,對(duì)象本身占用一塊內(nèi)存(堆內(nèi)存),變量也占用一塊內(nèi)存,例如 Objet obj = new Object();變量 obj 是一個(gè)內(nèi)存,new Object()是另一個(gè)內(nèi)存,此時(shí),變量 obj 所對(duì)應(yīng)的內(nèi)存中的數(shù)值就是對(duì)象占用的那塊內(nèi)存的首地址。對(duì)于指象類型的變量,如果要比較兩個(gè)變量是否指向同一個(gè)對(duì)象,即要看這兩個(gè)變量所對(duì)應(yīng)的內(nèi)存中的數(shù)值是否相等,這時(shí)候就需要用=操作符進(jìn)行比較。 equals 方法是用于比較兩個(gè)獨(dú)立對(duì)象的內(nèi)容是否相同,就好比去比較兩個(gè)人的長相是否相同,它比較的兩個(gè)對(duì)象是獨(dú)立的。例如,對(duì)于下面的代碼:String a=new String(foo); String b=
4、new String(foo);兩條 new 語句創(chuàng)建了兩個(gè)對(duì)象,然后用 a,b 這兩個(gè)變量分別指向了其中一個(gè)對(duì)象,這是兩個(gè)不同的對(duì)象,它們的首地址是不同的,即 a 和 b 中的數(shù)值是不相同的,所以,表達(dá)式a=b 將返回 false,而這兩個(gè)對(duì)象中的內(nèi)容是相同的,所以,表達(dá)式 a.equals(b)將返回 true。在實(shí)際開發(fā)中,經(jīng)常要比較傳遞進(jìn)行來的字符串內(nèi)容是否等,例如, String input= ;input.equals(“quit”),許多人稍不注意就使用=進(jìn)行比較了,這是錯(cuò)誤的,隨便從網(wǎng)上找?guī)讉€(gè)項(xiàng)目實(shí)戰(zhàn)的教學(xué)是使用 equals 方法。看看,里面就有大量這樣的錯(cuò)誤。記住,字符串的
5、比較基本上都如果一個(gè)類沒有自己定義 equals 方法,那么它將繼承 Object 類的 equals 方法,Object 類的equals 方法的實(shí)現(xiàn)代碼如下:equals(Object o) return this=o;這說明,如果一個(gè)類沒有自己定義 equals 方法,它默認(rèn)的 equals 方法(從 Object 類繼承的)就是使用=操作符,也是在比較兩個(gè)變量指向的對(duì)象是否是同一對(duì)象,這時(shí)候使用 equals和使用=會(huì)得到同樣的結(jié)果,如果比較的是兩個(gè)獨(dú)立的對(duì)象則總返回 false。如果你編寫的類希望能夠比較該類創(chuàng)建的兩個(gè)實(shí)例對(duì)象的內(nèi)容是否相同,那么你必須覆蓋 equals 方法,由你自
6、己寫代碼來決定在什么情況即可認(rèn)為兩個(gè)對(duì)象的內(nèi)容是相同的。4、List, Set, Map 是否繼承自 Collection 接口?(2 分)Collection 是單例集合的根接口,List、Set 都是屬于單例集合的接口,List 與 Set 接口都是繼承了 Collection 接口的。Map 接口是雙列集合的根接口,與 Collection 接口沒有繼承關(guān)系。5、簡述 List 及 Set 的區(qū)別?(2 分)實(shí)現(xiàn) List 接口的集合類特點(diǎn):有序、可重復(fù)。實(shí)現(xiàn) Set 接口的集合類特點(diǎn):無序、不可重復(fù)。6、接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可
7、繼承具體類(concrete class)? 抽象類中是否可以有靜態(tài)的 main 方法?(3 分)接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承具體類。抽象類中可以有靜態(tài)的 main 方法。備注:只要明白了接口和抽象類的本質(zhì)和作用,這些問題都很好回答,你想想,如果你是 java語言的設(shè)計(jì)者,你是否會(huì)提供這樣的支持,如果不提供的話,理由嗎?如果你沒有道理不提供,那就是肯定的了。只有記住抽象類與普通類的唯一區(qū)別就是不能創(chuàng)建實(shí)例對(duì)象和允許有 abstract 方法。7、解釋一下servlet?(2 分)答:servlet 有良好的生存期的定義,包括加載和實(shí)例化、初始化
8、、處理請(qǐng)求以及服務(wù)結(jié)束。這個(gè)生存期由 javax.servlet.Servlet 接口的 init,service 和destroy 方法表達(dá)。8、JSP 和 Servlet 有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?(3 分)JSP 是 Servlet 技術(shù)的擴(kuò)展,本質(zhì)上是 Servlet 的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP 編譯后是類 servlet。Servlet 和 JSP 最主要的不同點(diǎn)在于,Servlet 的應(yīng)用邏輯是在 Java 文件中,并且完全從表示層中的 HTML 里分離開來。而 JSP 的情況是 Java 和 HTML 可以組一個(gè)擴(kuò)展名為.jsp 的文件。JSP 側(cè)
9、重于視圖,Servlet 主要用于控制邏輯。9、多線程有幾種實(shí)現(xiàn)方法?同步有幾種實(shí)現(xiàn)方法? (3 分)多線程有兩種實(shí)現(xiàn)方法,分別是繼承 Thread 類與實(shí)現(xiàn) Runnable 接口同步的實(shí)現(xiàn)方面有兩種,分別是 synchronized,wait 與 notifywait():使一個(gè)線程處于等待狀態(tài),并且所持有的對(duì)象的 lock。sleep(): 使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài), 是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉erruptedException 異常。notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程,而是由 JVM 確定喚醒哪個(gè)
10、線程,而且不是按優(yōu)先級(jí)。Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對(duì)象的鎖,而是讓它們競爭。10、hibernate 的 inverse 屬性的作用? (3 分)解決方案一,按照 Object數(shù)據(jù)取出數(shù)據(jù),然后自己組 bean解決方案二,對(duì)每個(gè)表的 bean 寫構(gòu)造函數(shù),比如表一要查出 field1,field2 兩個(gè)字段,那么有一個(gè)構(gòu)造函數(shù)就是 Bean(type1 filed1,type2field2) ,然后在 hql 里面就可以直接生成這個(gè) bean 了。11、談?wù)勀銓?duì) Struts 的理解。(3 分)答: 1. struts 是一個(gè)按 MVC 模
11、式設(shè)計(jì)的 Web 層框架,其實(shí)它就是一個(gè)大大的 servlet,這個(gè)Servlet 名為 ActionServlet,或是 ActionServlet 的子類??梢栽?web.xml 文件中將符合某種特征的所有請(qǐng)求交給這個(gè) Servlet 處理,這個(gè) Servlet 再參照一個(gè)配置文件(通常為/WEB-INF/struts-config.xml)將各個(gè)請(qǐng)求分別分配給不同的 action 去處理。一個(gè)擴(kuò)展知識(shí)點(diǎn):struts 的配置文件可以有多個(gè),可以按模塊配置各自的配置文件,這樣可以防止配置文件的過度膨脹;2. ActionServlet 把請(qǐng)求交給 action 去處理之前,會(huì)將請(qǐng)求參數(shù)封裝
12、成一個(gè) formbean 對(duì)象(就是一個(gè) java 類,這個(gè)類中的每個(gè)屬性對(duì)應(yīng)一個(gè)請(qǐng)求參數(shù)),封裝成一個(gè)什么樣的 formbean對(duì)象呢?看配置文件。3.明的是, ActionServlet 把 formbean 對(duì)象傳遞給 action 的execute 方法之前,可能會(huì)調(diào)用 formbean 的 validate 方法進(jìn)行校驗(yàn),只有校驗(yàn)通過后才將這個(gè) formbean 對(duì)象傳遞給 action的 execute 方法,否則,它將返回一個(gè)錯(cuò)誤頁面,這個(gè)錯(cuò)誤頁面由 input 屬性指定,(看配置文件)作者為什么將這里命名為 input 屬性,而不是 error 屬性, 后面結(jié)合實(shí)際的運(yùn)行效果進(jìn)
13、行分析。4.action 執(zhí)行完后要返回顯示的結(jié)果視圖,這個(gè)結(jié)果視圖是用一個(gè) ActionForward 對(duì)象來表示的,actionforward 對(duì)象通過 struts-config.xml 配置文件中的配置關(guān)聯(lián)到某個(gè) jsp 頁面,因?yàn)槌绦蛑惺褂玫氖窃?struts-config.xml 配置文件為 jsp 頁面設(shè)置的邏輯名,這樣可以實(shí)現(xiàn) action程序代碼與返回的 jsp 頁面名稱的解耦。你對(duì) struts 可能還有自己的應(yīng)用方面的經(jīng)驗(yàn),一并說出來。12、你對(duì) Spring 的理解。(4 分)1.Spring 實(shí)現(xiàn)了工廠模式的工廠類(在這里有必要解釋清楚工廠模式),這個(gè)類名為BeanF
14、actory(實(shí)際上是一個(gè)接口),在程序中通常 BeanFactory 的子類 ApplicationContext。 Spring 相當(dāng)于一個(gè)大的工廠類,在其配置文件中通過元素配置用于創(chuàng)建實(shí)例對(duì)象的類名和實(shí)例對(duì)象的屬性。2. Spring 提供了對(duì) IOC 良好支持,IOC 是一種編程,是一種架構(gòu)藝術(shù),利用這種可以很好地實(shí)現(xiàn)模塊之間的解耦。IOC 也稱為 DI(Depency Injection),什么叫依賴注入呢?譬如,Class ProgrammerComputer computer = null; public void code()puter computer = new puter
15、 computer =computer.write();puter();puter();public voidputer(Computer computer)puter = computer;另外兩種方式都由依賴,第一個(gè)直接依賴于目標(biāo)類,第二個(gè)把依賴轉(zhuǎn)移到工廠上,第三個(gè)徹底與目標(biāo)和工廠解耦了。在 spring 的配置文件中配置片段如下:bean id=”computer” class=”cn.it.erview.Programmer”3. Spring 提供了對(duì) AOP 技術(shù)的良好封裝, AOP 稱為面向切面編程,就是系統(tǒng)中有很多各不相干的類的方法,在這些眾多方法中要加入某種系統(tǒng)功能的代碼,例
16、如,加入日志,加入權(quán)限判斷,加入異常處理,這種應(yīng)用稱為 AOP。實(shí)現(xiàn) AOP 功能采用的是技術(shù),客戶端,有兩種方式程序不再調(diào)用目標(biāo),而調(diào)用類,類與目標(biāo)類對(duì)外具有相同的方法可以實(shí)現(xiàn)相同的方法,一是實(shí)現(xiàn)相同的接口,二是作為目標(biāo)的子類在,JDK 中采用 Proxy類產(chǎn)生動(dòng)態(tài)B。在生成的的方式為某個(gè)接口生成實(shí)現(xiàn)類,如果要為某個(gè)類生成子類,則可以用 CGLI類的方法中加入系統(tǒng)功能和調(diào)用目標(biāo)類的相應(yīng)方法,系統(tǒng)功能的以Advice 對(duì)象進(jìn)行提供,顯然要?jiǎng)?chuàng)建出對(duì)象,至少需要目標(biāo)類和 Advice 類。spring 提供了這種支持,只需要在 spring 配置文件中配置這兩個(gè)元素即可實(shí)現(xiàn)和 aop 功能,例如,
17、13、簡述 iBatis 框架與 Hibernate 的框架的區(qū)別及應(yīng)用場景。(5 分)不用寫 sql 語句??梢砸悦嫦蟮姆绞皆O(shè)計(jì)和,方便理解??梢宰詣?dòng) HQL 轉(zhuǎn)化為 SQL語句, 跨, 其實(shí)hibernate 底層也是調(diào)用的 jdbc,它只是對(duì) jdbc 進(jìn)行了封裝Hibernate 缺點(diǎn):處理復(fù)雜業(yè)務(wù)時(shí), 靈活度差, 復(fù)雜的 hql 難寫Ibatis 優(yōu)點(diǎn): 是在結(jié)果集與實(shí)體類之間進(jìn)行,效率高, 學(xué)習(xí)成本低Ibatis 缺點(diǎn):需要使用場景:自己寫 SQL 語句, 不能夠跨ibatis 可以做大型項(xiàng)目,但開發(fā)量會(huì)比 hibernate 多,hibernate 只適合做中小型項(xiàng)目,因?yàn)槠湫阅?/p>
18、是個(gè)大問題,ps:當(dāng)然能把 hibernate 性能優(yōu)化的很好是例外,第二部分:Javascript(35 分)1、foo 對(duì)象有 att 屬性,那么獲取 att 屬性的值,以下哪些做法是可以的?()(2 分)A.foo.attB.foo(att)C.fooattD.fooattE.fooa+t+t2、在 javascript 中執(zhí)行下面的語句 var a=(32)|0|(5-3)|true;alert(a);輸出什么?()(2 分)A、出語法錯(cuò)誤B、trueC、falseD、23、假如網(wǎng)頁的中包括下面的 js 代碼,請(qǐng)寫出空白處的輸出結(jié)果(2 分)。var b1=v:this is b1;
19、var b2=v:this is b2; function b()alert(this.v);b();/(1)輸出(window.b();/(2)輸出b.call(b1);/(3)輸出b.call(b2);/(4)輸出4、下面的代碼,輸出結(jié)果是什么?(2)var a=function()return function(x,y)return x+y;();var x=5; var y=6;alert(a(x,y);/輸出5、假如 var a=3;怎樣才能使得 alert(a.add(5)的輸出結(jié)果為 8,請(qǐng)寫出 add 方法的實(shí)現(xiàn)。(4分)6、如何把對(duì)象 a 中的所有成員到對(duì)象 b 中,請(qǐng)寫出實(shí)
20、現(xiàn)代碼?(4 分)7 、如何寫一個(gè)函數(shù) sum , 能實(shí)現(xiàn)任意多個(gè)數(shù)的求和? 比如 alert(sum(1,2,3) 輸出 6 ,alert(sum(100,200,500,900);輸出 1700。(4 分)8、Ajax?Ajax 的工作原理是什么?你所接觸的 Ajax 框架有哪些?(4 分)第三部分:數(shù)據(jù)庫及 SQL 題(12 分)數(shù)據(jù)庫中有兩張表,分別為 g_cardapply 及 g_cardapplydetai,其中表 g_cardapply的結(jié)構(gòu)如下:表 g_cardapplydetail 的結(jié)構(gòu)如下:其中,兩個(gè)表的關(guān)聯(lián)字段為申請(qǐng)單號(hào) applyno,請(qǐng)寫出能滿足下面功能的 SQL 語句:1、 查詢號(hào)碼為 440401430103082 的申請(qǐng)日期(2 分)字段類型長度備注applynovarchar8申請(qǐng)單號(hào)(關(guān)鍵字)namevarchar30申請(qǐng)人idcardvarchar18申請(qǐng)人號(hào)sevarchar2申請(qǐng)狀態(tài)字段類型長度備注applynovarchar8申請(qǐng)單號(hào)(關(guān)鍵字)applydatebig8申請(qǐng)日期sevarchar2申請(qǐng)狀態(tài)2、 查詢同一個(gè)號(hào)碼有兩條以上的號(hào)碼及個(gè)數(shù)(2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播簽約薪酬合同范本
- 別墅室內(nèi)石材合同范本
- 保密設(shè)備合同范本
- 分時(shí)度假 合同范本
- 保險(xiǎn)增值服務(wù)合同范本
- 第15課 現(xiàn)代醫(yī)療衛(wèi)生體系與社會(huì)生活 教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版(2019)高二歷史選擇性必修2 經(jīng)濟(jì)與社會(huì)生活
- 勞動(dòng)合同范本txt
- 2024年招商銀行鄭州分行招聘考試真題
- 二手電線買賣合同范本
- 2024年銀川市永寧三沙源上游學(xué)校招聘筆試真題
- 中石油HSE培訓(xùn)試題集(共33頁)
- 2022年云南省中考數(shù)學(xué)試題及答案解析
- 噴(烤)漆房VOCs治理設(shè)施日常運(yùn)行臺(tái)賬
- TS16949五大工具:SPC
- 區(qū)域環(huán)境概況
- 五年級(jí)下冊-綜合實(shí)踐教案
- 貴州出版社小學(xué)五年級(jí)下冊綜合實(shí)踐活動(dòng)教案全冊
- 爆破片面積計(jì)算
- [方案]隱框玻璃幕墻施工方案
- 設(shè)備安裝檢驗(yàn)批表格
- 6核島系統(tǒng)培訓(xùn)
評(píng)論
0/150
提交評(píng)論