他來了他來了,他帶着面經走來了!你們好,我是小菜,一個渴望在互聯網行業作到蔡不菜的小菜。可柔可剛,點贊則柔,白嫖則剛!
死鬼~看完記得給我來個三連哦!前端
本文主要介紹
面試中高頻出現的問題
若有須要,能夠參考
若有幫助,不忘點贊 ❥
創做不易,白嫖無義!java
1)面向對象的特性有哪些
web
1.
強耦合,父類變子類也得變 2.
破壞了封裝性,實現細節對於子類都是透明的。1.
繼承 2.
重寫 3.
向上轉型 好處: 能夠屏蔽不一樣子類對象之間的實現差別。2)Java中的覆蓋和重載
面試
1.
只能比父類拋出更少的異常 2.
訪問權限不能比父類的小 3.
被覆蓋的方法不能是private 的。1.
參數類型不一樣 2.
參數個數不一樣 3.
參數順序不一樣. 注意: 函數的返回值不一樣不能構成重載3)抽象類和接口的區別
正則表達式
出發角度 | 抽象類 | 接口 |
---|---|---|
默認的實現方法 | 有默認的方法實現 | 所有都是抽象的,不存在方法的實現 |
構造器 | 能夠有構造器 | 不能有構造器 |
訪問修飾符 | 能夠有public、protected和default這些修飾符 | 默認是public,不可使用其餘修飾符 |
繼承方式 | 能夠繼承一個類和實現多個接口 | 能夠繼承一個或多個接口 |
添加新方法 | 能夠提供默認的實現,而不須要修改原有的代碼 | 添加方法後,必須修改實現該接口類中的方法 |
4)Java 和 C++ 的區別
spring
5)Java 是值傳遞仍是引用傳遞
Java內都是值傳遞編程
6)JDK、JRE、JVM
設計模式
7)Integer
數組
8)String
9)Java 有沒有 goto
goto 是 Java 中的保留字,在目前版本的 Java 中沒有使用。10)final 的做用
緩存
11)final、finally和finalize的區別
12)Throwable
Throwable 是Java語言中全部錯誤與異常的超類。包含兩個子類:
Error(錯誤)
Exception(異常)
運行時異常
編譯時異常
13)常見的運行時異常
14)try-catch-finally中哪一個部分能夠省略
catch能夠省略
集合這方面能夠問的實在太多了,這一塊可要好好把握住!
1)集合的種類
2)List 和 Set 的區別
擴展:
HashSet的底層實現
3)Array 和 ArrayList 的區別
4)HashMap 和 HashTable的區別
擴展:
何爲fail-fast
5)聊聊HashMap
6)HashMap擴容是怎樣擴容的
當HashMap中的元素個數超過數組大小(數組總大小length,不是數組中個數size)*loadFactor時,就會進行數組擴容,loadFactor的默認值爲0.75.HashMap不是無限擴容的,當達到了實現預約的MAXIMUM_CAPACITY,就再也不進行擴容。
7)HashMap 的長度爲何都是2的N次冪的大小
8)HashMap存在線程安全問題,那是怎麼處理這種狀況的?
出於線程併發度的考慮,通常會選擇ConcurrentHashMap,他的性能和效率都明顯高於前二者
9)ConcurrentHashMap
10)迭代器 Iterator
Iterator 接口提供遍歷任何 Collection 的接口。咱們能夠從一個 Collection 中使用迭代器方法來獲取迭代器實例。迭代器取代了 Java 集合框架中的 Enumeration,迭代器容許調用者在迭代過程當中移除元素。11)Iterator 和 ListIterator 的區別
12)實現數組和 List 之間的轉換
13)ArrayList 和 LinkedList 的區別
14)ArrayList 和 Vector的區別
15)hashCode()與equals()的相關規定
16)極高併發下HashTable和ConcurrentHashMap哪一個性能更好,爲何
17)HashMap在高併發下若是沒有處理線程安全會有怎樣的安全隱患
18)BlockingQueue是什麼
BlockingQueue是JUC包下的,是一個阻塞隊列,在進行檢索或移除一個元素的時候,它會等待隊列變爲非空;當在添加一個元素時,它會等待隊列中的可用空間。BlockingQueue接口是Java集合框架的一部分,主要用於實現生產者-消費者模式。咱們不須要擔憂等待生產者有可用的空間,或消費者有可用的對象,由於它都在BlockingQueue的實現類中被處理了。Java提供了集中BlockingQueue的實現,好比ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue等。
19)ArrayList在循環過程當中刪除,會不會出問題,爲何。
會出現問題。由於刪除是利用複製和移動的方式,若是集合的值爲{"11","22","22"},要刪除22的話結果爲{"11","22"},第三個22就會前移,這樣能循環過程當中,就訪問不到第三個22。解決:
1)什麼是Spring
2)Spring的優缺點
優勢:
缺點:
3)Spring的核心模塊
4)什麼是Spring配置文件
Spring配置文件是XML 文件。該文件主要包含類信息,它描述了這些類是如何配置以及相互引入的。可是XML配置文件冗長且更加乾淨,若是沒有正確規劃和編寫,那麼在大項目中管理會變得很是困難。
5)Spring框架中用到的設計模式
6)IOC是什麼
IOC(控制反轉),它把傳統上由程序代碼直接操控的對象的調用權交給容器,經過容器來實現對象組件的裝配和管理。所謂「控制反轉」概念就是對組件對象控制權的轉移,從程序代碼自己轉移到了外部容器。Spring IOC負責建立對象,管理對象(經過依賴注入(DI)裝配對象,配置對象,而且管理這些對象的整個生命週期)
7)IOC的優勢
8)動態代理的兩種方式以及區別
jdk動態代理的方式建立代理對象效率較高,執行效率較低,cglib建立效率較低,執行效率高
9)能夠經過多少種方法完成依賴注入
構造函數注入 | setter注入 |
---|---|
沒有部分注入 | 有部分注入 |
不會覆蓋setter屬性 | 會覆蓋setter屬性 |
任意修改都會建立一個新實例 | 任意修改不會建立一個新實例 |
適用於設置不少屬性 | 適用於設置少許屬性 |
10)BeanFactory 和 ApplicationContext 的區別
BEANFactory | ApplicationContext |
---|---|
懶加載 | 即時加載 |
不支持國際化 | 支持國際化 |
不支持基於依賴的註解 | 支持基於依賴的註解 |
11)ApplicationContext一般的實現是什麼
12)Spring 支持的做用域
13)spring 自動裝配 bean 有哪些方式
14)怎樣開啓註解裝配
在Spring配置文件中配置 <context:annotation-config/>
元素
15)@Autowired 和 @Resource 的區別
16)spring 事務實現方式有哪些
17)Spring的事務傳播行爲
18)spring 的事務隔離
髒讀:
表示一個事務可以讀取另外一個事務中還未提交的數據,好比:某個事務嘗試插入記錄A,此時該事務還未提交,而後另外一個事務嘗試讀取到了記錄A不可重複讀:
是指一個事務內,屢次讀同一個數據,可是讀出來的結果是不同的幻讀:
指同一個事務內屢次查詢返回的結果集不同,好比:另一個事務新增或刪除第一個事務結果集裏面的數據,同一個記錄的數據內容別修改了,全部數據行的記錄就變多或者變少了。
不可重複讀通常是在修改數據的狀況下,幻讀通常是新增或者刪除的狀況下
19)Spring AOP and AspectJ AOP 有什麼區別
20)Spring AOP裏面的幾個名詞
21)Spring通知有哪些類型
22)spring bean 容器的生命週期是什麼樣的
23) DispatcherServlet 的工做流程
本文較長,覆蓋範圍較廣,但深度不深,所以先縱覽斬offer,再融會而貫通
今天的你多努力一點,明天的你就能少說一句求人的話!好久好久以前,有個傳說,聽說:
看完不讚,都是壞蛋