va高級工程師面試題及答案_第1頁
va高級工程師面試題及答案_第2頁
va高級工程師面試題及答案_第3頁
va高級工程師面試題及答案_第4頁
va高級工程師面試題及答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、一: 選擇題1. 關(guān)于以下程序代碼的說明正確的是(D)1 class HasStatic2private static int x=100;3 public static void main(String args )4HasStatic hs1=newHasStatic( );5hs1.x+;6HasStatic hs2=newHasStatic( );7hs2.x+;8hs1=new HasStatic( );9hs1.x+;10HasStatic.x- -;11System.out.println(“ x=” +x);1213 A、 5 行不能通過編譯,因為引用了私有靜態(tài)變量B、 10

2、行不能通過編譯,因為 x 是私有靜態(tài)變量C、 程序通過編譯,輸出結(jié)果為:x=103D、 程序通過編譯,輸出結(jié)果為:x=1022.下列關(guān)于 for 循環(huán)和 while 循環(huán)的說法中哪個是正確的?(B )A while 循環(huán)能實現(xiàn)的操作, for 循環(huán)也都能實現(xiàn)B while 循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果C兩種循環(huán)任何時候都可替換D兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空3.以下選項中循環(huán)結(jié)構(gòu)合法的是(C)A、 while (int i7) i+;“i is“+i);B、 int j=3;while(j)“ j is“+j);C、 int j=0;for(in

3、t k=0; j + k !=10; j+,k+)“ j is“+ j +“k is”+ k);D、 int j=0;do“j is“+j+);if (j = = 3) continue loop;while (j10);4.給出下面代碼段 , 哪行將引起一個編譯時錯誤?(D)public class Test int n = 0;int m = 0;public Test(int a) m=a; public static void main(String arg) Test t1,t2;int j,k;j=3; k=5;t1=new Test();t2=new Test(k);A. 行1B

4、.行4C.行6D.行9下面的方法,當(dāng)輸入為 2的時候返回值是多少 ?( D )public int getValue(int i) int result = 0;switch (i) case 1:result = result + i;case 2:result = result + i * 2;case 3:result = result + i * 3;return result;A0B2C4D10二:簡述題1、描述一下 JVM 加載 class文件的原理機制 ?JVM 中類的裝載是由 C lassLoader和它的子類來實現(xiàn)的 ,Java ClassLoader是一個重要的Java 運

5、行時系統(tǒng)組件。它負(fù)責(zé)在運行時查找和裝入類文件的類。2、heap 和stack 有什么區(qū)別。java 的內(nèi)存分為兩類, 一類是棧內(nèi)存, 一類是堆內(nèi)存。 棧內(nèi)存是指程序進入一個方法時,會為這個方法單獨分配一塊私屬存儲空間, 用于存儲這個方法內(nèi)部的局部變量,當(dāng)這個方法結(jié)束時,分配給這個方法的棧會釋放,這個棧中的變量也將隨之釋放。堆是與棧作用不同的內(nèi)存, 一般用于存放不放在當(dāng)前方法棧中的那些數(shù)據(jù),例如,使用 new 創(chuàng)建的對象都放在堆里, 所以,它不會隨方法的結(jié)束而消失。 方法中的局部變量使用 final修飾后,放在堆中,而不是棧中。3、GC 是什么 ? 為什么要有GC?GC 是垃圾收集的意思 ( G

6、abage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java 提供的 GC 功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。4、列舉出一些常用的類,包,接口,請各舉5 個要讓人家感覺你對java ee開發(fā)很熟, 所以,不能僅僅只列 core java中的那些東西, 要多列你在做 ssh 項目中涉及的那些東西。就寫你最近寫的那些程序中涉及的那些類。常用的類:BufferedReader BufferedWriterFileReader FileWirter

7、StringInteger, System, Class, List,HashMap常用的包:java.langjava.io java.util常用的接口: Remote List MapDocumentNodeList,Servlet,HttpServletRequest,HttpServletResponse,Transaction(Hibernate)、Session(Hibernate),HttpSessionjava 中有幾種類型的流? JDK 為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?字節(jié)流,字符流。字節(jié)流繼承于InputStream OutputStrea

8、m,字符流繼承于InputStreamReaderOutputStreamWriter。在 java.io包中還有許多其他的流,主要是為了提高性能和使用方便。6、多線程有幾種實現(xiàn)方法?同步有幾種實現(xiàn)方法?多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn) R unnable接口同步的實現(xiàn)方面有兩種,分別是 synchronized,wait與notify wait(): 使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock 。sleep(): 使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException(中斷異常)異常。notify(): 喚醒

