溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)的十個基礎(chǔ)面試題是什么

發(fā)布時間:2022-01-14 17:32:25 來源:億速云 閱讀:114 作者:iii 欄目:大數(shù)據(jù)

本文小編為大家詳細(xì)介紹“大數(shù)據(jù)的十個基礎(chǔ)面試題是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“大數(shù)據(jù)的十個基礎(chǔ)面試題是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

       1、當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞? 【基礎(chǔ)】

  答:是值傳遞。Java 編程語言只有值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用是永遠(yuǎn)不會改變的。

  2、String 和StringBuffer 的區(qū)別? 【基礎(chǔ)】

  答:JAVA 平臺提供了兩個類:String 和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據(jù)。

  這個String 類提供了數(shù)值不可改變的字符串。

  而這個StringBuffer 類提供的字符串進行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時候你就可以使用StringBuffer。典型地,你可以使用StringBuffers 來動態(tài)構(gòu)造字符數(shù)據(jù)。

  3、String, StringBuffer StringBuilder 的區(qū)別?!净A(chǔ)】

  答:String 的長度是不可變的;StringBuffer 的長度是可變的,如果你對字符串中的內(nèi)容經(jīng)常進行操作,特別是內(nèi)容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer 的toString()方法;線程安全;StringBuilder 是從JDK 5 開始,為StringBuffer 該類補充了一個單個線程使用的等價類;通常應(yīng)該優(yōu)先使用StringBuilder 類,因為它支持所有相同的操作,但由于它不執(zhí)行同步,所以速度更快。

  4、Overload 和Override 的區(qū)別。Overloaded 的方法是否可以改變返回值的類型? 【基礎(chǔ)】

  答:方法的重寫Overriding 和重載Overloading 是Java 多態(tài)性的不同表現(xiàn)。重寫Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading 是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded 的方法是可以改變返回值的類型。

  5、定義類A 和類B 如下:【基礎(chǔ)】

  class A {

  int a=1;

  double d=2.0;

  void show(){

  System.out.println("Class A: a="+a +"\td="+d);

  }

  }

  class B extends A{

  float a=3.0f;

  String d="Java program.";

  void show(){

  super.show( );

  System.out.println("Class B: a="+a +"\td="+d);

  }

  }

  (1) 若在應(yīng)用程序的main 方法中有以下語句:

  A a=new A();

  a.show();

  則輸出的結(jié)果如何?

  (2) 若在應(yīng)用程序的main 方法中定義類B 的對象b:

  A b=new B();

  b.show();

  則輸出的結(jié)果如何?

  答:輸出結(jié)果為:

  1)Class A: a=1 d=2.0 ;

  2)Class A: a=1 d=2.0

  Class B: a=3.0 d=Java program。

  6、描述一下JVM 加載class 文件的原理機制? 【基礎(chǔ)】

  答:JVM 中類的裝載是由ClassLoader 和它的子類來實現(xiàn)的,Java ClassLoader是一個重要的Java 運行時系統(tǒng)組件。它負(fù)責(zé)在運行時查找和裝入類文件的類。

  7、char 型變量中能不能存貯一個中文漢字?為什么? 【基礎(chǔ)】

  答:能夠定義成為一個中文的,因為java 中以unicode 編碼,一個char 占16個字節(jié),所以放一個中文是沒問題的。

  8、abstract class 和interface 有什么區(qū)別? 【基礎(chǔ)】

  答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),。然而可以創(chuàng)建一個變量,其類型是一個抽象類,它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。接口(interface)是抽象類的變體。新型多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,所有成員變量都是publicstatic final 的。一個類可以實現(xiàn)多個接口,當(dāng)類實現(xiàn)特殊接口時,它定義(即

  將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運算符可以用來決定某對象的類是否實現(xiàn)了接口。

  9、Static Nested Class 和Inner Class 的不同?【基礎(chǔ)】

  答:Static Nested Class 是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實例被實例化。而通常的內(nèi)部類需要在外部類實例化后才能實例化。

  10、Java 中會存在內(nèi)存泄漏嗎,請簡單描述。【基礎(chǔ)】

  答:會;存在無用但可達的對象,這些對象不能被GC 回收,導(dǎo)致耗費內(nèi)存資源。

讀到這里,這篇“大數(shù)據(jù)的十個基礎(chǔ)面試題是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI