java程序員面試試題
Java程序員筆試題
一、單項選擇題(共10題,每題2分,共20分)
1. 下列說法哪一個是正確的。( B )
A.Java程序經(jīng)編譯后會產(chǎn)生machine code
B.Java程序經(jīng)編譯后會產(chǎn)生byte code
C.Java程序經(jīng)編譯后會產(chǎn)生DLL
D.以上都不正確
2. 提供Java存取數(shù)據(jù)庫能力的包是。( A )
3. 執(zhí)行如下程序代碼后,C的值是。( C )
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
A.0 B.1 C.-1 D.死循環(huán)
4. 下面的語句中正確的表達式為。( C )
b = 128;
n n = null;
d = 0.9239d;
f = 0.9239;
5. 將一個十六進制值賦給一個long型變量的正確寫法為。( D )
number = 345L;
number = 0345;
number = 0345L;
number = 0x345L;
6. 以下程序代碼的輸出是。( B )
public class test (
public static void main (String args[]) (
In (6 ^ 3);
)
)
A.3 B.5 C.6 D.11
7. 以下程序代碼的輸出是。(E )
public class test (
private static int j = 0;
private static boolean methodB(int k) (
j += k;
return true;
)
public static void methodA(int i) {
boolean b:
b = i < 10 | methodB (4);
b = i < 10 || methodB (8);
)
public static void main (String args[] } (
methodA (0);
In(j);
)
)
A.0 B.4 C.8 D.12 E.不能編譯通過
8. 以下程序代碼的輸出是。( A)
public class test {
public static void add3 (Integer i) }
int val = Value ( );
val += 3;
i = new Integer (val);
}
public static void main (String args [ ] ) {
Integer i = new Integer (0);
add3 (i);
In (Value ( ) );
}
)
A.編譯失敗 B.編譯成功但在第三行會出現(xiàn)異常 C.0 D.3
9. 以下程序代碼執(zhí)行后,哪個說法正確?( B )
int index = 1;
boolean[] test = new Boolean[3];
boolean foo= test [index];
A.有異常拋出。
B.無法編譯。
的值是0。
的值是null。
的值是true。
的值是false。
10. 以下哪個類是swt包中的。( D )
A.MessageBox B.MessageDialog C.JDialog D.DisplayMode
二、多項選擇題(共5題,每題4分,共20分)
1. 在下面的選項中合法的標識符有。( ADEF )
A._ok
B.*point
D.$byte
F.ILikeJLCSS
2. 下面的選項中哪些不是java的關(guān)鍵字。( AB D )
A.TRUE
3. 下面的敘述中正確的有。( AC )
A. 環(huán)境變量可在編譯source code時指定。
B. 在編譯程序時,所能指定的環(huán)境變量不包括class path。
C. javac一次可同時編譯數(shù)個Java源文件。
D. 能指定編譯結(jié)果要置于哪個目錄(directory)。
4. 下面的敘述中正確的有。( C )
()方法判定引用值是否指向同一對象。
B.= = 操作符判定兩個分立的對象的內(nèi)容和類型是否一致。
()方法只有在兩個對象的內(nèi)容一致時返回true。
D.類File重寫方法equals()在兩個分立的對象的內(nèi)容和類型一致時返回true。
5. 下面有關(guān)變量及其作用域的陳述哪些是對的。( A C )
A. 在方法里面定義的局部變量在方法退出的時候被撤銷。
B. 局部變量也叫自動變量。
C. 在方法外面定義的變量(譯注:即實例變量)在對象被構(gòu)造時創(chuàng)建。
D. 在方法中定義的方法的參變量只要該對象被需要就一直存在。
三、簡答題(共7題,共40分)
1. 請寫出一個輸出“Hello World!” 的程序。(3分)
答:public Class Hello World
{
Public static void main(String[]args)
{
ln(“HELLO WOTLD”);
}
}
2. char型變量中能不能存貯一個中文漢字? 為什么? (3分)
答:能存儲一個漢字;因為它能存儲四個字節(jié)而每個漢字只占兩個字節(jié)。
3. 常見的兩種xml解析技術(shù)是什么? 區(qū)別是什么? (4分)
答:常見的兩種有:SAX和DOM。
區(qū)別:SAX 是一種事件驅(qū)動的xml解析方式。每次訪問一個xml文件中的某個節(jié)點的時候,sax就會搜索一遍xml文件,在找到相應的節(jié)點后就會觸發(fā)一個事件來處理請求。只讀
DOM是一種基于樹狀的查找方式。DOM會將xml解析成一棵樹,存在內(nèi)存中。開發(fā)者可以通過查找樹的節(jié)點來取得文件的內(nèi)容或者修改內(nèi)容。可讀寫
4. MVC是什么,如何實現(xiàn)? (5分)
答:MVC是一個是一個設(shè)計模式,它強制性的使應用程序的輸入,處理和輸出分開。使用MVC應用程序被分為三個核心部件:M----------MODO模型,V ----------VIEW 試圖,C --------- Contral控制
實現(xiàn):首先有頁面(jsp)發(fā)送請求給控制器(servlet),然后由控制器接收用戶的請求,并決定應該調(diào)用哪個模型(javabean)來進行處理,然后模型用業(yè)務邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應的視圖格式化模型返回的數(shù)據(jù),并通過表示層顯示給用戶。
5. .J2EE是什么?(6分)
答:J2EE 是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應用模型 (enterpriese application model).在這樣的一個應用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。
6. jsp有哪些內(nèi)置對象?作用分別是什么? (9分)
答:t 用戶端請求,此請求會包含來自GET/POST請求的參數(shù);se 網(wǎng)頁傳回用戶端的回應;Context 網(wǎng)頁的屬性是在這里管理;n 與請求有關(guān)的會話期;ation servlet 正在執(zhí)行的內(nèi)容; 用來傳送回應的輸出; servlet的構(gòu)架部件; JSP網(wǎng)頁本身;ion 針對錯誤網(wǎng)頁,未捕捉的例外
7. 作用域public,private,protected,以及不寫時的區(qū)別 ?(10分)
答:作用域 當前類 同一package 子孫類 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不寫時默認為friendly
四、編碼及論述題(共2題,每題10分,共20分)
1. 什么是Singleton,它的作用是什么,它有幾種形式?請用代碼寫出一個Singleton類。
答:Java Singleton 模式用來保證在運行的應用程序中,一個Class只是實例化一次,也就是只有一個相應的對象存在。
它有三種形式
public class Singleton
{
private static Singleton instance = null;
public static synchronized Singleton getInstance()
{
if (instance==null)
instance=new Singleton();
return instance;
}
}
2. 在Struts + Spring + Hibernate的組合框架模式中,三者各自的特點都是什么?
答:Strtus WEB層 Spring是業(yè)務層 Hiebenate是持久化層
- 相關(guān)熱點:
- bec劍橋商務英語