企業(yè)Java面試筆試題范文_第1頁(yè)
企業(yè)Java面試筆試題范文_第2頁(yè)
企業(yè)Java面試筆試題范文_第3頁(yè)
企業(yè)Java面試筆試題范文_第4頁(yè)
企業(yè)Java面試筆試題范文_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

企業(yè)Java面試筆試題范文Java面試題的難度一般不會(huì)很大,考官只是想知道你的知識(shí)理解程度以及是否能勝任工作的才能,下面給大家分享企業(yè)Java面試筆試題范文的內(nèi)容,希望可以幫助大家,歡迎閱讀!

企業(yè)Java面試筆試題范文

1、假如main方法被聲明為private會(huì)怎樣?

能正常編譯,但運(yùn)行的時(shí)候會(huì)提示〞main方法不是public的〞。

2、Java里的傳引用和傳值的區(qū)別是什么?

傳引用是指?jìng)鬟f的是地址而不是值本身,傳值那么是傳遞值的一份拷貝。

3、假如要重寫(xiě)一個(gè)對(duì)象的equals方法,還要考慮什么?

hashCode。

4、Java的〞一次編寫(xiě),處處運(yùn)行〞是如何實(shí)現(xiàn)的?

Java程序會(huì)被編譯成字節(jié)碼組成的class文件,這些字節(jié)碼可以運(yùn)行在任何平臺(tái),因此Java是平臺(tái)的獨(dú)立。

經(jīng)典Java根底面試題

5、說(shuō)明一下publicstaticvoidmain(Stringargs[])這段聲明里每個(gè)關(guān)鍵字的作用。

public:main方法是Java程序運(yùn)行時(shí)調(diào)用的第一個(gè)方法,因此它必須對(duì)Java環(huán)境可見(jiàn)。所以可見(jiàn)性設(shè)置為pulic.

static:Java平臺(tái)調(diào)用這個(gè)方法時(shí)不會(huì)創(chuàng)立這個(gè)類(lèi)的一個(gè)實(shí)例,因此這個(gè)方法必須聲明為static。

void:main方法沒(méi)有返回值。

String是命令行傳進(jìn)參數(shù)的類(lèi)型,args是指命令行傳進(jìn)的字符串?dāng)?shù)組。

6、==與equals的區(qū)別

==比較兩個(gè)對(duì)象在內(nèi)存里是不是同一個(gè)對(duì)象,就是說(shuō)在內(nèi)存里的存儲(chǔ)位置一致。兩個(gè)String對(duì)象存儲(chǔ)的值是一樣的,但有可能在內(nèi)存里存儲(chǔ)在不同的地方。

==比較的是引用而equals方法比較的是內(nèi)容。publicbooleanequals(Objectobj)這個(gè)方法是由Object對(duì)象提供的,可以由子類(lèi)進(jìn)展重寫(xiě)。默認(rèn)的實(shí)現(xiàn)只有當(dāng)對(duì)象和自身進(jìn)展比較時(shí)才會(huì)返回true,這個(gè)時(shí)候和==是等價(jià)的。String,BitSet,Date,和File都對(duì)equals方法進(jìn)展了重寫(xiě),對(duì)兩個(gè)String對(duì)象而言,值相等意味著它們包含同樣的字符序列。對(duì)于根本類(lèi)型的包裝類(lèi)來(lái)說(shuō),值相等意味著對(duì)應(yīng)的根本類(lèi)型的值一樣。

7、假如去掉了main方法的static修飾符會(huì)怎樣?

程序能正常編譯。運(yùn)行時(shí)會(huì)拋NoSuchMethodError異常。

8、為什么oracletype4驅(qū)動(dòng)被稱(chēng)作瘦驅(qū)動(dòng)?

oracle提供了一個(gè)type4JDBC驅(qū)動(dòng),被稱(chēng)為瘦驅(qū)動(dòng)。這個(gè)驅(qū)動(dòng)包含了一個(gè)oracle自己完全用Java實(shí)現(xiàn)的一個(gè)TCP/IP的Net8的實(shí)現(xiàn),因此它是平臺(tái)的獨(dú)立,可以在運(yùn)行時(shí)由閱讀器下載,不依賴任何客戶端的oracle實(shí)現(xiàn)??蛻舳诉B接字符串用的是TCP/IP的地址端口,而不是數(shù)據(jù)庫(kù)名的tnsname。

9、介紹一下finalize方法

final:常量聲明。finally:處理異常。finalize:幫助進(jìn)展垃圾回收。

