過年以後相信有一部分的人,早已磨刀霍霍向大廠。勢必要大展拳腳,必將在大廠內創出一片天地。可是,想必你們都知道:最近幾年的最嚴重的互聯網寒冬來臨,各位兄弟都會說「江湖再見」。耳邊老是充刺着流言蜚語,這個地方裁人了,這個地方縮減HC。弄得人心慌慌。年後將是一片血雨腥風,程序界的江湖將在這一天精彩斑斕。前端
但咱們要知道,寒冬之中,什麼是最珍貴,就讓鄙人告訴你:人才。只要有過硬的技術和裝備,在逆風直下的狀況下,我們也能迎難而上,打他個戳手不及。不是「李雲龍」大哥說:「過狹路相逢勇者勝。」java
金三銀四俗稱跳槽黃金季,雖然今年的狀況可能「特殊」點,但也不影響你們拿高薪,去更牛逼的公司,認識更多大牛,提高本身的職場競爭力的想法。mysql
那怎樣才能經過BAT面試官的考覈?怎樣成爲一名Offer收割機?程序員
收割Offer有一個最直接的公示:Offer=硬實力+軟實力+好的心態,三者缺一不可。web
這裏說的硬實力,也就是技術上的真實積累。面試
怎麼來體現你的技術實力?總的分爲:技術深度和技術廣度這兩方面。算法
技術廣度通俗的講,就是你熟悉該技術點的使用以及基本原理。通常面試官在面試首輪會問不少技術點,來考覈你是否能正確使用。spring
技術深度通俗的講,就是深刻技術原理的同時,還知道優劣勢比較,以及同類產品的橫向和縱向比較,以及很是重要的應用場景。好比:消息隊列MQ,市面有哪些MQ,RabbitMQ、RocketMQ、ActiveMQ…等等他們各自的架構設計,優劣勢比較,各自的應用場景(併發量和使用優劣比較等)。以及MQ的消息去重,如何保證消息不丟失等。這樣就沿着MQ這個話題,深刻的去考覈你對MQ的掌握程度。sql
技術包括了:數據庫
網絡編程
算法和數據結構
JVM
併發編程
數據庫
分佈式架構設計
負載均衡
軟實力在面試過程當中也尤其重要(有時候真的要更重要),主要是指和麪試官的溝通,對一個問題的闡述方式和表達方式,邏輯思惟能力等。
面試過程全程微笑,項目描述須要嚴謹的表述,我的的優缺點基本要作到隨口而出…等這些其實就是軟實力的體現。
一個好的面試問題能使應聘者的本性顯露出來——誠實,可信,反應敏銳等等。這裏我整理出關於 Spring 的面試題。但願這個總結能爲面試官和應聘者提供一些參考,若你能垂手可得回答全部問題,相信這一塊的面試就沒必要擔憂了。
PS:因文章篇幅問題,我這裏沒有所有進行解答,我已經整理打包成PDF文檔,有須要的能夠關注個人公衆號【風平浪靜如碼】獲取資料!
1.什 麼 是 spring?
2.使 用 Spring 框 架 的 好 處 是 什 麼 ?
3.Spring 由 哪 些 模 塊 組 成?
4.核 心 容 器 ( 應 用 上 下 文) 模 塊。
這 是 基 本 的 Spring 模 塊 , 提 供 spring 框 架 的 基 礎 功能 ,BeanFactory 是 任 何 以 spring 爲 基 礎 的 應 用 的 核心 。Spring 框 架 建 立 在 此 模 塊 之 上 , 它 使 Spring 成 爲一 個 容 器。
5.BeanFactory – BeanFactory 實 現 舉 例 。
Bean 工 廠 是 工 廠 模 式 的 一 個 實 現 , 提 供 了 控 制 反 轉 功能 , 用 來 把 應 用 的 配 置 和 依 賴 從 正 真 的 應 用 代 碼 中 分離 。最 常 用 的 BeanFactory 實 現 是 XmlBeanFactory 類 。
6.XMLBeanFactory
最 常 用 的 就 是org.springframework.beans.factory.xml.XmlBeanFactory , 它 根 據 XML 文 件 中 的 定 義 加 載 beans。 該 容 器從 XML 文 件 讀 取 配 置 元 數 據 並 用 它 去 創 建 一 個 完 全 配 置的 系 統 或 應 用。
7.解 釋 AOP 模 塊
AOP 模 塊 用 於 發 給 我 們 的 Spring 應 用 作 面 向 切 面 的 開發 , 很 多 支 持 由 AOP 聯 盟 提 供 , 這 樣 就 確 保 了 Spring和 其 他 AOP 框 架 的 共 通 性 。 這 個 模 塊 將 元 數 據 編 程 引 入Spring。
8.解 釋 JDBC 抽 象 和 DAO 模 塊。
通 過 使 用 JDBC 抽 象 和 DAO 模 塊 , 保 證 數 據 庫 代 碼 的 簡潔 , 並 能 避 免 數 據 庫 資 源 錯 誤 關 閉 導 致 的 問 題 , 它 在 各類 不 同 的 數 據 庫 的 錯 誤 信 息 之 上 , 提 供 了 一 個 統 一 的 異常 訪 問 層 。 它 還 利 用 Spring 的 AOP 模 塊 給 Spring 應用 中 的 對 象 提 供 事 務 管 理 服 務 。
9.解 釋 對 象/關 系 映 射 集 成 模 塊 。
10.解 釋 WEB 模 塊 。
11.Spring 配 置 文 件
12.什 麼 是 Spring IOC 容 器?
Spring IOC 負 責 創 建 對 象 , 管 理 對 象 ( 通 過 依 賴 注 入(DI) , 裝 配 對 象 , 配 置 對 象 , 並 且 管 理 這 些 對 象 的 整個 生 命 周 期。
13.IOC 的 優 點 是 什 麼?
IOC 或 依 賴 注 入 把 應 用 的 代 碼 量 降 到 最 低 。 它 使 應 用 容易 測 試 , 單 元 測 試 不 再 需 要 單 例 和 JNDI 查 找 機 制 。 最小 的 代 價 和 最 小 的 侵 入 性 使 鬆 散 耦 合 得 以 實 現 。IOC 容器 支 持 加 載 服 務 時 的 餓 漢 式 初 始 化 和 懶 加 載 。
14.ApplicationContext 通 常 的 實 現 是 什 麼?
15.Bean 工 廠 和 Application contexts 有 什 麼 區別?
Application contexts 提 供 一 種 方 法 處 理 文 本 消 息 , 一個 通 常 的 作 法 是 加 載 文 件 資 源 ( 比 如 鏡 像 ) , 它 們 可 以向 注 冊 爲 監 聽 器 的 bean 發 布 事 件 。 另 外 , 在 容 器 或 容器 內 的 對 象 上 執 行 的 那 些 不 得 不 由 bean 工 廠 以 程 序 化方 式 處 理 的 操 做 , 可 以 在 Application contexts 中 以 聲明 的 方 式 處 理 。Application contexts 實 現 了MessageSource 接 口 , 該 接 口 的 實 現 以 可 插 拔 的 方 式 提供 獲 取 本 地 化 消 息 的 方 法 。
16.一 個 Spring 的 應 用 看 起 來 象 什 麼?
17.什 麼 是 Spring 的 依 賴 注 入?
18.有 哪 些 不 同 類 型 的 IOC( 依 賴 注 入 )方 式?
19.哪 種 依 賴 注 入 方 式 你 建 議 使 用 , 構 造 器 注 入 , 還 是Setter 方 法 注 入?
20.什 麼 是 Spring beans?
21.一 個 Spring Bean 定 義 包 含 什 麼?
22.如 何 給 Spring 容 器 提 供 配 置 元 數 據?
23.你 怎 樣 定 義 類 的 做 用 域?
當 定 義 一 個 在 Spring 裏 , 我 們 還 能 給 這 個bean 聲 明 一 個 做 用 域 。 它 可 以 通 過 bean 定 義 中 的scope 屬 性來 定 義 。 如 , 當 Spring 要 在 需 要 的 時 候 每 次生 產 一 個 新 的 bean 實 例 ,bean 的 scope 屬 性 被 指 定 爲prototype。 另 一 方 面 , 一 個 bean 每 次 使 用 的 時 候 必 須返 回 同 一 個 實 例 , 這 個 bean 的 scope 屬 性 必 須 設 爲singleton。
24.解 釋 Spring 支 持 的 幾 種 bean 的 做 用 域 。
Spring 框 架 支 持 以 下 五 種 bean 的 做 用 域 :
25.Spring 框 架 中 的 單 例 bean 是 線 程 安 全 的 嗎?
不 ,Spring 框 架 中 的 單 例 bean 不 是 線 程 安 全 的 。
26.解 釋 Spring 框 架 中 bean 的 生 命 周 期 。
27.哪 些 是 重 要 的 bean 生 命 周 期 方 法 ? 你 能 重 載 它 們嗎?
28.什麼是 Spring 的內部 bean?
29.在 Spring 中如何注入一個 java 集合?
30.什麼是 bean 裝配?
31.什麼是 bean 的自動裝配 ?
32.解釋不一樣方式的自動裝配
33.自動裝配有哪些侷限性?
34.你能夠在 Spring 中注入一個 null 和一個空字符串嗎?
35.什 麼 是 基 於 Java 的 Spring 注 解 配 置? 給 一 些 注 解的 例 子
36.什 麼 是 基 於 注 解 的 容 器 配 置?
37.怎 樣 開 啓 注 解 裝 配?
38.@Required 注 解
39.@Autowired 注 解
40.@Qualifier 注 解
41.在 Spring 框 架 中 如 何 更 有 效 地 使 用 JDBC?
42.JdbcTemplate
43.Spring 對 DAO 的 支 持
44.使 用 Spring 通 過 什 麼 方 式 訪 問 Hibernate?
45.Spring 支 持 的 ORM
46.如 何 通 過 HibernateDaoSupport 將 Spring 和Hibernate 結 合 起 來?
47.Spring 支 持 的 事 務 管 理 類 型
48.Spring 框 架 的 事 務 管 理 有 哪 些 優 點?
49.你 更 傾 向 用 那 種 事 務 管 理 類 型?
50.解 釋 AOP
51.Aspect 切 面
52.在 Spring AOP 中 , 關 注 點 和 橫 切 關 注 的 區 別 是 什麼?
53.連 接 點
連 接 點 代 表 一 個 應 用 程 序 的 某 個 位 置 , 在 這 個 位 置 我 們可 以 插 入 一 個 AOP 切 面 , 它 實 際 上 是 個 應 用 程 序 執 行Spring AOP 的 位 置 。
54.通 知
通 知 是 個 在 方 法 執 行 前 或 執 行 後 要 作 的 動 做 , 實 際 上 是程 序 執 行 時 要 通 過 SpringAOP 框 架 觸 發 的 代 碼 段 。 Spring 切 面 可 以 應 用 五 種 類 型 的 通 知 :
55.切 點
切 入 點 是 一 個 或 一 組 連 接 點 , 通 知 將 在 這 些 位 置 執 行 。可 以 通 過 表 達 式 或 匹 配 的 方 式 指 明 切 入 點 。
56.什 麼 是 引 入?
57.什 麼 是 目 標 對 象?
58.什 麼 是 代 理?
59.有 幾 種 不 同 類 型 的 自 動 代 理?
60.什 麼 是 織 入 。 什 麼 是 織 入 應 用 的 不 同 點?
61. 解 釋 基 於 XML Schema 方 式 的 切 面 實 現。
62.. 解 釋 基 於 注 解 的 切 面 實 現
63.什 麼 是 Spring 的 MVC 框 架?
64.DispatcherServlet
Spring 的 MVC 框 架 是 圍 繞 DispatcherServlet 來 設 計的 , 它 用 來 處 理 所 有 的 HTTP 請 求 和 響 應 。
65.WebApplicationContext
WebApplicationContext 繼 承 了 ApplicationContext並 增 加 了 一 些 WEB 應 用 必 備 的 特有 功 能 , 它 不 同 於 通常 的 ApplicationContext , 因 爲 它 能 處 理 主 題 , 並 找到 被 關 聯 的 servlet。
66.什 麼 是 Spring MVC 框 架 的 控 制 器?
控 制 器 提 供 一 個 訪 問 應 用 程 序 的 行 爲 , 此 行 爲 通 常 通 過服 務 接 口 實 現 。 控 制 器 解 析 用 戶 輸 入 並 將 其 轉 換 爲 一 個由 視 圖 呈 現 給 用 戶 的 模 型 。Spring 用 一 個 非 常 抽 象 的 方 式 實 現 了 一 個 控 制 層 , 允 許 用 戶 創 建 多 種 用 途 的 控 制器。
67.@Controller 注 解
68.@RequestMapping 注 解
1.什麼是 Spring 框架??
Spring 框架是一個爲 Java 應用程序的開發提供了綜合、普遍的基礎性支持的 Java 平臺。Spring 幫助開發者解決了開發中基礎性的問題,使得開發人員能夠專一於應用程序的開發。Spring 框架自己亦是按照設計模式精心打造,這使得咱們能夠在開發環境中安心的集成 Spring 框架,沒必要擔憂 Spring 是如何在後臺進行工做的。
2.使用 Spring 框架能帶來哪些好處?
3.什麼是控制反轉(IOC)?什麼是依賴注入?
4.請解釋下 Spring 框架中的 IoC?
5.BeanFactory 和 ApplicationContext 有什麼區別?
6.Spring 有幾種配置方式?
將 Spring 配置到應用開發中有如下三種方式:
7.如何用基於 XML 配置的方式配置 Spring?
8.如何用基於 Java 配置的方式配置 Spring?
9.怎樣用註解的方式配置 Spring?
10.請解釋 Spring Bean 的生命週期?
11.Spring Bean 的做用域之間有什麼區別?
Spring 容器中的 bean 能夠分爲 5 個範圍。全部範圍的名稱都是自說明的,可是爲了不混淆,仍是讓咱們來解釋一下:
12.什麼是 Spring inner beans?
13.Spring 框架中的單例 Beans 是線程安全的麼?
14.請舉例說明如何在 Spring 中注入一個 Java Collection?
15.如何向 Spring Bean 中注入一個 Java.util.Properties?
16.請解釋 Spring Bean 的自動裝配?
17.請解釋自動裝配模式的區別?
18.如何開啓基於註解的自動裝配?
19.請舉例解釋@Required 註解?
20.請舉例解釋@Autowired 註解?
21.請舉例說明@Qualifier 註解?
22.構造方法注入和設值注入有什麼區別?
23.Spring 框架中有哪些不一樣類型的事件?
24.FileSystemResource 和 ClassPathResource 有何區別?
在 FileSystemResource 中須要給出 spring-config.xml 文件在你項目中的相對路徑或者絕對路徑。在ClassPathResource中 spring 會在 ClassPath 中自動搜尋配置文件,因此要把ClassPathResource 文件放在 ClassPath 下。
若是將 spring-config.xml 保存在了 src 文件夾下的話,只需給出配置文件的名稱便可,由於 src 文件夾是默認。
簡而言之,ClassPathResource 在環境變量中讀取配置文件,FileSystemResource 在配置文件中讀取配置文件。
25.Spring 框架中都用到了哪些設計模式?
Spring 框架中使用到了大量的設計模式,下面列舉了比較有表明性的:
26.談談你對 spring IOC 和 DI 的理解,它們有什麼區別?
27.BeanFactory 接口和 ApplicationContext 接口有什麼區別?
28.spring 配置 bean 實例化有哪些方式?
29.簡單的說一下 spring 的生命週期?
30.請介紹一下 Spring 框架中 Bean 的生命週期和做用域
31.Bean 注入屬性有哪幾種方式?
spring 支持構造器注入和 setter 方法注構造器注入, 經過元素完成注入 setter 方法注入,經過元素完成注入【開發中經常使用方式】
32.什麼是 AOP,AOP 的做用是什麼?
33.Spring 的核心類有哪些,各有什麼做用?
34.Spring 裏面如何配置數據庫驅動?
35.Spring 裏面 applicationContext.xml 文件能不能改爲其餘文件名?
36.Spring 裏面如何定義 hibernate mapping?
37.Spring 如何處理線程併發問題?
38.爲何要有事物傳播行爲?
39.介紹一下 Spring 的事物管理
40.通知有哪些類型?
沒有人會討厭和拒絕認真準備面試的人,因此不要認爲面試就是必須用一個「素顏」的你去「真誠」的面對。
因文章篇幅問題,我這裏沒有所有進行解答,我已經整理打包成PDF文檔,有須要的能夠關注個人公衆號【風平浪靜如碼】獲取資料!
最後祝你們工做順利,升職加薪,面試都能經過,offer拿到手軟,早日找到心儀的工做~
部分資料展現
最後,用 Martin Fowler 的一句話做爲結尾:「任何傻瓜都能寫計算機能理解的代碼,優秀的程序員編寫人類可以理解的代碼。」(Any fool can write code that a computer can understand. Good programmers write code that humans can understand)