java開發面試經驗
阿新 • • 發佈:2019-02-11
今天面試了大搜車,面試官是一個很NICE人,主要問的問題都是JAVA基礎。
1.多型的理解
1.1多型的定義:指允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。(傳送訊息就是函式呼叫)
1.2 實現多型的技術稱為:動態繫結(dynamic binding),是指在執行期間判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法。
1.3多型的作用:消除型別之間的耦合關係。
1.4 多型存在的三個必要條件
一、要有繼承;
二、要有重寫;
三、父類引用指向子類物件 。
2.許可權
3.關鍵字volatile:確保應用中的可視性。
如果你將一個域申明為volatile的,那麼只要對這個域產生的寫操作,那麼所有的讀操作就都可以看到這個修改。即使使用了本地快取,情況也是如此,volatile域會立即被寫入到主存中,而讀取操作也在主存中。在非volatile域上的原子操作不必重新整理到主存中去,因此其他讀取改域的任務也不必看到這個新值。如果有多個任務同時訪問這個域,那麼這個域應該是volatile。
4.集合認識,特別問了ConcurrentMap執行緒安全Map類
5.快速排序
6.設計模式,讓我寫了單例模式(加了同步)