接口里聲明的變量默認(rèn)是final的。final類(lèi)無(wú)法繼承,也就是沒(méi)有子類(lèi)。這么做是出于根底類(lèi)型的平安考慮,比方String和Integer。這樣也使得編譯器進(jìn)展一些優(yōu)化,更容易保證線程的平安性。final方法無(wú)法重寫(xiě)。final變量的值不能改變。finalize()方法在一個(gè)對(duì)象被銷(xiāo)毀和回收前會(huì)被調(diào)用。finally,通常用于異常處理,不管有沒(méi)有異常被拋出都會(huì)執(zhí)行到。比方,關(guān)閉連接通常放到finally塊中完成。

10、什么是JavaAPI?

JavaAPI是大量軟件組件的集合,它們提供了大量有用的功能,比方GUI組件。

11、GregorianCalendar類(lèi)是什么東西?

GregorianCalendar提供了西方傳統(tǒng)日歷的支持。

12、ResourceBundle類(lèi)是什么?

ResourceBundle用來(lái)存儲(chǔ)指定語(yǔ)言環(huán)境的資源,應(yīng)用程序可以根據(jù)運(yùn)行時(shí)的語(yǔ)言環(huán)境來(lái)加載這些資源,從而提供不同語(yǔ)言的展示。

13、為什么Java里沒(méi)有全局變量?

全局變量是全局可見(jiàn)的,Java不支持全局可見(jiàn)的.變量,因?yàn)椋喝肿兞科茐牧艘猛该餍栽敲?。全局變量?dǎo)致了命名空間的沖突。

14、如何將String類(lèi)型轉(zhuǎn)化成Number類(lèi)型?

Integer類(lèi)的valueOf方法可以將String轉(zhuǎn)成Number。

15、SimpleTimeZone類(lèi)是什么?

SimpleTimeZone提供公歷日期支持。

16、while循環(huán)和do循環(huán)有什么不同?

while構(gòu)造在循環(huán)的開(kāi)場(chǎng)判斷下一個(gè)迭代是否應(yīng)該繼續(xù)。do/while構(gòu)造在循環(huán)的結(jié)尾來(lái)判斷是否將繼續(xù)下一輪迭代。do構(gòu)造至少會(huì)執(zhí)行一次循環(huán)體。

17、Locale類(lèi)是什么?

Locale類(lèi)用來(lái)根據(jù)語(yǔ)言環(huán)境來(lái)動(dòng)態(tài)調(diào)整程序的輸出。

18、面向?qū)ο缶幊痰脑敲词鞘裁?

主要有三點(diǎn),多態(tài),繼承和封裝。

19、介紹下繼承的原那么

繼承使得一個(gè)對(duì)象可以獲取另一個(gè)對(duì)象的屬性。使用繼承可以讓已經(jīng)測(cè)試完備的功能得以復(fù)用,并且可以一次修改,所有繼承的地方都同時(shí)生效。

20、什么是隱式的類(lèi)型轉(zhuǎn)化?

隱式的類(lèi)型轉(zhuǎn)化就是簡(jiǎn)單的一個(gè)類(lèi)型賦值給另一個(gè)類(lèi)型,沒(méi)有顯式的告訴編譯器發(fā)生了轉(zhuǎn)化。并不是所有的類(lèi)型都支持隱式的類(lèi)型轉(zhuǎn)化。

21、sizeof是Java的關(guān)鍵字嗎?

不是。

22、native方法是什么?

native方法是非Java代碼實(shí)現(xiàn)的方法。

23、在System.out.println()里面,System,out,println分別是什么?

System是系統(tǒng)提供的預(yù)定義的final類(lèi),out是一個(gè)PrintStream對(duì)象,println是out對(duì)象里面一個(gè)重載的方法。

24、封裝,繼承和多態(tài)是什么?

簡(jiǎn)單來(lái)說(shuō),多態(tài)是指一個(gè)名字多種實(shí)現(xiàn)。多態(tài)使得一個(gè)實(shí)體通過(guò)一個(gè)通用的方式來(lái)實(shí)現(xiàn)不同的操作。詳細(xì)的操作是由實(shí)際的實(shí)現(xiàn)來(lái)決定的。

多態(tài)在Java里有三種表現(xiàn)方式:方法重載通過(guò)繼承實(shí)現(xiàn)方法重寫(xiě)通過(guò)Java接口進(jìn)展方法重寫(xiě)。

25、顯式的類(lèi)型轉(zhuǎn)化是什么?

顯式的類(lèi)型轉(zhuǎn)化是明確告訴了編譯器來(lái)進(jìn)展對(duì)象的轉(zhuǎn)化。

26、什么是Java虛擬機(jī)?

Java虛擬機(jī)是能移植到不同硬件平臺(tái)上的軟件系統(tǒng)。

27、類(lèi)型向下轉(zhuǎn)換是什么?

