2012年百度校園招聘筆試題目及答案(java)
作者:xcbeyond
瘋狂源自夢(mèng)想,技術(shù)成就輝煌!微信公眾號(hào):《程序猿技術(shù)大咖》號(hào)主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗(yàn),樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項(xiàng)目的研發(fā)工作,涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對(duì)于Java、微服務(wù)、數(shù)據(jù)庫(kù)、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗(yàn)。
一、選擇題
1.Java是從(B)語(yǔ)言改進(jìn)重新設(shè)計(jì)。
A.Ada B.C++ C.Pasacal D.BASIC
2.下列語(yǔ)句哪一個(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.以上都不正確
3.下列說法正確的有(C)
A. class中的constructor不可省略
B. constructor必須與class同名,但方法不能與class同名
C. constructor在一個(gè)對(duì)象被new時(shí)執(zhí)行
D.一個(gè)class只能定義一個(gè)constructor
4.提供Java存取數(shù)據(jù)庫(kù)能力的包是(A)
A.java.sql B.java.awt C.java.lang D.java.swing
5.下列運(yùn)算符合法的是(A)
A.&& B.<> C.if D.:=
6.執(zhí)行如下程序代碼后,C的值是(C)
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
A.0 B.1 C.-1 D.死循環(huán)
7.下列哪一種敘述是正確的(D)
A. abstract修飾符可修飾字段、方法和類
B.抽象方法的body部分必須用一對(duì)大括號(hào){ }包住
C.聲明抽象方法,大括號(hào)可有可無(wú)
D.聲明抽象方法不可寫出大括號(hào)
8.下列語(yǔ)句正確的是(AB)
A.形式參數(shù)可被視為local variable
B.形式參數(shù)可被字段修飾符修飾 可以用final修飾
C.形式參數(shù)為方法被調(diào)用時(shí),真正被傳遞的參數(shù) D.形式參數(shù)不可以是對(duì)象
9.下列哪種說法是正確的(D)
A.實(shí)例方法可直接調(diào)用超類的實(shí)例方法 B.實(shí)例方法可直接調(diào)用超類的類方法
C.實(shí)例方法可直接調(diào)用其他類的實(shí)例方法 D.實(shí)例方法可直接調(diào)用本類的類方法
10. 下列哪個(gè)選項(xiàng)是合法的標(biāo)識(shí)符?(B)
A.123 B._name C.class D.1first
11. 下列哪個(gè)選項(xiàng)是Java調(diào)試器,如果編譯器返回程序代碼的錯(cuò)誤,可以用它對(duì)程序進(jìn)行調(diào)試? (C)
A.java.exe B.javadoc.exe C.jdb.exe D.Javaprof.exe
JDB是基于文本和命令行的調(diào)試工具
12. 下列的哪個(gè)選項(xiàng)可以正確用以表示八進(jìn)制值8? (D)
A.0x8 B.0x10 C.08 D.010
13. 下列的哪個(gè)賦值語(yǔ)句是不正確的? (A)
A.float f = 11.1 B.double d =5.3E12
C.float d = 3.14f D.doublef=11.1E10f
14. 下列的哪個(gè)賦值語(yǔ)句是正確的? (A D)
A.char a=12 B.int a=12.0 C.int a=12.0f D.int a=(int)12.0
15. 下列哪個(gè)選項(xiàng)是正確計(jì)算42度(角度)的余弦值?(C)
A.double d=Math.cos(42)
B.double d=Math.cosine(42)
C.double d=Math.cos(Math.toRadians(42))
D.double d=Math.cos(Math.toDegrees(42))
toRadians將角度轉(zhuǎn)換為弧度
toDegrees將弧度轉(zhuǎn)換為角度
16. 下列InputStream類中哪個(gè)方法可以用于關(guān)閉流? (B)
A.skip() B.close() C.mark() D.reset()
17. 下列方法中哪個(gè)是執(zhí)行線程的方法? (A)
A.run() B.start() C.sleep() D.suspend()
18. 下列關(guān)于Frame類的說法不正確的是 ?(C)
A.Frame是Window類的直接子類 B.Frame對(duì)象顯示的效果是一個(gè)窗口
C.Frame被默認(rèn)初始化為可見 D.Frame的默認(rèn)布局管理器為BorderLayout
19. 下列Java常見事件類中哪個(gè)是鼠標(biāo)事件類?(C)
A.InputEvent B.KeyEvent C.MouseEvent D.WindowEvent
20. 在Applet的關(guān)鍵方法中,哪個(gè)方法是關(guān)閉瀏覽器以釋放Applet占用的所有資源?(D)
A.init() B.start() C.paint() D.destroy()
21. 下列哪個(gè)是面向大型企業(yè)級(jí)用容器管理專用構(gòu)件的應(yīng)用平臺(tái)?(A)
A.J2EE B.J2ME C.J2SE D.J2DE
java三大平臺(tái):
Java SE 是Java平臺(tái)標(biāo)準(zhǔn)版的簡(jiǎn)稱(Java Platform, Standard Edition) (also known as Java 2 Platform) ,用于開發(fā)和部署桌面、服務(wù)器以及嵌入設(shè)備和實(shí)時(shí)環(huán)境中的Java應(yīng)用程序。Java SE包括用于開發(fā)Java Web服務(wù)的類庫(kù),同時(shí),Java SE為Java EE提供了基礎(chǔ)。Java SE(Java Platform, Standard Edition,Java標(biāo)準(zhǔn)版)就是基于JDK和JRE的。
Java EE是Java平臺(tái)企業(yè)版的簡(jiǎn)稱(Java Platform, Enterprise Edition),用于開發(fā)便于組裝、健壯、可擴(kuò)展、安全的服務(wù)器端Java應(yīng)用。Java EE建立于Java SE之上,具有Web服務(wù)、組件模型、以及通信API等特性,這些為面向服務(wù)的架構(gòu)(SOA)以及開發(fā)Web2.0應(yīng)用提供了支持。 Java EE基于Java SE,此外新加了企業(yè)應(yīng)用所需的類庫(kù)。
Java ME是Java微版的簡(jiǎn)稱(Java Platform, Enterprise Edition),是一個(gè)技術(shù)和規(guī)范的集合,它為移動(dòng)設(shè)備(包括消費(fèi)類產(chǎn)品、嵌入式設(shè)備、高級(jí)移動(dòng)設(shè)備等)提供了基于Java環(huán)境的開發(fā)與應(yīng)用平臺(tái)。Java ME目前分為兩類配置,一類是面向小型移動(dòng)設(shè)備的CLDC(Connected Limited Device Profile ),一類是面型功能更強(qiáng)大的移動(dòng)設(shè)備如智能手機(jī)和及頂盒,稱為CDC(Connected Device Profile CDC)
22.下列關(guān)于繼承的哪項(xiàng)敘述是正確的?D
A.在java中允許多重繼承
B.在java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口
C.在java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口
D.java的單一繼承使代碼更可靠
23. 下列哪個(gè)修飾符可以使在一個(gè)類中定義的成員變量只能被同一包中的類訪問? B
A.private B.無(wú)修飾符 C.public D.protected
24.下列說法正確的有(B C D)
A.環(huán)境變量可在編譯source code時(shí)指定
B.在編譯程序時(shí),所能指定的環(huán)境變量不包括class path
C. javac一次可同時(shí)編譯數(shù)個(gè)Java源文件
D. javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory)
25.下列說法錯(cuò)誤的有(B C D)
A.?dāng)?shù)組是一種對(duì)象 B.?dāng)?shù)組屬于一種原生類
C. int number=[]={31,23,33,43,35,63} D.?dāng)?shù)組的大小可以任意改變
26.不能用來(lái)修飾interface的有(A C D)
A.private B.public C.protected D.static
27.下列正確的有(A C D)
A. call by value不會(huì)改變實(shí)際參數(shù)的數(shù)值
B. call by reference能改變實(shí)際參數(shù)的參考地址
C. call by reference不能改變實(shí)際參數(shù)的參考地址
D. call by reference能改變實(shí)際參數(shù)的內(nèi)容
28.下列說法錯(cuò)誤的有(B C D)
A.在類方法中可用this來(lái)調(diào)用本類的類方法
B.在類方法中調(diào)用本類的類方法時(shí)可直接調(diào)用
C.在類方法中只能調(diào)用本類中的類方法
D.在類方法中絕對(duì)不能調(diào)用實(shí)例方法
29.下列說法錯(cuò)誤的有(A B C )
A. Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的過程與函數(shù)存在
B. Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的方法存在
C. Java語(yǔ)言中的方法屬于類中的成員(member)
D. Java語(yǔ)言中的方法必定隸屬于某一類(對(duì)象),調(diào)用方法與過程或函數(shù)相同
30.下列說法錯(cuò)誤的有(B C D)
A.能被java.exe成功運(yùn)行的java class文件必須有main()方法
B. J2SDK就是Java API J2Sdk(Java軟件開發(fā)工具包)是Sun公司開發(fā)的編程工具
C. Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件
Appletviewer.exe用來(lái)瀏覽你所寫的applet程序
D.能被Appletviewer成功運(yùn)行的java class文件必須有main()方法
二、填空題
1. 如果要把一個(gè)對(duì)象聲明為多線程,則該對(duì)象必須是Thread類或繼承Thread類或?qū)崿F(xiàn)Runnable接口類類型。
2. java中提供了兩種用于多態(tài)的機(jī)制方法的重載 ,方法的重寫。
3. java中用extends關(guān)鍵字指明繼承關(guān)系.用implements關(guān)鍵字指明對(duì)接口的實(shí)現(xiàn)。
4. this代表了當(dāng)前對(duì)象的引用,super表示的是當(dāng)前對(duì)象的父類對(duì)象。
5. 在運(yùn)行時(shí),由java解釋器自動(dòng)引入,而不用import語(yǔ)句引入的包是java.lang.*。
6.一般有兩種用于創(chuàng)建線程對(duì)象的方法,一是繼承Thread類,二是實(shí)現(xiàn)Runnable接口。
7. 一般用System.in創(chuàng)建InputStream對(duì)象,表示從標(biāo)準(zhǔn)輸入中獲取數(shù)據(jù),用System.out創(chuàng)建OutputStream對(duì)象,表示輸出到標(biāo)準(zhǔn)輸出設(shè)備中。
8. 關(guān)鍵字final表明一個(gè)對(duì)象或變量在初始化后不能被修改。
9. 面向?qū)ο蟪绦虻闹饕卣鳎豪^承,多態(tài),封裝。
10. 一個(gè)完整的URL地址由協(xié)議,主機(jī)域名,端口和文件四部分組成。
三、閱讀題:寫出程序結(jié)果或挑出程序的錯(cuò)誤
1、 JAVA代碼查錯(cuò)
abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {} //去掉{}
}
2、 JAVA代碼查錯(cuò)
public class Something {
void doSomething () {
private String s = "";// 去掉private修飾詞 或者將該句放到屬性域里
int l = s.length();
}
}
3、 JAVA代碼查錯(cuò)
abstract class Something {
private abstract String doSomething ();//private -> public
}
4、JAVA代碼查錯(cuò)
public class Something {
public int addOne(final int x) {//x被final修飾,++x值無(wú)法被修改返回
return ++x;
}
}
5、以下程序段的輸出結(jié)果為:
public class EqualsMethod {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.print(n1==n2);
System.out.print(“,”);
System.out.println(n1!=n2);
}
}
false,true
四、附加題:
寫一個(gè)Singleton。Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return instance;
}
}
PS: 以上題目均為自己做的,或許存在一些錯(cuò)誤,望大家給予指出,共同學(xué)習(xí)!