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