向下轉(zhuǎn)換是指由一個(gè)通用類(lèi)型轉(zhuǎn)換成一個(gè)詳細(xì)的類(lèi)型,在繼承構(gòu)造上向下進(jìn)展。

28、Java的訪問(wèn)修飾符是什么?

訪問(wèn)權(quán)限修飾符是說(shuō)明類(lèi)成員的訪問(wèn)權(quán)限類(lèi)型的關(guān)鍵字。使用這些關(guān)鍵字來(lái)限定程序的方法或者變量的訪問(wèn)權(quán)限。它們包含:

public:所有類(lèi)都可以訪問(wèn)protected:同一個(gè)包內(nèi)以及所有子類(lèi)都可以訪問(wèn)private:只有歸屬的類(lèi)才能訪問(wèn)默認(rèn):歸屬類(lèi)及一樣包下的子類(lèi)可以訪問(wèn)。

29、所有類(lèi)的父類(lèi)是什么?

Object.

30、Java的根本類(lèi)型有哪些?

byte,char,short,int,long,float,double,boolean。

企業(yè)Java面試筆試題范文

1.IP地址的編碼分為哪倆部分?

IP地址由兩部分組成,網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)。不過(guò)是要和“子網(wǎng)掩碼〞按位與上之后才能區(qū)分哪些是網(wǎng)絡(luò)位哪些是主機(jī)位。

2.用戶輸入M,N值,從1至N開(kāi)場(chǎng)順序循環(huán)數(shù)數(shù),每數(shù)到M輸出該數(shù)值,直至全部輸出。寫(xiě)出C程序。

循環(huán)鏈表,用取余操作做

3.不能做switch()的參數(shù)類(lèi)型是:

switch的參數(shù)不能為實(shí)型。

4.static有什么用處?〔請(qǐng)至少說(shuō)明兩種〕

a.限制變量的作用域

b.設(shè)置變量的存儲(chǔ)域

7.引用與指針有什么區(qū)別?

a引用必須被初始化,指針不必。

b引用初始化以后不能被改變,指針可以改變所指的對(duì)象。

c不存在指向空值的引用,但是存在指向空值的指針。

8.描繪實(shí)時(shí)系統(tǒng)的根本特性

在特定時(shí)間內(nèi)完成特定的任務(wù),實(shí)時(shí)性與可靠性

9.全局變量和部分變量在內(nèi)存中是否有區(qū)別?假如有,是什么區(qū)別?

全局變量?jī)?chǔ)存在靜態(tài)數(shù)據(jù)庫(kù),部分變量在堆棧

10.什么是平衡二叉樹(shù)?

左右子樹(shù)都是平衡二叉樹(shù)且左右子樹(shù)的深度差值的絕對(duì)值不大于1

11.堆棧溢出一般是由什么原因?qū)е碌模?/p>

沒(méi)有回收垃圾資源

12.什么函數(shù)不能聲明為虛函數(shù)?

constructor

13.冒泡排序算法的時(shí)間復(fù)雜度是什么?

O(n^2)

14.寫(xiě)出floatx與“零值〞比較的if語(yǔ)句。

if(x>0.000001x16.Internet采用哪種網(wǎng)絡(luò)協(xié)議?該協(xié)議的主要層次構(gòu)造?

tcp/ip應(yīng)用層/傳輸層/網(wǎng)絡(luò)層/數(shù)據(jù)鏈路層/物理層

17.Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議?

ARP(AddressResolutionProtocol)〔地址解析協(xié)議〕

java企業(yè)的面試筆試題

1.Java集合框架是什么?說(shuō)出一些集合框架的優(yōu)點(diǎn)?

每種編程語(yǔ)言中都有集合,最初的Java版本包含幾種集合類(lèi):Vector、Stack、HashTable和Array。

隨著集合的廣泛使用,Java1.2提出了囊括所有集合接口、實(shí)現(xiàn)和算法的集合框架。在保證線程平安的情況下使用泛型和并發(fā)集合類(lèi),Java已經(jīng)經(jīng)歷了很久。它還包括在Java并發(fā)包中,阻塞接口以及它們的實(shí)現(xiàn)。

集合框架的部分優(yōu)點(diǎn)如下:

(1)使用核心集合類(lèi)降低開(kāi)發(fā)本錢(qián),而非實(shí)現(xiàn)我們自己的集合類(lèi)。

(2)隨著使用經(jīng)過(guò)嚴(yán)格測(cè)試的集合框架類(lèi),代碼質(zhì)量會(huì)得到進(jìn)步。

(3)通過(guò)使用JDK附帶的集合類(lèi),可以降低代碼維護(hù)本錢(qián)。

(4)復(fù)用性和可操作性。

2.集合框架中的泛型有什么優(yōu)點(diǎn)?

Java1.5引入了泛型,所有的集合接口和實(shí)現(xiàn)都大量地使用它。泛型允許我們?yōu)榧咸峁┮粋€(gè)可以包容的對(duì)象類(lèi)型,因此,假如你添加其它類(lèi)型的任何元素,它會(huì)在編譯時(shí)報(bào)錯(cuò)。這防止了在運(yùn)行時(shí)出現(xiàn)ClassCastException,因?yàn)槟銓?huì)在編譯時(shí)得到報(bào)錯(cuò)信息。

