




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程師筆試試題(JAVA)填空題(10分)執(zhí)行下列代碼后的結(jié)果是什么?intx,a=2,b=3,c=4;x=++a+b+++c++;包包含了Collection的接口和類的APImain方法的聲明格式包括下列程序中構(gòu)造了一個(gè)SET并且調(diào)用其方法add(),輸出結(jié)果是publicclassA{publicinthashCode(){return1;}publicBooleanequals(Objectb){returntrue}publicstaticvoidmain(Stringargs[]){Setset=newHashSet();set.add(newA());set.add(newA());set.add(newA());System.out.println(set.size());}}下列程序的運(yùn)行結(jié)果是classA{classDog{privateStringname;privateintage;publicintstep;Dog(Strings,inta){name=s;age=a;step=0;}publicvoidrun(Dogfast){fast.step++;}}publicstaticvoidmain(Stringargs[]){Aa=newA();Dogd=a.newDog("Tom",3);d.step=25;d.run(d);System.out.println(d.step);}}選擇題(20分)欲構(gòu)造ArrayList類的一個(gè)實(shí)例,此類繼承了List接口,下列哪個(gè)方法是正確的?A ArrayListmyList=newObject();B ListmyList=newArrayList();C ArrayListmyList=newList();D ListmyList=newList();paint()方法使用哪種類型的參數(shù)?A GraphicsB Graphics2DC StringD Color指出正確的表達(dá)式A byte=128;B Boolean=null;C longl=0xfffL;D double=0.9239d;指出下列程序運(yùn)行的結(jié)果publicclassExample{Stringstr=newString("good");char[]ch={'a','b','c'};publicstaticvoidmain(Stringargs[]){Exampleex=newExample();ex.change(ex.str,ex.ch);System.out.print(ex.str+"and");Sytem.out.print(ex.ch);}publicvoidchange(Stringstr,charch[]){str="testok";ch[0]='g';}}A goodandabcB goodandgbcC testokandabcD testokandgbc要從文件"file.dat"文件中讀出第10個(gè)字節(jié)到變量C中,下列哪個(gè)方法適合?A FileInputStreamin=newFileInputStream("file.dat");in.skip(9);intc=in.read();B FileInputStreamin=newFileInputStream("file.dat");in.skip(10);intc=in.read();C FileInputStreamin=newFileInputStream("file.dat");intc=in.read();D RandomAccessFilein=newRandomAccessFile("file.dat");in.skip(9);intc=in.readByte();容器被重新設(shè)置大小后,哪種布局管理器的容器中的組件大小不隨容器大小的變化而改變?A CardLayoutB FlowLayoutC BorderLayoutD GridLayout給出下面代碼:publicclassPerson{staticintarr[]=newint[10];publicstaticvoidmain(Stringa[]){System.out.println(arr[1]);}}那個(gè)語句是正確的?A 編譯時(shí)將產(chǎn)生錯(cuò)誤;B 編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤;C 輸出零;D 輸出空。哪個(gè)關(guān)鍵字可以對對象加互斥鎖?A transientB synchronizedC serializeD static下列哪些語句關(guān)于內(nèi)存回收的說明是正確的?A 程序員必須創(chuàng)建一個(gè)線程來釋放內(nèi)存;B 內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存C 內(nèi)存回收程序允許程序員直接釋放內(nèi)存D 內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對象下列代碼哪幾行會出錯(cuò):1)publicvoidmodify(){2)intI,j,k;3)I=100;4)while(I>0){5)j=I*2;6)System.out.println("Thevalueofjis"+j);7)k=k+1;8)I--;9)}10)}A line4B line6C line7D line8簡答題(40分)請對Structs的架構(gòu)進(jìn)行描述。Servlet有性能安全問題嗎?如何使用?為什么會使用同步控制?其優(yōu)缺點(diǎn)是什么?Hibernate的組建方式?如何配置?映射是如何實(shí)現(xiàn)的?有幾種對應(yīng)關(guān)系?應(yīng)用開發(fā)有哪些種模式?至少寫出5種。并請介紹singleon模式的工作方式。HashMap與Hashtable的區(qū)別。EJB的幾種類型?在你實(shí)施過的項(xiàng)目中哪些是成功的?你認(rèn)為成功的要素是什么?編程題(30分)打印輸出10行楊暉三角形。有下面一段Server段程序,目的是能夠同時(shí)服務(wù)多個(gè)客戶,客戶的請求是一句話(一個(gè)String)。如果這個(gè)請求的內(nèi)容是字符串"plain"的話,服務(wù)器僅將"hello"字符串返回給用戶。否則將用戶的話追加到當(dāng)前目錄的文本文件Memo.txt中(路徑為"Memo.txt"),并向用戶返回"OK"。注意Server并發(fā)的處理多用戶,Memo.txt被共享,要求不能出現(xiàn)數(shù)據(jù)不一致。Server的程序如下文件Server.java:publicclassServer{publicstaticvoidmain(Stringargs[]){MemoControllermemoController=newMemoController();try{ServerSocketss=newServerSocket(1999);while(true){Sockets=ss.accept();try{UserThreadt=newUserThread(s,memoController);t.start();}catch(Exceptione){e.printStackTrace();}}}catch(Exceptione){e.printStackTrace();}finally{memoController.close();}}}類UserThread程序如下:文件UserThread.java:publicclassUserThreadextendsThread{Sockets;MemoControllermemo;publicUserThread(Sockets,MemoControllermemo){this.s=s;this.memo=memo;}publicvoidrun(){try{BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));PrintWriterpw=newPrintWriter(newOutputStreamWriter(s.getOutputStream()));Stringreq=br.readLine();if(req.equals("plain")){pw.println("hello");}else{memo.append(req);pw.println("OK");}pw.flush();pw.close();br.close();s.close();}catch(Exceptione){e.printStackTrace();}}}請根據(jù)題目的要求和現(xiàn)有的Server.java,UserThread.java的程序完成類MemoController.java的程序。答案填空題(10分)x=10,a=3,b=4,c=5java.util(public)(static)(void)(main)(Stringargs[])126選擇題(20分)BACBABCBBC簡答題(40分)Struts是一種典型MVC架構(gòu),其中M(odel)為模型,V(iew)為視圖,即jsp展現(xiàn)層,C(ontrl)為控制層,即action層;這種架構(gòu)的最大優(yōu)點(diǎn)就是MVC三層分離,便于開發(fā)、維護(hù)、擴(kuò)展;模型--視圖--控制器(Model-View-Controller,MVC)體系突出了Servlets和JSP的優(yōu)點(diǎn),同時(shí)也令它們的缺點(diǎn)最小化。在實(shí)現(xiàn)中,用戶請求被發(fā)送到控制器actionservlet(唯一實(shí)例),actionservlet決定請求的性質(zhì),并且根據(jù)請求的類型傳送給合適的action進(jìn)行處理。action調(diào)用相關(guān)模型組件完成操作,處理完畢后,結(jié)果會發(fā)送回actionservlet,actionservlet選擇適合的視圖顯示它。Servlet/JSP技術(shù)由于其多線程運(yùn)行而具有很高的執(zhí)行效率。由于Servlet/JSP默認(rèn)是以多線程模式執(zhí)行的,所以,在編寫代碼時(shí)需要非常細(xì)致地考慮多線程的安全性問題。然而,很多人編寫Servlet/JSP程序時(shí)并沒有注意到多線程安全性的問題,這往往造成編寫的程序在少量用戶訪問時(shí)沒有任何問題,而在并發(fā)用戶上升到一定值時(shí),就會經(jīng)常出現(xiàn)一些莫明其妙的問題。為了線程安全要使用同步,優(yōu)點(diǎn)是保證了數(shù)據(jù)安全,缺點(diǎn)是降低了性能。Hibernate通過xml配置文件來實(shí)現(xiàn)OR映射。配置是通過編寫XML實(shí)現(xiàn)的,Hibernate通過配置文件實(shí)現(xiàn)JAVABEAN和數(shù)據(jù)庫的映射。常見的關(guān)系有one-to-one,many-to-one,one-to-many,many-to-many。略(1)Hashtable繼承自Dictionary類,而HashMap是Java1.2引進(jìn)的Mapinterface的一個(gè)實(shí)現(xiàn)(2)HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許(3)HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因?yàn)閏ontains方法容易讓人引起誤解。在HashMap中,null可以作為鍵,這樣的鍵只有一個(gè);可以有一個(gè)或多個(gè)鍵所對應(yīng)的值為null。當(dāng)get()方法返回null值時(shí),即可以表示HashMap中沒有該鍵,也可以表示該鍵所對應(yīng)的值為null。因此,在HashMap中不能由get()方法來判斷HashMap中是否存在某個(gè)鍵,而應(yīng)該用containsKey()方法來判斷。(4)最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)線程訪問Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為之提供外同步。HashMap的同步問題可通過Collections的一個(gè)靜態(tài)方法得到解決:MapCollections.synchronizedMap(Mapm)這個(gè)方法返回一個(gè)同步的Map,這個(gè)Map封裝了底層的HashMap的所有方法,使得底層的HashMap即使是在多線程的環(huán)境中也是安全的。會話(Session)Bean,實(shí)體(Entity)Bean消息驅(qū)動的(MessageDriven)Bean會話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)兩種實(shí)體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種略編程題(30分)classyanghui{publicstaticvoidmain(Stringargs[]){inti,j;intyhlevel=10;intyanghui[][];System.out.println("楊暉三角形:");yanghui=newint[yhlevel][];for(i=0;i<yanghui.length;i++)yanghui[i]=newint[i+1];yanghui[0][0]=1;for(i=1;i<yanghui.length;i++){yanghui[i][0]=1;for(j=1;j<yanghui[i].length-1;j++)yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];yanghui[i][yanghui[i].length-1]=1;}for(i=0;i<yanghui.length;i++){for(j=0;j<yanghui[i].length;j++)System.out.print(yanghui[i][j]+"");System.out.println();}}}輸出結(jié)果是:楊暉三角形:11112113311464115101051161520156117213535217118285670562881193684126126843691importjava.io.*;publicclassMemoController{FileOutputStreamfos;OutputStreamWriterosw;BufferedWriterbw;publicMemoController(){try{fos=newFileOutputStream("memo.txt",true);osw=newOutputStreamWriter(fos);bw=newBufferedWriter(osw);}catch(FileNotFoundExceptione){};}publicsynchronizedvoidappend(Strings){try{bw.write(s,0,s.length());bw.flush();bw.close();osw.close();fos.close();}catch(IOExceptione){}}publicstaticvoidmain(Stringargs[]){MemoControllermmc=newMemoController();mmc.append("Iamxubin");}}XXXX感謝您對本套試題的回答,首先請您填寫上您的姓名(____________),本套試題將作為XXXX入職的參考,多謝您的重視。本套試題分三部分:填空題(10分)、選擇題(20分),SQL基礎(chǔ)題(30)、簡答題(20)、綜合題(30)。時(shí)間60分鐘,滿分110分。一、填空題(每題2分,共10分)1.索引字段值不唯一,應(yīng)該使用的索引類型為(普通索引)2.只有滿足聯(lián)接條件的記錄才包含在查詢結(jié)果中,這種聯(lián)接為(內(nèi)聯(lián)接)3.E-R模型的組成包括那些元素(實(shí)體)(屬性)(關(guān)系)4.事務(wù)所具有的特性有(原子性)(一致性)(隔離性)(持久性)5、結(jié)構(gòu)化程序設(shè)計(jì)的三種基本邏輯結(jié)構(gòu)是(順序結(jié)構(gòu)),(選擇結(jié)構(gòu)),(循環(huán)結(jié)構(gòu))。二、選擇提(每題1分,共20分)1、在刪除整表數(shù)據(jù),同時(shí)保留表結(jié)構(gòu)時(shí),采用(C)的效率比(A)要高; A.delete B.droptable C.truncate
Table2、數(shù)據(jù)庫管理系統(tǒng)中,能實(shí)現(xiàn)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行插入/修改/刪除的功能稱為(C);A.數(shù)據(jù)定義功能 B.數(shù)據(jù)管理功能 C.數(shù)據(jù)操作功能 D.數(shù)據(jù)控制功能3、24、在關(guān)系模型中,實(shí)現(xiàn)"關(guān)系中不允許出現(xiàn)相同的元組"的約束是通過(B)。A:候選鍵 B:主鍵 C:外鍵 D:超鍵4、數(shù)據(jù)庫管理系統(tǒng)DBMSS是(D); A.信息管理的應(yīng)用軟件 B.數(shù)據(jù)庫系統(tǒng)+應(yīng)用程序 C.管理中的數(shù)據(jù)庫 D.管理數(shù)據(jù)的軟件5、關(guān)系數(shù)據(jù)庫中,實(shí)現(xiàn)表與表之間的聯(lián)系是通過(B)。A、實(shí)體完整性規(guī) B、參照完整性規(guī)則C、用戶自定義的完整性 D、值域6、設(shè)有部門和職員兩個(gè)實(shí)體,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員,則部門與職員實(shí)體之間的聯(lián)系類型(B)。A、m:n B、1:m C、m:1 D、1:17、設(shè)有課程和學(xué)生兩個(gè)實(shí)體,每個(gè)學(xué)生可以選修多個(gè)課程,一個(gè)課程可以有多名學(xué)生選修,則課程與學(xué)生實(shí)體之間的聯(lián)系類型(A)。A、m:n B、1:m C、m:1 D、1:18、如果一個(gè)班只能有一個(gè)班長,而且一個(gè)班長不能同時(shí)擔(dān)任其它班的班長,班級和班長兩個(gè)實(shí)體之間的關(guān)系屬于(D)。A、m:n B、1:m C、m:1 D、1:19、索引字段值不唯一,應(yīng)該選擇的索引類型為( B )。A:主索引 B:普通索引 C:候選索引 D:唯一索引10、如果指定參照完整性的刪除規(guī)則為"級聯(lián)",則當(dāng)刪除父表中的記錄時(shí)(C)。 A:系統(tǒng)自動備份父表中被刪除記錄到一個(gè)新表中 B:若子表中有相關(guān)記錄,則禁止刪除父表中記錄 C:會自動刪除子表中所有相關(guān)記錄 D:不作參照完整性檢查,刪除父表記錄與子表無關(guān)11、設(shè)有兩個(gè)數(shù)據(jù)庫表,父表和子表之間是一對多的聯(lián)系,為控制子表和父表的關(guān)聯(lián),可以設(shè)置"參照完整性規(guī)則",為此要求這兩個(gè)表(B)。A:在父表連接字段上建立普通索引,在子表連接字段上建立主索引B:在父表連接字段上建立主索引,在子表連接字段上建立普通索引C:在父表連接字段上不需要建立任何索引,在子表連接字段上建立普通索引D:在父表和子表的連接字段上都要建立主索引12、把實(shí)體-聯(lián)系模型轉(zhuǎn)換為關(guān)系模型時(shí),實(shí)體之間多對多聯(lián)系在模型中是通過(C)_。 A:建立新的屬性來實(shí)現(xiàn) B:建立新的關(guān)鍵字來實(shí)現(xiàn) C:建立新的關(guān)系來實(shí)現(xiàn) D:建立新的實(shí)體來實(shí)現(xiàn)13、用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱之為( B)A.關(guān)系模型 B.層次模型 C.網(wǎng)狀模型 D.數(shù)據(jù)模型14、SQL語句中修改表結(jié)構(gòu)的命令是(C)_。A:MODIFYTABLE B:MODIFYSTRUCTUREC:ALTERTABLE D:ALTERSTRUCTURE15、用SQL語句建立表時(shí)將屬性定義為主關(guān)鍵字,應(yīng)使用短語(B)。A:CHECK B:PRIMARYKEYC:FREE D:UNIQUE16、SQL實(shí)現(xiàn)分組查詢的短語是(B)。A:ORDERBY B:GROUPBY C:HAVING D:ASC17、數(shù)據(jù)庫系統(tǒng)中采用封鎖技術(shù)的目的是為了保證(A) A.數(shù)據(jù)的一致性 B.數(shù)據(jù)的可靠性 C.數(shù)據(jù)的完整性 D.數(shù)據(jù)的安全性18、在數(shù)據(jù)庫設(shè)計(jì)中,表示用戶業(yè)務(wù)流程的常用方法是(A) A.DFD B.程序流程圖 C.E-R圖 D.數(shù)據(jù)結(jié)構(gòu)圖19、為"歌手"表增加一個(gè)字段"最后得分"的SQL語句是(A)。A)ALTERTABLE歌手ADD最后得分F(6,2)B)ALTERDBF歌手ADD最后得分F6,2C)CHANGETABLE歌手ADD最后得分F(6,2)D)CHANGETABLE學(xué)院INSERT最后得分20、插入一條記錄到"評分"表中,歌手號、分?jǐn)?shù)和評委號分別是"1001"、9.9和"105",正確的SQL語句是(C)。A)INSERTVALUES("1001",9.9,"105")INTO;評分(歌手號,分?jǐn)?shù),評委號)B)INSERTTO評分(歌手號,分?jǐn)?shù),評委號);VALUES("1001",9.9,"105")C)INSERTINTO評分(歌手號,分?jǐn)?shù),評委號);VALUES("1001",9.9,"105")D)INSERTVALUES("100"9.9"105")TO;評分(歌手號,分?jǐn)?shù),評委號)三、SQL基礎(chǔ)題(共30分)設(shè)教學(xué)數(shù)據(jù)庫Education有三個(gè)關(guān)系:學(xué)生關(guān)系S(SNO,SNAME,AGE,SEX,SDEPT);學(xué)習(xí)關(guān)系SC(SNO,CNO,GRADE);課程關(guān)系C(CNO,CNAME,CDEPT,TNAME)查詢問題:(1)檢索計(jì)算機(jī)系的全體學(xué)生的學(xué)號,姓名和性別;3分(2)檢索學(xué)習(xí)課程號為C2的學(xué)生學(xué)號與姓名;3分(3)檢索選修課程名為“DS”的學(xué)生學(xué)號與姓名;3分(4)檢索選修課程號為C2或C4的學(xué)生學(xué)號;3分(5)檢索至少選修課程號為C2和C4的學(xué)生學(xué)號;3分(6)檢索不學(xué)C2課的學(xué)生姓名和年齡; 5分(7)檢索學(xué)習(xí)全部課程的學(xué)生姓名; 5分(8)查詢所學(xué)課程包含學(xué)生S3所學(xué)課程的學(xué)生學(xué)號。5分(1)檢索計(jì)算機(jī)系的全體學(xué)生的學(xué)號,姓名和性別;SELECTSno,Sname,SexFROMSWHERESdept=’CS’;檢索學(xué)習(xí)課程號為C2的學(xué)生學(xué)號與姓名;SELECTSno,SnameFROMSWHERESnoIN(SELECTSnoFROMSCWHERECno=‘C2’)2.SELECTS.Sno,SnameFROMS,SCWHERES.Sno=SC.SnoANDSC.Cno=‘C2’;(3)檢索選修課程名為“DS”的學(xué)生學(xué)號與姓名本查詢涉及到學(xué)號、姓名和課程名三個(gè)屬性,分別存放在S和C表中,但S和C表沒有直接聯(lián)系,必須通過SC表建立它們二者的聯(lián)系。C→SC→S基本思路:(1)首先在C表中找出“DS”課程的課程號Cno;(2)然后在SC表中找出Cno等于第一步給出的Cno集合中的某個(gè)元素Cno;(3)最后在S關(guān)系中選出Sno等于第二步中Sno集合中某個(gè)元素的元組,取出Sno和Sname送入結(jié)果表列。SELECTSno,SnameFROMSWHERESnoIN(SELECTSnoFROMSCWHERECnoIN(SELECTCnoFROMCWHERECname=‘DS’));檢索選修課程號為C2或C4的學(xué)生學(xué)號;SELECTSnoFROMSCWHERECno=‘C2’ORCno=‘C4’;檢索至少選修課程號為C2和C4的學(xué)生學(xué)號;SELECTSnoFROMSCX,SCYWHEREX.Sno=Y.SnoANDX.Cno=‘C2’ANDY.Cno=‘C4’;檢索不學(xué)C2課的學(xué)生姓名和年齡;A.SELECTSnameFROMSWHERESnoNOTIN(SELECTSnFROMSCWHERECno=‘C2’);或者B.SELECTSnameFROMSWHERENOTEXISTS(SELECT*FROMSCWHERESC.Sno=S.SnoANDCno=‘C2’);檢索學(xué)習(xí)全部課程的學(xué)生姓名;在表S中找學(xué)生,要求這個(gè)學(xué)生學(xué)了全部課程。換言之,在S表中找學(xué)生,在C中不存在一門課程,這個(gè)學(xué)生沒有學(xué)。SELECTSnameFROMSWHERENOTEXISTS(SELECT*FROMC四、簡答題(每題5分,共20分,其中1,2任選一題,其他必做題)1.Oracle的索引有幾種,各有何用途唯一索引:索引列的所有值都只能出現(xiàn)一次,即必須唯一非唯一索引:索引列的值可以重復(fù)函數(shù)索引:保存了數(shù)據(jù)列基于function返回的值反向索引:轉(zhuǎn)了索引碼中的字節(jié),是索引條目分配更均勻,用于減少索引葉的競爭。位圖索引:適合與決策支持系統(tǒng);做UPDATE代價(jià)非常高;非常適合OR操作符的查詢;基數(shù)比較少的時(shí)候才能建位圖索引域索引:主要用于多媒體數(shù)據(jù);2、mysql存儲引擎常用的有3種,分別是什么,各自分別有什么特點(diǎn),應(yīng)用場景是哪些?1.1innoDB優(yōu)點(diǎn):支持事務(wù)管理,崩潰修復(fù)能力和并發(fā)控制,支持自動增長列,支持外鍵;缺點(diǎn):讀寫效率較差,占用數(shù)據(jù)空間大;應(yīng)用場景:適合于對事務(wù)完整性要求高,要求并發(fā)控制,需要頻繁更新,刪除等操作的數(shù)據(jù)庫;1.2MyISAM優(yōu)點(diǎn):占用空間小,處理速度快;缺點(diǎn):不支持事務(wù)的完整性和并發(fā)性;應(yīng)用場景:適用于表主要用于插入新紀(jì)錄和讀出記錄,對應(yīng)用完整性和并發(fā)性要求低;1.3MEMORY存儲引擎優(yōu)點(diǎn):處理速度快;缺點(diǎn):數(shù)據(jù)易丟失,生命周期短;應(yīng)用場景:適用于讀寫速度快,對數(shù)據(jù)安全性要求低,使用相對較小的數(shù)據(jù)庫表;2.請描述char,varchar,nvarchar的區(qū)別CHAR:存儲定長數(shù)據(jù)VARCHAR:存儲變長數(shù)據(jù)NVARCHAR:存儲變長數(shù)據(jù),Unicode編碼,支持多語言3.何為范式,有幾種,試列舉并簡要描述之設(shè)計(jì)關(guān)系數(shù)據(jù)庫時(shí),遵從不同的規(guī)范要求,設(shè)計(jì)出合理的關(guān)系型數(shù)據(jù)庫,這些不同的規(guī)范要求被稱為不同的范式,各種范式呈遞次規(guī)范,越高的范式數(shù)據(jù)庫冗余越小第一范式(1NF)實(shí)體中的某個(gè)屬性有多個(gè)值時(shí),必須拆分為不同的屬性第二范式(2NF)要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或記錄必須可以被唯一地區(qū)分第三范式(3NF)要求一個(gè)關(guān)系中不包含已在其它關(guān)系已包含的非主關(guān)鍵字信息4.試論Oracle與SQLServer,MYSQL三類之區(qū)別此題答案可能比較廣泛,故不列出標(biāo)準(zhǔn)五、綜合題(每題10分,共30分,第1題必做,其余任選兩題)--以下各題可能存在多種答案,故不列出標(biāo)準(zhǔn)1.請以任何語言實(shí)現(xiàn)1+2+3+…+1002.請以任何語言實(shí)現(xiàn)求1-100之間的質(zhì)數(shù)3.門外三個(gè)開關(guān)分別對應(yīng)室內(nèi)三盞燈,線路良好,在門外控制開關(guān)時(shí)候不能看到室內(nèi)燈的情況,現(xiàn)在只允許進(jìn)門一次,確定開關(guān)和燈的對應(yīng)關(guān)系?4.燒一根不均勻的繩,從頭燒到尾總共需要1個(gè)小時(shí)。現(xiàn)在有若干條材質(zhì)相同的繩子,問如何用燒繩的方法來計(jì)時(shí)一個(gè)小時(shí)十五分鐘呢?5.如果你有無窮多的水,一個(gè)3公升的提捅,一個(gè)5公升的提捅,兩只提捅形狀上下都不均勻,問你如何才能準(zhǔn)確稱出4公升的水?6.12個(gè)球一個(gè)天秤,現(xiàn)知道只有一個(gè)和其它的重量不同,問用天秤怎樣稱才能用三次就找到那個(gè)球。(注意此題并未說明那個(gè)球的重量是輕是重,所以需要仔細(xì)考慮)7.在9個(gè)點(diǎn)上畫10條直線,要求每條直線上至少有三個(gè)點(diǎn)?8.在一天的24小時(shí)之中,時(shí)鐘的時(shí)針、分針和秒針完全重合在一起的時(shí)候有幾次?都分別是什么時(shí)間?你怎樣算出來的?Java筆試題附答案一、單項(xiàng)選擇題1.Java是從(B)語言改進(jìn)重新設(shè)計(jì)。A.AdaB.C++C.PasacalD.BASIC答案:B2.下列語句哪一個(gè)正確(B)A.Java程序經(jīng)編譯后會產(chǎn)生machinecodeB.Java程序經(jīng)編譯后會產(chǎn)生bytecodeC.Java程序經(jīng)編譯后會產(chǎn)生DLLD.以上都不正確答案:B3.下列說法正確的有(C)A.class中的constructor不可省略B.constructor必須與class同名,但方法不能與class同名C.constructor在一個(gè)對象被new時(shí)執(zhí)行D.一個(gè)class只能定義一個(gè)constructor答案:C4.提供Java存取數(shù)據(jù)庫能力的包是(A)A.java.sqlB.java.awtC.java.langD.java.swing答案:A5.下列運(yùn)算符合法的是(A)A.&&B.<>C.ifD.:=答案:A6.執(zhí)行如下程序代碼a=0;c=0;do{--c;a=a-1;}while(a>0);后,C的值是(C)A.0B.1C.-1D.死循環(huán)答案:C7.下列哪一種敘述是正確的(D)A.a(chǎn)bstract修飾符可修飾字段、方法和類(不能修飾字段)B.抽象方法的body部分必須用一對大括號{}包住C.聲明抽象方法,大括號可有可無D.聲明抽象方法不可寫出大括號答案:D8.下列語句正確的是(A)A.形式參數(shù)可被視為localvariableB.形式參數(shù)可被字段修飾符修飾C.形式參數(shù)為方法被調(diào)用時(shí),真正被傳遞的參數(shù)D.形式參數(shù)不可以是對象答案:A9.下列哪種說法是正確的(D)A.實(shí)例方法可直接調(diào)用超類的實(shí)例方法B.實(shí)例方法可直接調(diào)用超類的類方法C.實(shí)例方法可直接調(diào)用其他類的實(shí)例方法D.實(shí)例方法可直接調(diào)用本類的類方法答案:D二、多項(xiàng)選擇題1.Java程序的種類有(BCD)A.類(Class)B.AppletC.ApplicationD.Servlet2.下列說法正確的有(CDB)A.環(huán)境變量可在編譯sourcecode時(shí)指定B.在編譯程序時(shí),所能指定的環(huán)境變量不包括classpathC.javac一次可同時(shí)編譯數(shù)個(gè)Java源文件D.javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory)答案:BCD3.下列標(biāo)識符不合法的有(ACD)A.newB.$UsdollarsC.1234D.car.taxi答案:ACD4.下列說法錯(cuò)誤的有(BCD)A.?dāng)?shù)組是一種對象B.?dāng)?shù)組屬于一種原生類C.intnumber=[]={31,23,33,43,35,63}D.?dāng)?shù)組的大小可以任意改變答案:BCD5.不能用來修飾interface的有(ACD)A.privateB.publicC.protectedD.static答案:ACD6.下列正確的有(ACD)A.callbyvalue不會改變實(shí)際參數(shù)的數(shù)值B.callbyreference能改變實(shí)際參數(shù)的參考地址C.callbyreference不能改變實(shí)際參數(shù)的參考地址D.callbyreference能改變實(shí)際參數(shù)的內(nèi)容答案:ACD7.下列說法錯(cuò)誤的有()A.在類方法中可用this來調(diào)用本類的類方法B.在類方法中調(diào)用本類的類方法時(shí)可直接調(diào)用C.在類方法中只能調(diào)用本類中的類方法D.在類方法中絕對不能調(diào)用實(shí)例方法答案:ACD8.下列說法錯(cuò)誤的有()A.Java面向?qū)ο笳Z言容許單獨(dú)的過程與函數(shù)存在B.Java面向?qū)ο笳Z言容許單獨(dú)的方法存在C.Java語言中的方法屬于類中的成員(member)D.Java語言中的方法必定隸屬于某一類(對象),調(diào)用方法與過程或函數(shù)相同答案:ABC9.下列說法錯(cuò)誤的有()A.能被java.exe成功運(yùn)行的javaclass文件必須有main()方法B.J2SDK就是JavaAPIC.Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件D.能被Appletviewer成功運(yùn)行的javaclass文件必須有main()方法答案:BCD三、判斷題1.Java程序中的起始類名稱必須與存放該類的文件名相同。()答案:正確2.Unicode是用16位來表示一個(gè)字的。()答案:正確3.原生類中的數(shù)據(jù)類型均可任意轉(zhuǎn)換。()答案:錯(cuò)誤選擇題(可多選)。1、Java之所以可以實(shí)現(xiàn)夸平臺,是因?yàn)镴ava程序在運(yùn)行時(shí)使用了:CA:JDK(JavaDevelopmentKit)B:JRE(JavaRuntimeEnvironment)C:JVM(JavaVirtualMachine)D:OS(OperatingSystem)下列不是Java語言中的關(guān)健字的是:CA:publicB:StaticC:mainD:void以下程序中最終輸出i的值是:Binti=999;i--;++i;System.out.println(i++);A:998B:999C:1000D:1001那個(gè)是合法的byte類型的數(shù)據(jù):BA:128B:127C:-129D:(int)-130以下b的值是:byteb=(byte)129;BA:-126B:-127C:-128D:-129在JDK1.7中,對于switch語句,switch后面的()中不可以是哪種類型:GHA:byteB:charC:shortD:intE:StringF:枚舉G:floatH:double7、對于以下代碼,輸出結(jié)果是:Bfor(inti=4;i>0;i--){intj=0;do{j++;if(j==2){break;}}while(j<i);System.out.print(j);A:4321B:1222C:2221D:2222以下聲明數(shù)組的方式,哪種是正確的:ABCA:int[3][4]array;B:int[3][]array;C:char[]array[];D:String[][]array;E:Objectarray[][];F:Objectarray[][3];下列關(guān)于package和import語句的描述,正確的是:BCA:同一個(gè)類中package可以出現(xiàn)1次或多次B:同一個(gè)類中import可以出現(xiàn)1此或多次C:對于同一個(gè)類中,import語句必須出現(xiàn)在該類的第一行(不含注釋)D:同一個(gè)類中,package必須出現(xiàn)在該類的第一行(不含注釋)對于以下關(guān)于可變長參數(shù)的定義,正確的是:DCA:publicvoidshow(String[]aa,String...a){}B:publicvoidshow(String...a,String[]aa){}C:publicvoidshow(String...a){}D:publicvoidshow(Stringa,doubleb,String...a){}關(guān)于接口的使用,正確的是:CpublicinterfaceUsb{}publicabstraceclassInterface{}A:publicinterfaceUsb1extendsUsb{}B:publicinterfaceUsb1implementsUsb{}C:publicinterfaceUsb1extendsInterface{}D:publicinterfaceUsb1implementsInterface{}以下哪個(gè)不是Collection的子接口?CA:ListB:SetC:SortedSetD:Map對Map的用法,正確的有:ACA:newjava.util.Map().put("key","value");B:newjava.util.SortedMap().put("key","value");C:newjava.util.HashMap().put(null,null);D:newjava.util.TreeMap().put(0,null);對于異常處理,一下描述哪個(gè)是正確的:BCDEA:捕獲異常是一種積極的異常處理方式,通過try、catch等關(guān)鍵字來實(shí)現(xiàn)B:try必須跟catch連用,而finally是可以沒有的C:catch之后的()用于接收異常對象,因此需要指定異常類型和變量名稱,比 如catch(Exceptione)D:在JDK1.7中,允許在catch中捕獲多個(gè)類型異常,如 catch(NullPointerExceptione1|ClassCastExceptione2)E:對于finally代碼塊而言,僅當(dāng)執(zhí)行try語句并沒有觸發(fā)異常時(shí)才執(zhí)行,如 果發(fā)生異常則進(jìn)入catch代碼塊,不再執(zhí)行finally代碼塊Hashtable和HashMap的區(qū)別是:CA:Hashtable是一個(gè)哈希表,該類繼承了AbstractMap,實(shí)現(xiàn)了Map接口B:HashMap是內(nèi)部基于哈希表實(shí)現(xiàn),該類繼承AbstractMap,實(shí)現(xiàn)Map接口C:Hashtable線程安全的,而HashMap是線程不安全的D:Properties類繼承了Hashtable類,而Hashtable類則繼承Dictionary類E:Hashtable直接使用對象的hashCode,而HashMap重新計(jì)算hash值。以下關(guān)于隨機(jī)數(shù)的描述,正確的是:CDA: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ù)簡答題:final,finally,finalize的區(qū)別。Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?
當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?請說出你所知道的線程同步的方法。四種會話跟蹤技術(shù)數(shù)據(jù)庫學(xué)生表student(stu_id,stu_name);課程表course(c_id,c_name);成績表score(stu_id,c_id,score);在學(xué)生表中添加一條數(shù)據(jù):查詢名字為Tom的學(xué)生所選的課程:SELECTstu_nameformstudentwherestu_name=Tom;查詢stu_id為3的學(xué)生所學(xué)課程的成績:測試題(筆試)Java面向?qū)ο笾貞c足下科技有限公司不定項(xiàng)選擇題(40題,每題2.5分,總分100分,測試時(shí)間2小時(shí))1)當(dāng)試圖編譯并運(yùn)行下面程序時(shí)會出現(xiàn)什么結(jié)果()(單選)classA{publicintgetNumber(inta){returna+1;}}classBextendsA{publicintgetNumber(inta,charc){returna+2;}publicstaticvoidmain(String[]args){Bb=newB();System.out.println(b.getNumber(0));}}a)編譯錯(cuò)誤b)運(yùn)行錯(cuò)誤c)1d)22)當(dāng)編譯并運(yùn)行下面程序時(shí)會出現(xiàn)什么結(jié)果()(單選)publicclassMyAr{
publicstaticvoidmain(Stringargv[]){
int[]i=newint[5];
System.out.println(i[5]);
}
}a)編譯錯(cuò)誤b)運(yùn)行錯(cuò)誤c)輸出0d)輸出“null”3)final、finally、finalize三個(gè)關(guān)鍵字的區(qū)別是()(多選)a)final是修飾符(關(guān)鍵字)可以修飾類、方法、變量b)finally在異常處理的時(shí)候使用,提供finally塊來執(zhí)行任何清除操作c)finalize是方法名,在垃圾收入集器將對象從內(nèi)存中清除出去之前做必要的清理工作d)finally和finalize一樣都是用異常處理的方法4)當(dāng)編譯并運(yùn)行下面程序時(shí)會發(fā)生什么結(jié)果()(單選)publicclassBgroundextendsThread{
publicstaticvoidmain(Stringargv[]){
Bgroundb=newBground();
b.run();
}
publicvoidstart(){
for(inti=0;i<10;i++){
System.out.println("Valueofi="+i);
}
}}a)編譯錯(cuò)誤,指明run方法沒有定義b)運(yùn)行錯(cuò)誤,指明run方法沒有定義c)編譯通過并輸出0到9d)編譯通過但無輸出5)在Java中,如果父類中的某些方法不包含任何邏輯,并且需要由子類重寫,應(yīng)該使用()關(guān)鍵字來聲明父類的這些方法。(單選)a)Finalb)Staticc)Abstractd)Void6)當(dāng)編譯并運(yùn)行下面程序時(shí)會發(fā)生什么結(jié)果:(單選)publicclassHope{
publicstaticvoidmain(Stringargv[]){
Hopeh=newHope();
}
protectedHope(){
for(inti=0;i<10;i++){
System.out.println(i);
}
}
}a)編譯錯(cuò)誤,構(gòu)造方法不能被聲明為protectedb)運(yùn)行錯(cuò)誤,構(gòu)造方法不能被聲明為protectedc)編譯并運(yùn)行輸出0到10d)編譯并運(yùn)行輸出0到97)下列說法正確的是?()(多選)a)數(shù)組有l(wèi)ength()方法b)String有l(wèi)ength()方法c)數(shù)組有l(wèi)ength屬性d)String有l(wèi)ength屬性8)當(dāng)編譯并運(yùn)行下面程序時(shí)會發(fā)生什么結(jié)果?()(單選)publicclassTest{publicstaticvoidstringReplace(Stringtext){text=text+”c”;}publicstaticvoidbufferReplace(StringBuffertext){text=text.append("c");}publicstaticvoidmain(Stringargs[]){StringtextString=newString("java");StringBuffertextBuffer=newStringBuffer("java");stringReplace(textString);bufferReplace(textBuffer);System.out.println(textString+textBuffer);}}a)編譯并運(yùn)行輸出javacjavacb)編譯并運(yùn)行輸出javajavac)編譯并運(yùn)行輸出javajavacd)編譯并運(yùn)行輸出javacjava9)以下哪些表達(dá)式返回為真()(多選)Stringa=”Myfield1”;Stringb=”Myfield1”;Stringc=newString(”Myfield1”);Stringd=newString(”Myfield1”);a)a==bb)a==cc)c==dd)a.equals(b)e)a.equals(c)f)c.equals(d)10)當(dāng)編譯和運(yùn)行下面程序時(shí),哪項(xiàng)描述可以最準(zhǔn)確的表達(dá)發(fā)生了什么事情()(單選)publicclassMyAr{
publicstaticvoidmain(Stringargv[]){
MyArm=newMyAr();
m.amethod();
}
publicvoidamethod(){
inti;
System.out.println(i);
}}a)編譯并輸出0b)編譯錯(cuò)誤c)編譯并輸出nulld)運(yùn)行錯(cuò)誤11)給定如下java代碼程序片斷: classA{ publicA(){ System.out.println(“A”); } } classBextendsA{ publicB(){ System.out.println(“B”); } publicstaticvoidmain(String[]args){ Bb=newB(); } }上述程序?qū)ⅲǎ▎芜x)a)不能通過編譯b)通過編譯,輸出為ABc)通過編譯,輸出為Bd)通過編譯,輸出為A12)關(guān)于線程,以下說法正確的是:()(多選)a)sleep方法執(zhí)行時(shí)會釋放對象鎖。b)wait方法執(zhí)行時(shí)會釋放對象鎖。c)sleep方法必須寫在同步方法或同步塊中d)wait方法必須寫在同步方法或同步塊中13)給定JAVA代碼如下,編譯運(yùn)行后,輸出結(jié)果是()(單選)publicclasstest{staticinti;publicinttest(){i++;returni;}publicstaticvoidmain(Stringargs[]){Testtest=newTest();test.test();System.out.println(test.test());}}a)0b)1c)2d)314)給定JAVA代碼如下,關(guān)于super的用法,以下描述正確的是()(單選)classCextendsB{publicC(){super();}}a)用來調(diào)用類B中定義的super()方法b)用來調(diào)用類C中定義的super()方法c)用來調(diào)用類B中的無參構(gòu)造方法d)用來調(diào)用類B中第一個(gè)出現(xiàn)的構(gòu)造方法15)哪些是Thread類中本身的方法(不包括繼承)()(多選)a)start()b)sleep(longmi)c)wait()d)notify()16)下面哪些為真()(多選)a)接口里可定義變量,并且變量的值不能修改b)任何情況下,類都不能被private修飾c)類可以被protected修飾d)接口不能實(shí)例化17)下面哪些是正確的描述了關(guān)鍵字synhronized()(單選)a)允許兩個(gè)進(jìn)程并行運(yùn)行但其之間相互通信b)保證任何時(shí)候只有一個(gè)線程訪問一個(gè)方法或?qū)ο骳)保證兩個(gè)或多個(gè)進(jìn)程同時(shí)啟動和結(jié)束d)保證兩個(gè)或多個(gè)線程同時(shí)啟動和結(jié)束18)下列哪一種敘述是正確的()(單選)a)abstract修飾符可修飾屬性、方法和類b)抽象方法的body部分必須用一對大括號{}c)聲明抽象方法,大括號可有可無d)聲明抽象方法不可寫出大括號19)下面關(guān)于網(wǎng)絡(luò)通信正確的描述是()(多選)a)TCP/IP協(xié)議是一種不可靠的網(wǎng)絡(luò)通信協(xié)議。b)UDP協(xié)議是一種可靠的網(wǎng)絡(luò)通信協(xié)議。c)TCP/IP協(xié)議是一種可靠的網(wǎng)絡(luò)通信協(xié)議。d)UDP協(xié)議是一種不可靠的網(wǎng)絡(luò)通信協(xié)議。20)在Java中,下面關(guān)于抽象類的描述正確的是()(多選)a)抽象類可以被實(shí)例化b)如果一個(gè)類中有一個(gè)方法被聲明為抽象的,那么這個(gè)類必須是抽象類c)抽象類的方法都必須是抽象的d)聲明抽象類必須帶有關(guān)鍵字abstract21)給定java代碼如下,編譯運(yùn)行結(jié)果是()(單選)publicclassTest{publicintcount(){return1%9;}publicstaticvoidmain(String[]args){System.out.println(count());}}a)編譯錯(cuò)誤b)運(yùn)行錯(cuò)誤c)正常運(yùn)行,輸出1d)正常運(yùn)行,輸出022)將對象序列化,要實(shí)現(xiàn)哪個(gè)接口()(單選)a)Cloneableb)Runnablec)Serializabled)Comparator23)以下代碼輸出結(jié)果為()(單選)publicclassTest{publicstaticStringoutput="";publicstaticvoidfoo(inti){try{if(i==1){thrownewException();}output+="1";}catch(Exceptione){output+="2"; return;}finally{output+="3";}output+="4";}publicstaticvoidmain(Stringargs[]){foo(0);foo(1);System.out.println(output);}}a)1342b)123c)134234d)1342324)在JAVA中,()接口位于集合框架的頂層()(單選)a)Collectionb)Collectionsc)Listd)Set25)在Java中,下列()類不能派生出子類()(單選)a)publicclassMyClass{}b)classMyClass{}c)abstractclassMyClass{}d)finalclassMyClass{}26)啟動一個(gè)線程,應(yīng)調(diào)用什么方法()。(單選)a)start()b)run()c)begin()d)notify)(27)在java中,已定義兩個(gè)接口B和C,要定義一個(gè)實(shí)現(xiàn)這兩個(gè)接口的類,以下語句正確的是()(單選)a)interfaceAextendsB,Cb)interfaceAimplementsB,Cc)classAimplementsB,Cd)classAimplementsB,implementsC28)在Java中,以下定義數(shù)組的語句正確的是()(單選)a)intt[10]=newint[];b)chara[]="hefg";c)intt[]=newint[10];d)doubled=newdouble[10];29)給定一個(gè)java程序的main方法的代碼片段如下:假如d目錄下不存在abc.txt文件,現(xiàn)運(yùn)行該程序,下面的結(jié)果正確的是():(單選)try{PrintWriterout=newPrintWriter(newFileOutputStream("d:/abc.txt"));Stri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微信平臺推廣合同協(xié)議
- 快消品代運(yùn)營合同協(xié)議
- 2025鋁材購銷合同的格式范本
- 2025標(biāo)準(zhǔn)貨物運(yùn)輸合同模板
- 快遞門市轉(zhuǎn)讓合同協(xié)議
- 模具沖壓件合同協(xié)議
- 2025共有產(chǎn)權(quán)房的買賣合同
- 商業(yè)合作保密協(xié)議合同
- 品牌代理招商合同協(xié)議
- 2025國內(nèi)獨(dú)家授權(quán)合同
- 四川宜賓環(huán)球集團(tuán)有限公司招聘筆試題庫2025
- 外研版(三起)(2024)三年級下冊英語Unit 1 單元測試卷(含答案)
- 道德經(jīng)考試題及答案
- 全球包裝材料標(biāo)準(zhǔn)BRCGS第7版內(nèi)部審核全套記錄
- 【MOOC】大學(xué)英語聽說譯-河南理工大學(xué) 中國大學(xué)慕課MOOC答案
- 中國革命戰(zhàn)爭的戰(zhàn)略問題(全文)
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- 盤扣式腳手架高支模專項(xiàng)施工方案(共26頁)
- 一例變壓器沖擊合閘時(shí)箱沿放電分析與處理
- 重型貨車氣壓制動系統(tǒng)結(jié)構(gòu)設(shè)計(jì)說明書
- 海闊天空(Beyond)原版五線譜鋼琴譜正譜樂譜.docx
評論
0/150
提交評論