面試總結 一

2021-08-06 04:57:51 字數 3930 閱讀 3038

記錄 2023年8月11日模擬面試問題及答案,許多自己答得很模糊,再次總結語言。

面試總結(二)

回答基於jdk1.8,低版本部分答案不適用

1.equals和==區別?

/**

答:==在基礎資料型別中比較其大小,引用型別比較記憶體位址。

equals在不重寫的情況下與==相同,重寫後是按照其本身方法內部規則進行判斷。

任何類都繼承自object,object中有equals方法,其底層**:

*/public

boolean

equals(object obj)

2.什麼是傳值和傳址?

答:基礎資料型別是傳值,引用型別是傳址,位址中的物件還是原物件,棧幀結束後 傳值不改變,傳址改變;

注意string例外,下面來講。

public

void

add(string str)

@test

public

void

a() //結果是 123

3.為什麼我們常說字串是不可變得?

/**

答:因為string底層是char陣列,並且用final修飾。

因此每次建立string其原本字串並不會消失或被替換,而會新建乙個string,儲存在字串常量池中,堆區中

因此在字串中不要使用+=拼接字串,在進行字串拼接,必須使用stringbuilder或stringbuffer

stringbuffer是執行緒安全的,因為其修改方法用synchronized修飾

*/private

final

char value;

4.switch switch case 型別?

答:支援char,byte,short,int及他們的包裝類及string和列舉

incompatible type .found: 『long』 ,require : 『char,byte short,int,character,byte,short,integer,string,or an enum』;

5.執行時異常和一般異常有何異同

答:一般異常必須進行try catch或throw相應處理,執行時異常往往不進行處理。

6.try catch 和throws和throw如何使用?

答:throws向上丟擲異常,呼叫部分繼續throws或者try catch進行處理。throw new是現在丟擲異常。

7.1/0報錯? 異常型別,如何避免?

答:報錯arithmeticexception(算術異常) 執行時異常,可以通過try catch進行捕獲進行處理

8.問:char int byte做加法運算

答:char運算時將字元轉化成ascii碼進行整形運算,最後返回值為整形

9.單例設計模式兩種實現方式

答:分別飢餓模式和懶漢模式。都通過getinstance獲得例項,區別在於類例項是否在使用時在建立,還是在使用前就建立

10.string s = new string(「xyz」);在執行時涉及幾個string例項?

答案:兩個,乙個是字串字面量」xyz」所對應的、駐留(intern)在乙個全域性共享的字串常量池中的例項,另乙個是通過new string(string)建立並初始化的、內容與」xyz」相同的例項

11.氣泡排序

for(int i=0;ilength+1;i++)

}}

12.乙個中文幾個位元組

答:2-4個位元組,gbk兩個,utf-16 通常兩個,bcd擴充套件4個 utf-8 通常3個,b區擴充套件4個。

arraylist和linkedlist區別 vector 的儲存效能和特性

13.問:str=1+9+」abc」=? str=」abc」+1+9=?

答 「10abc」和」abc19」,此時跟運算順序和運算過程有關

14.計算幾種的最小單位是什麼,基礎資料型別的大小

計算機中最小單位是byte(位),1位元組8位。

基礎資料型別有:byte(1) short(2) int(4) long(8) float(4) double(8) boolean(1/8) char(2)

注:單位是位元組

15.抽象類和介面分別該什麼時候用?

答:是什麼用抽象類,幹什麼用介面。在jdk中thread用抽象類,集合用介面。

16.類和抽象類區別?

答:抽象類中的abstract方法子類中必須實現。只抽取功能定義,不抽取功能主體。

17.什麼是多型?

答:多型意為:一種事物的多種形態。多型包含編譯時多型(函式的過載)和執行時多型,執行時多型體現在繼承和實現介面上,包含傳參(方法傳遞引數)多型,引用多型(父類引用子類物件重寫方法),向上轉型(子類轉成父類物件),宣告多型(父類指向子類物件)。

18.static和final可以放置的位置?

答:放在int宣告前任意位置即可。

19.問 :short s1 = 1; s1 = s1 + 1;有什麼錯?

答:因為(隱式型別轉換)short+int會自動轉成int,但short+=相當於s = (short)(s+1),short=+1;相當於short=1;

20.短路語和全路語

答:短路語:&&和||在從左邊到右判斷時,已經可以判斷出結果了就不繼續了,而全路語|和&則要全部判斷完畢

21.ascii碼和unicode和gbk和utf-8

答:ascii定義了128個字元的編碼,unicode(聯合)包含了所有字元(語言)的編碼,只規定了二進位制編碼,卻未規定二進位制編碼如何儲存。utf-8是unicode的實現方式之一,gbk和unicode一樣規定了字元的編碼,gbk是大陸通用編碼。

22.overload和override的區別

答:overload(過載),override(重寫)

23.interger緩衝區範圍

答:-128-127,在interger定義時在緩衝區範圍涉及到拆箱比較,緩衝區integercache。new 物件和直接賦值在範圍內資料類似string;

24.如何實現多執行緒?

答:繼承thread類,或實現runnable介面,實現其run方法。 啟動通過thread().start或執行緒池。

25.protected和default許可權

答:public>protect>default>private。protected不能在其不同包的子類呼叫父類修飾的方法和屬性。

26.屬性和成員變數

答:實現物件導向的封裝思想,屬性私有化,方法公開化。成員變數根據其修飾外部呼叫。

27.封裝能幹什麼?

答:隱藏細節,**復用。

面試總結(一)

又到了一年一度的就業高峰期,作為應屆畢業生中的一員,我也同樣為了自己的工作而奔波,經過乙個多星期的努力,拿下了四五家offer,最後選擇了一家自己比較滿意的公司 下面對求職當中遇到的一些問題進行下總結。一 簡歷準備 乙份好的簡歷是你個人的敲門磚,現在找工作基本上都是通過網上投遞你的簡歷,然後等待公司...

面試總結 (一)

單引號和雙引號的區別 單引號不解析 雙引號解析 在某些特定情況下,單引號效率要比雙引號高 xml和json的區別 js的五種資料型別,並說明原始資料型別和引用資料型別的區別 js的基本資料型別 number string boolean null和undefined 區別 說明myisam和inno...

面試總結一

1 基類的虛構函式為什麼使用virtual?這種虛析構函式尋在的意義?virtual虛函式是動態繫結的基礎 這很重要 在動態繫結的過程中,我們使用的是基類的指標指向子類 例如b派生於a,a pa new b 如果沒有使用virtual實現動態繫結,在進行delete a 時,不會呼叫b的析構函式,如...