泛型也使得代碼整潔,我們不需要使用顯式轉(zhuǎn)換和instanceOf操作符。它也給運(yùn)行時(shí)帶來(lái)好處,因?yàn)椴粫?huì)產(chǎn)生類(lèi)型檢查的字節(jié)碼指令。

3.Java集合框架的根底接口有哪些?

Collection為集合層級(jí)的根接口。一個(gè)集合代表一組對(duì)象,這些對(duì)象即為它的元素。Java平臺(tái)不提供這個(gè)接口任何直接的實(shí)現(xiàn)。

Set是一個(gè)不能包含重復(fù)元素的集合。這個(gè)接口對(duì)數(shù)學(xué)集合抽象進(jìn)展建模,被用來(lái)代表集合,就如一副牌。

List是一個(gè)有序集合,可以包含重復(fù)元素。你可以通過(guò)它的索引來(lái)訪問(wèn)任何元素。List更像長(zhǎng)度動(dòng)態(tài)變換的數(shù)組。

Map是一個(gè)將key映射到value的對(duì)象.一個(gè)Map不能包含重復(fù)的key:每個(gè)key最多只能映射一個(gè)value。

一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。

4.為何Collection不從Cloneable和Serializable接口繼承?

Collection接口指定一組對(duì)象,對(duì)象即為它的元素。如何維護(hù)這些元素由Collection的詳細(xì)實(shí)現(xiàn)決定。

例如,一些如List的Collection實(shí)現(xiàn)允許重復(fù)的元素,而其它的如Set就不允許。很多Collection實(shí)現(xiàn)有一個(gè)公有的clone方法。然而,把它放到集合的所有實(shí)現(xiàn)中也是沒(méi)有意義的。這是因?yàn)镃ollection是一個(gè)抽象表現(xiàn)。重要的是實(shí)現(xiàn)。

當(dāng)與詳細(xì)實(shí)現(xiàn)打交道的時(shí)候,克隆或序列化的語(yǔ)義和含義才發(fā)揮作用。所以,詳細(xì)實(shí)現(xiàn)應(yīng)該決定如何對(duì)它進(jìn)展克隆或序列化,或它是否可以被克隆或序列化。

在所有的實(shí)現(xiàn)中受權(quán)克隆和序列化,最終導(dǎo)致更少的靈敏性和更多的限制。特定的實(shí)現(xiàn)應(yīng)該決定它是否可以被克隆和序列化。

5.為何Map接口不繼承Collection接口?

盡管Map接口和它的實(shí)現(xiàn)也是集合框架的`一部分,但Map不是集合,集合也不是Map。因此,Map繼承Collection毫無(wú)意義,反之亦然。

假如Map繼承Collection接口,那么元素去哪兒?Map包含key-value對(duì),它提供抽取key或value列表集合的方法,但是它不合適“一組對(duì)象〞標(biāo)準(zhǔn)。

6.Iterator是什么?

Iterator接口提供遍歷任何Collection的接口。我們可以從一個(gè)Collection中使用迭代器方法來(lái)獲取迭代器實(shí)例。迭代器取代了Java集合框架中的Enumeration。迭代器允許調(diào)用者在迭代過(guò)程中移除元素。

7.Enumeration和Iterator接口的區(qū)別?

Enumeration的速度是Iterator的兩倍,也使用更少的內(nèi)存。Enumeration是非常根底的,也滿足了根底的需要。但是,與Enumeration相比,Iterator更加平安,因?yàn)楫?dāng)一個(gè)集合正在被遍歷的時(shí)候,它會(huì)阻止其它線程去修改集合。

迭代器取代了Java集合框架中的Enumeration。迭代器允許調(diào)用者從集合中移除元素,而Enumeration不能做到。為了使它的功能更加明晰,迭代器方法名已經(jīng)經(jīng)過(guò)改善。

8.為何沒(méi)有像Iterator.add()這樣的方法,向集合中添加元素?

語(yǔ)義不明,的是,Iterator的協(xié)議不能確保迭代的次序。然而要注意,ListIterator沒(méi)有提供一個(gè)add操作,它要確保迭代的順序。

9.為何迭代器沒(méi)有一個(gè)方法可以直接獲取下一個(gè)元素,而

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論