天天看點

面試知識整理-01

一:OSI七層模型以及各部分功能:

實體層,主要作用:二進制與電信号互相轉換

資料鍊路層:主要作用:下層信号封裝為資料報,工作物件交換機

網絡層:主要作用:下層信号封裝為資料包,工作物件路由器

傳輸層:主要作用:建立連結傳輸,主要内容:TCP、UDP協定于此層工作

會話層:主要作用:發起回話和接受請求(通過MAC位址或者IP來認識)

表示層:主要作用:對接收的資料進行加密、解密,壓縮與解壓縮等。

應用層:主要作用:終端應用,人們所看到的的具體應用,如QQ,浏覽器等

二:棧與堆的差別(java)

1.從線程共有私有上來講,堆是線程共有,而棧,雖然分為本地方法棧和虛拟機棧,但是都是線程私有的。                         

2.從進出順序來講,堆同于隊列,先進先出,後進後出,棧先進後出,後進先出

3.從存儲資料類型來講,棧存儲的是對象的引用和基本類型變量(變量指向堆記憶體中的變量),而堆存儲的是New出來的真實對象和數組

三:Mybatis中一級緩存與二級緩存的差別?如何清除一級緩存?

1.一級緩存是SqlSession級别的緩存。在操作資料庫時需要構造sqlSession對象,在對象中有一個資料結構(HashMap)用于存儲緩存資料。不同的sqlSession之間的緩存資料區域(HashMap)是互相不影響的。

2.二級緩存是mapper級别的緩存,多個SqlSession去操作同一個Mapper的sql語句,多個SqlSession可以共用二級緩存,二級緩存是跨SqlSession的

3.清除一級緩存:更新即可清除,使用(update語句執行commit送出)。

四:HashMap能嵌套嗎?最多嵌套幾層?

能嵌套,理論可以無限嵌套,上圖如下:

面試知識整理-01

五:String為什麼不可變?能被繼承嗎?

因為底層由final修飾,無法被修改,也因為底層由final修飾,無法被繼承。

(補充:final修飾方法,可以被繼承,但是繼承之後無法被重寫)

繼續閱讀