久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

java面試寶典

時間:2021-03-04 17:15:12 面試筆試 我要投稿

java面試寶典2016

  Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計語言,以下是應(yīng)屆畢業(yè)生網(wǎng)小編整理提供的面試題內(nèi)容,快來閱讀看看吧。

java面試寶典2016

  java面試寶典2016版

  問:Java 中應(yīng)該使用什么數(shù)據(jù)類型來代表價格?

  答:如果不是特別關(guān)心內(nèi)存和性能的話,使用BigDecimal,否則使用預(yù)定義精度的 double 類型。 問:怎么將 byte 轉(zhuǎn)換為 String?

  答:可以使用 String 接收 byte[] 參數(shù)的構(gòu)造器來進(jìn)行轉(zhuǎn)換,需要注意的點是要使用的正確的編碼,否則會使用平臺默認(rèn)編碼,這個編碼可能跟原來的編碼相同,也可能不同。 問:我們能將 int 強(qiáng)制轉(zhuǎn)換為 byte 類型的變量嗎?如果該值大于 byte 類型的范圍,將會出現(xiàn)什么現(xiàn)象?

  答:是的,我們可以做強(qiáng)制轉(zhuǎn)換,但是 Java 中 int 是 32 位的,而 byte 是 8 位的,所以,如果強(qiáng)制轉(zhuǎn)化,int 類型的高 24 位將會被丟棄,byte 類型的范圍是從 -128 到 128。 問:我能在不進(jìn)行強(qiáng)制轉(zhuǎn)換的情況下將一個 double 值賦值給 long 類型的`變量嗎?

  答:不行,你不能在沒有強(qiáng)制類型轉(zhuǎn)換的前提下將一個 double 值賦值給 long 類型的變量,因為 double 類型的范圍比 long 類型更廣,所以必須要進(jìn)行強(qiáng)制轉(zhuǎn)換

  問:List、Set、Map 和 Queue 之間的區(qū)別?

  答:List 是一個有序集合,允許元素重復(fù)。它的某些實現(xiàn)可以提供基于下標(biāo)值的常量訪問時間,但是這不是 List 接口保證的。Set 是一個無序集合。 問:poll() 方法和 remove() 方法的區(qū)別?

  答:poll() 和 remove() 都是從隊列中取出一個元素,但是 poll() 在獲取元素失敗的時候會返回空,但是 remove() 失敗的時候會拋出異常。 問:Java 中 LinkedHashMap 和 PriorityQueue 的區(qū)別是什么?

  答:PriorityQueue 保證最高或者最低優(yōu)先級的的元素總是在隊列頭部,但是 LinkedHashMap 維持的順序是元素插入的順序。當(dāng)遍歷一個 PriorityQueue 時,沒有任何順序保證,但是 LinkedHashMap 可保證遍歷順序是元素插入的順序。 問:ArrayList 與 LinkedList 的區(qū)別?

  答:最明顯的區(qū)別是 ArrrayList 底層的數(shù)據(jù)結(jié)構(gòu)是數(shù)組,支持隨機(jī)訪問,而 LinkedList 的底層數(shù)據(jù)結(jié)構(gòu)鏈表,不支持隨機(jī)訪問。使用下標(biāo)訪問一個元素,ArrayList 的時間復(fù)雜度是 O(1),而 LinkedList 是 O(n)。

  注:時間復(fù)雜度大概就是運(yùn)行時間和輸入規(guī)模的函數(shù),簡單的說,一個函數(shù)處理 n 個數(shù)字,需要 f(n) 秒的時間,時間復(fù)雜度就為 O(f(n));空間復(fù)雜度把時間換成內(nèi)存就夠了。

  問:Hashtable 與 HashMap 有什么不同之處?

  答:這兩個類有許多不同的地方,下面列出了一部分:

  1、Hashtable 是 JDK 1.0 遺留下來的類,而 HashMap 是后來增加的。

  2、Hashtable 是同步的,比較慢,但 HashMap 沒有同步策略,所以會更快。

  3、Hashtable 不允許有空的 key,但是 HashMap 允許出現(xiàn)一個 null key。

  問:接口是什么?為什么要使用接口而不是直接使用具體類?

  答:接口用于定義 API。它定義了類必須得遵循的規(guī)則。同時,它提供了一種抽象,因為客戶端只使用接口,這樣可以有多重實現(xiàn),如 List 接口,你可以使用可隨機(jī)訪問的 ArrayList,也可以使用方便插入和刪除的 LinkedList。接口中不允許寫代碼,以此來保證抽象,但是 Java 8 中你可以在接口聲明靜態(tài)的默認(rèn)方法,這種方法是具體的。 問:Java 中,抽象類與接口之間有什么不同?

  答:Java 中,抽象類和接口有很多不同之處,但是最重要的一個是 Java 中限制一個類只能繼承一個類,但是可以實現(xiàn)多個接口。抽象類可以很好的定義一個家族類的默認(rèn)行為,而接口能更好的定義類型,有助于后面實現(xiàn)多態(tài)機(jī)制。問:除了單例模式,你在生產(chǎn)環(huán)境中還用過什么設(shè)計模式?

  答:這需要根據(jù)你的經(jīng)驗來回答。一般情況下,你可以說依賴注入,工廠模式,裝飾模式或者觀察者模式,隨意選擇你使用過的一種即可。不過你要準(zhǔn)備回答接下的基于你選擇的模式的問題。 問:構(gòu)造器注入和 setter 依賴注入,那種方式更好?

  答:每種方式都有它的缺點和優(yōu)點。構(gòu)造器注入保證所有的注入都被初始化,但是 setter 注入提供更好的靈活性來設(shè)置可選依賴。如果使用 XML 來描述依賴,setter 注入的可讀寫會更強(qiáng)。經(jīng)驗法則是強(qiáng)制依賴使用構(gòu)造器注入,可選依賴使用 setter 注入。

  java面試寶典2016版

  問題:如果main方法被聲明為private會怎樣?

  答案:能正常編譯,但運(yùn)行的時候會提示”main方法不是public的”。

  問題:Java里的傳引用和傳值的區(qū)別是什么?

  答案:傳引用是指傳遞的是地址而不是值本身,傳值則是傳遞值的一份拷貝。

  問題:如果要重寫一個對象的equals方法,還要考慮什么?

  答案:hashCode。

  問題:Java的”一次編寫,處處運(yùn)行”是如何實現(xiàn)的?

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

  問題:說明一下public static void main(String args[])這段聲明里每個關(guān)鍵字的作用

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

  static: Java平臺調(diào)用這個方法時不會創(chuàng)建這個類的一個實例,因此這個方法必須聲明為static。

  void: main方法沒有返回值。

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


【java面試寶典2016】相關(guān)文章:

程序員筆試環(huán)節(jié)面試寶典07-11

java面試最常見問題10-27

java招聘面試常見問題10-27

java英文面試筆試題03-19

java面試筆試題分享08-22

2016英語面試技巧08-17

2016求職英語面試08-02

2016英語面試小貼士07-20

英語面試技巧201608-09

java程序員面試筆試試題08-22