- 相關(guān)推薦
java中級(jí)工程師面試題
目前,我國(guó)對(duì)軟件人才的需求已達(dá)20萬(wàn),并且以每年20%左右的速度增長(zhǎng)。在未來(lái)5年內(nèi),合格軟件人才的需求將遠(yuǎn)大于供給。下面是關(guān)于java中級(jí)工程師面試題,希望大家認(rèn)真閱讀!
一、 單選題(共12題,每題2分,共24分)
1.下面關(guān)于Java的表述有錯(cuò)誤的是________
A.Java中沒(méi)有sizeof操作符,所有數(shù)據(jù)類型的長(zhǎng)度都是確定的,與平臺(tái)無(wú)關(guān)。
B.在Java中,局部變量不會(huì)被自動(dòng)初始化,需要顯式的賦初值。
C.Java中的instanceof運(yùn)算符,可以判斷一個(gè)對(duì)象是否屬于某個(gè)類的實(shí)例。
D.一個(gè)Java文件里可以有多個(gè)public類,但Java文件名必須和包含main方法的那個(gè)public類名精確一致。
2.下面關(guān)于Java中static關(guān)鍵字的表述錯(cuò)誤的是________
A.被static修飾的類成員變量在編譯時(shí)由內(nèi)存分配一塊空間,直到程序停止運(yùn)行才會(huì)被釋放。
B.被static修飾的類方法只能訪問(wèn)其自身類未被static修飾的實(shí)例方法,而不能訪問(wèn)其他類的。
C.被static修飾的類方法不能使用this關(guān)鍵字。
D.在沒(méi)有創(chuàng)建該類的對(duì)象時(shí),該類中用static修飾的類方法就可以被調(diào)用。
3.下面關(guān)于Java中abstract關(guān)鍵字的表述有錯(cuò)誤的是________
A.用abstract修飾不在類內(nèi)實(shí)現(xiàn)的方法,稱為抽象方法;抽象方法必須在子類派生時(shí)被重載。
B.用abstract修飾的類為抽象類;抽象類可以同時(shí)被static或final關(guān)鍵字修飾。
C.抽象類中不一定包含抽象方法,但包含抽象方法的類一定要聲明為抽象類。
D.如果一個(gè)類被定義為抽象類,則該類不能進(jìn)行實(shí)例化。
4.下面關(guān)于Java中垃圾回收(gc)的表述有錯(cuò)誤的是_______
A.在String str1 = ̶Hello”;String str2 = str1;str1 = null;中,對(duì)象”Hello”不會(huì)被垃圾回收。
B.調(diào)用Runtime.getRuntime().gc()會(huì)立即啟動(dòng)垃圾回收線程對(duì)當(dāng)前程序進(jìn)行垃圾回收。
C.調(diào)用Systmer.gc()只是提示垃圾回收器進(jìn)行垃圾回收操作,但并不保證gc線程立即啟動(dòng)。
D.當(dāng)垃圾回收器將要釋放無(wú)用對(duì)象的內(nèi)存時(shí),先調(diào)用該對(duì)象的finalize()方法。
5.下面關(guān)于Java中接口(interface)的表述有錯(cuò)誤的是________
A.在接口中定義的常量可以被多個(gè)類共享,具有public,final,static屬性,可被任意類訪問(wèn)。
B.接口中只對(duì)方法進(jìn)行聲明而沒(méi)有實(shí)現(xiàn)體,而且用分號(hào)結(jié)尾,具有public和abstract屬性
C.子接口中定義了與父接口同名的常量或者相同的方法,則父接口的常量被隱藏,方法被重寫(xiě)
D.實(shí)現(xiàn)接口的類必須實(shí)現(xiàn)接口和其父接口中的所有方法。
6.下面哪個(gè)方法不屬于String類提供的______
A.IndexOf()
B.getChar2()
C.replace()
D.append()
7.在Java多線程中,調(diào)用下面哪種方法不會(huì)使線程進(jìn)入阻塞狀態(tài)?________
A.sleep()
B.suspend()
C.wait()
D.yield()
8.下面程序被編譯運(yùn)行時(shí),下面哪些描述是正確的_________。
class B{
public int f(int i){
return i+i;
}
public int f(int i, int j){
return i+j;
}
public int f(char c){
return c;
}
}
public class Test extends B{
public int f(int i, int j){
return super.f(i,j);
}
public int f(int j){
return -j;
}
public static void main(String[] args){
B x = new Test();
System.out.println(x.f(5,1)+” ̶+x.f(4)+” ̶+x.f(‘A’));
}
}
A.編譯不通過(guò),B x = new Test() 出錯(cuò),類型不匹配
B.編譯不通過(guò),原因是B.f(char c),一個(gè)char類型不能直接當(dāng)做int類型返回
C.編譯通過(guò),運(yùn)行輸出結(jié)果是15 -4 65
D.編譯通過(guò),運(yùn)行輸出結(jié)果是15 8 65
9.下面哪個(gè)類或接口定義了wait()、notify()、notifyAll()方法_______
A.java.lang.Thread
B.java.lang.Runnable
C.java.lang.Object
D.java.lang.TreadGroup
1.在Java API文檔中,下面的哪部分未被包括在內(nèi)_______
A.類的用途的描述
B.類層次
C.父類方法的列表
D.成員變量的列表
11.下面列出的修飾符中,哪一個(gè)用來(lái)修飾方法(method)要求此方法必須顯式地獲得某個(gè)對(duì)象才能執(zhí)行________
A.final
B.synchronized
C.static
D.public
12.下面的各種異常中,哪種異常在一個(gè)方法中沒(méi)有聲明拋出此異常時(shí)也可以在其方法體中直接拋出________
A.java.lang.ClassNotFoundException
B.java.lang.Exception
C.java.lang.NullPointerException
D.java.ioException
二、 多選題(共5題,每題3分,共15分)
1.下面對(duì)操作系統(tǒng)中線程和進(jìn)程的表述有錯(cuò)誤的是_______
A.進(jìn)程是程序的運(yùn)行實(shí)例,它包含內(nèi)存和資源,而線程是由進(jìn)程進(jìn)一步派生出來(lái)的一組代碼的執(zhí)行過(guò)程
B.每個(gè)進(jìn)程都有一個(gè)主線程,還可以建立另外的線程。進(jìn)程中的線程是并行執(zhí)行的,每個(gè)線程占用CPU的時(shí)間由此進(jìn)程來(lái)調(diào)度。
C.進(jìn)程中的所有線程共享進(jìn)程的虛擬地址空間,這意味著所有線程都可以訪問(wèn)進(jìn)程的全局變量和資源。
D.進(jìn)程中的每個(gè)線程的聲明周期都在該進(jìn)程中,每個(gè)線程都有自己的私有虛擬地址空間。
2.下面關(guān)于HashMap與Hashtable區(qū)別的表述正確的是______
A.HashMap與Hashtable采用的hash/rehas算法基本一致。
B.HashMap允許將null作為一個(gè)entry得key或value,而Hashtable不允許。
C.HashMap與Hashtable都是Map interface的實(shí)現(xiàn)。
D.Hashtable的方法是syncronized的,而HashMap不是,因此HashMap非線程安全
3.對(duì)于一個(gè)abstract的method,不能用下面哪個(gè)Java關(guān)鍵字同時(shí)修飾_______
A.static
B.native
C.synchronized
D.final
4.下面關(guān)于Java中Vector、ArrayList、LinkedList的表述正確的是_______
A.這三個(gè)類都實(shí)現(xiàn)了java.util.List接口,但只有Vector是線程安全的
B.ArrayList與Vector在從指定位置用index檢索一個(gè)元素的時(shí)候,時(shí)間開(kāi)銷是O(1)
C.LinkedList在插入、刪除任意位置元素的時(shí)間開(kāi)銷都是O(1),但它在索引一個(gè)元素的時(shí)候比較慢,為O(i),其中i是索引的位置。
D.當(dāng)向這幾種類型中增加元素時(shí),如果數(shù)目超出了其目前的長(zhǎng)度,Vector缺省情況下自動(dòng)增長(zhǎng)原來(lái)一倍的長(zhǎng)度,而ArrayList與LinkedList則增長(zhǎng)5%的長(zhǎng)度。
5.在J2EE中,JSP可以使用下列哪些技術(shù)對(duì)客戶端會(huì)話狀態(tài)進(jìn)行跟蹤__________
A.建立匿名的表格字段
B.使用URL重寫(xiě)
C.使用持久化Cookies
D.使用session會(huì)話機(jī)制
三、 填空題(共5題,每題3分,共15分)
1.下面程序的運(yùn)行結(jié)果為_(kāi)________
public class Test{
public static void main(String[] args){
B obj = new B();
}
}
class A{
static {System.out.print(̶X”);}
public A(){System.out.print(̶A”);}
}
class B extends A{
static {System.out.print(̶Y”);}
public B(){System.out.print(̶B”);}
}
2.下面程序的運(yùn)行結(jié)果為_(kāi)________
public class Test{
public static void main(String[] args)
{
Sub obj = new Sub();
obj.print();
}
}
class Base{
public String s = ̶X”;
public void print()
{
System.out.print(s);
printAgain();
}
public void printAgain()
{
System.out.print(̶A”);
}
}
class Sub extends Base{
public String s = ̶Y”;
public void printAgain()
{
System.out.print(̶B”);
}
}
3.下面程序的運(yùn)行結(jié)果為_(kāi)_______
public class Test{
static int func(int i, int j){
try{
return i/j;
}catch(ArithmeticException e){
System.out.print(̶A”);
return ;
}catch(Exception e){
System.out.print(̶B”);
return ;
}finally{
System.out.print(̶C”);
}
}
public static void main(String[] args){
System.out.println(func(1,));
}
}
4.下面程序的運(yùn)行結(jié)果為_(kāi)______
class A{
void func1(){
System.out.print(̶A”);
}
}
class B extends A{
void func2(){
System.out.print(̶B”);
}
}
class C extends B{
void func2(){
System.out.print(̶C”);
}
}
public class Test{
public static void main(String[] args){
B obj = new C();
obj.func1();
obj.func2();
}
}
5.請(qǐng)?zhí)顚?xiě)下面程序的輸出結(jié)果
class A{int a = 1;}
public class Test{
public static void main(String[] args){
A obj1 = new A();
A obj2 = new A();
A obj3 = obj1;
String s1 = new String(̶abc”);
String s2 = new String(̶abc”);
String s3 = ̶abc”;
System.out.println(obj1 == obj2);
System.out.println(obj1.equals(obj2));
System.out.println(obj1 == obj3);
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
}
}
四、 簡(jiǎn)答題(共3題,前兩題每題5分,最后一題6分,共16分)
1.請(qǐng)編寫(xiě)一個(gè)函數(shù)func(),將此函數(shù)的輸入?yún)?shù)(int型)逆序輸出顯示,如54321 –> 12345,要求使用遞歸,并且函數(shù)體代碼不超過(guò)8行。
public class Test{
public void func(int i){
}
public static void main(String[] args){
Test t=new Test();
t.func(987);
}
}
2.請(qǐng)用兩種方式實(shí)現(xiàn)Java中的Singletone模式的類的基本框架,并分析其是否線程安全。
3. 請(qǐng)用Java實(shí)現(xiàn)一個(gè)多線程的程序,其中一個(gè)線程對(duì)某靜態(tài)全局變量進(jìn)行1次自加,另一個(gè)線程對(duì)該變量進(jìn)行1次自減,要求這兩個(gè)線程的實(shí)現(xiàn)方式不同。
【java中級(jí)工程師面試題】相關(guān)文章:
Java工程師面試題03-29
Java工程師面試題及答案10-25
Java高級(jí)工程師面試題及答案03-24
Java中級(jí)開(kāi)發(fā)工程師筆試題及答案201603-04
Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)歸納02-27
java面試題2017及答案03-06
java基礎(chǔ)面試題201703-30