六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學習啦>創(chuàng)業(yè)指南>職場>面試題>

中軟國際面試筆試真題

時間: 護托1061 分享

  中軟國際有限公司是國內大型綜合性軟件與信息服務企業(yè),具有極高的市場感召力和客戶忠誠度,以領先的技術、豐富的經驗、精湛的服務在中國 IT 行業(yè)享有極高的聲譽。下面就由學習啦小編為大家介紹一下中軟國際面試筆試真題的文章,歡迎閱讀。

  中軟國際面試筆試真題篇1

  1、 GC是什么? 為什么要有GC?

  GC是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內存回收會導致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。

  2、接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類

  (concrete class)?

  接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

  3、 Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

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

  4 、sleep() 和wait() 有什么區(qū)別?

  sleep是線程類(Thread)的方法,導致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復。調用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態(tài)。

  5、 final, finally, finalize的區(qū)別。

  final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結構的一部分,表示總是執(zhí)行。 finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。

  中軟國際面試筆試真題篇2

  1、HashMap和Hashtable的區(qū)別。

  HashMap是Hashtable的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。 HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。 Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現(xiàn)。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap 就必須為之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

  2、&和&&的區(qū)別。

  &是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)。

  3、Set 里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還

  是equals()? 它們有何區(qū)別?

  Set 里的元素是不能重復的,用equals ()方法來區(qū)分重復與否。覆蓋

  equals()方法用來判斷對象的內容是否相同,而”==”判斷地址是否相等,用來

  決定引用值是否指向同一對象。

  中軟國際面試筆試真題篇3

  什么是內部類?

  內部類就是在一個類的內部定義的類,內部類中不能定義靜態(tài)成員(我想可能是既然靜態(tài)成員類似c語言的全局變量,而內部類通常是用于創(chuàng)建內部對象用的,所以,把“全局變量”放在內部類中就是毫無意義的事情,既然是毫無意義的事情,就應該被禁止),內部類可以直接訪問外部類中的成員變量,內部類可以定義在外部類的方法外面,也可以定義在外部類的方法體中,如下所示:

  public class Outer

  {

  int out_x = 0;

  public void method()

  {

  Inner1 inner1 = new Inner1();

  class Inner2 //在方法體內部定義的內部類

  {

  public method()

  {

  out_x = 3;

  }

  }

  Inner2 inner2 = new Inner2();

  }

  public class Inner1 //在方法體外面定義的內部類

  {

  }

  }

  在方法體外面定義的內部類的訪問類型可以是public,protecte,默認的,private等4種類型,這就好像類中定義的成員變量有4種訪問類型一樣,它們決定這個內部類的定義對其他類是否可見;對于這種情況,我們也可以在外面創(chuàng)建內部類的實例對象,創(chuàng)建內部類的實例對象時,一定要先創(chuàng)建外部類的實例對象,然后用這個外部類的實例對象去創(chuàng)建內部類的實例對象,代碼如下:

  Outer outer = new Outer();

  Outer.Inner1 inner1 = outer.new Innner1();

  在方法內部定義的內部類前面不能有訪問類型修飾符,就好像方法中定義的局部變量一樣,但這種內部類的前面可以使用final或abstract修飾符。這種內部類對其他類是不可見的其他類無法引用這種內部類,但是這種內部類創(chuàng)建的實例對象可以傳遞給其他類訪問。這種內部類必須是先定義,后使用,即內部類的定義代碼必須出現(xiàn)在使用該類之前,這與方法中的局部變量必須先定義后使用的道理也是一樣的。這種內部類可以訪問方法體中的局部變量,但是,該局部變量前必須加final修飾符。

  對于這些細節(jié),只要在eclipse寫代碼試試,根據開發(fā)工具提示的各類錯誤信息就可以馬上了解到。

  在方法外部定義的內部類前面可以加上static關鍵字,從而成為靜態(tài)內部類,或者叫Static Nested Class。Static Nested Class與普通類在運行時的行為和功能上沒有什么區(qū)別,只是在編程引用時的語法上有一些差別,它可以定義成public、protected、默認的、private等多種類型,而普通類只能定義成public和默認的這兩種類型。在外面引用Static Nested Class類的名稱為“外部類名.內部類名”。在外面不需要創(chuàng)建外部類的實例對象,就可以直接創(chuàng)建Static Nested Class,例如,假設Inner是定義在Outer類中的Static Nested Class,那么可以使用如下語句創(chuàng)建Inner類:

  Outer.Inner inner = new Outer.Inner();

  由于static Nested Class不依賴于外部類的實例對象,所以,static Nested Class能訪問外部類的非static成員變量。當在外部類中訪問Static Nested Class時,可以直接使用Static Nested Class的名字,而不需要加上外部類的名字了,在Static Nested Class中也可以直接引用外部類的static的成員變量,不需要加上外部類的名字。

  最后,在方法體內部還可以采用如下語法來創(chuàng)建一種匿名內部類,即定義某一接口或類的子類的同時,還創(chuàng)建了該子類的實例對象,無需為該子類定義名稱:

  public class Outer

  {

  public void start()

  {

  new Thread(

  new Runable(){

  public void run(){};

  }

  ).start();

  }

  }

3189240