9、一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒一個等待狀態(tài)的線程,而是由JVM 確定喚醒哪個線程,而且不是按優(yōu)先級。Allnotity():某喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。7、說一說Servlet的生命周期 ?答:servlet 有良好的生存期的定義, 包括加載和實例化、 初始化、處理請求以及服務(wù)結(jié)束。 這個生存期由接口的 init,service 和 destroy 方法表達。Servlet 被服務(wù)器實例化后, 容器運行其 init 方法,請求到達時運行其 service 方法,service方法自動派遣運行與請求對應(yīng)

10、的doXXX 方法( doGet , doPost )等,當(dāng)服務(wù)器決定將實例銷毀的時候調(diào)用其 destroy 方法。web 容器加載 servlet ,生命周期開始。 通過調(diào)用 servlet的 init() 方法進行 servlet的初始化。通過調(diào)用 service() 方法實現(xiàn),根據(jù)請求的不同調(diào)用不同的do*() 方法。結(jié)束服務(wù),web 容 器調(diào)用servlet 的 destroy() 方法。8、說出數(shù)據(jù)連接池的工作機制是什么?J2EE服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時, 池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。 如果當(dāng)前沒有

11、空 閑連接,池驅(qū)動程序就新建一定數(shù)量的連接, 新建連接的數(shù)量有配置參數(shù)決定。 當(dāng)使用的池 連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個連接。實現(xiàn)方式,返回的 Connection 是真正關(guān)連接,而是把它代理的是原始 Connection的代理,代理 ConnectionC onnection對象還回到連接池中。的close方法 不9、這段代碼有什么不足之處?try Connection conn = .;Statement stmt = .;ResultSet rs =stmt.executeQuery(select * from table1);while(rs.ne

12、xt() catch(Exception ex) 答:沒有 finally 語句來關(guān)閉各個對象,另外,使用 finally 之后, 要把變量的定義放在 try 語 句塊的外面,以便在 try 語句塊之外的 finally 塊中仍可以訪問這些變量。10 、一個用戶具有多個角色, 請查詢出該表中具有該用戶的所有角色的其他用戶。select count(*) as num,tb.idfromtb,(select role from tbwhere id=xxx) as t1wheretb.role = t1.roleandtb.id != t1.idgroup bytb.id havingnum =

13、 select count(role)from tb where id=xxx;11 、一個用戶表中有一個積分字段, 假如數(shù)據(jù)庫中有100 多萬個用戶,若要在每年第一天凌晨將積分清零,你將考慮什么,你將想什么辦法解決?alter table drop column score;alter table add colunm score int;可能會很快, 但是需要試驗, 試驗不能拿真實的環(huán)境來操刀,并且要注意, 這樣的操作時無法回滾的, 在我的印象中, 只有 inert update delete 等D ML 語句才能回滾, 對于 create table,drop table ,alter

14、table 等 DDL 語句是不能回滾。解決方案一, update user set score=0;解決方案二,假設(shè)上面的代碼要執(zhí)行好長時間,超出我們的容忍范圍,那我就 alter table user drop columnscore;alter table user add column score int。下面代碼實現(xiàn)每年的那個凌晨時刻進行清零。Runnable runnable =new Runnable()public voidrun()clearDb();schedule(this,newDate(new Date().getYear()+1,0,0);schedule(runn

15、able,new Date(newDate().getYear()+1,0,1);12 、你對 Spring的理解 , 什么是spring的 IOC AOP 。1.SSpring 提供了對 IOC 良好支持, IOC 是一種編程思想,是一種架構(gòu)藝術(shù),利用這種思想prD可ie以譬如, Class Programmernp很ge好地Computer computer =null;n實c實public void code()現(xiàn)y現(xiàn)了模工塊I廠/Computercomputer = new IBMComputer();之n模/Computercomputer = beanfacotry.getComp

16、uter();間j式computer.write();e的的c解工t耦廠i。public voidsetComputer(Computer computer)puter= computer; 另外兩種方式都由依賴, 第一個直接依賴于目標(biāo)類, 第二個把依賴轉(zhuǎn)移到工廠上, 第三個徹 底與目標(biāo)和工廠解耦了。在 spring 的配置文件中配置片段如下: Spring 提供了對 AOP 技術(shù)的良好封裝, AOP 稱為面向切面編程,就是系統(tǒng)中有很多各 不相干的類的方法,在這些眾多方法中要加入某種系統(tǒng)功能的代碼,例如,加入日志,加入權(quán)限判斷, 加入異常處理, 這種應(yīng)用稱為 AOP 。實現(xiàn) A OP 功能采用的是代理技術(shù),客戶端程序不再調(diào)用目標(biāo), 而調(diào)用代理類

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論