Spring框架是一個為Java應用程式的開發提供了綜合、廣泛的基礎性支持的Java平臺。Spring幫助開發者解決了開發中基礎性的問題,使得開發人員可以專註於應用程式的開發。 近兩年來,許多大廠在面試中都會頻繁問到Spring相關,記得第一次去阿裡面試時,可以說是慘遭“虐待”,被面試官逼問得啞口無 ...
Spring框架是一個為Java應用程式的開發提供了綜合、廣泛的基礎性支持的Java平臺。Spring幫助開發者解決了開發中基礎性的問題,使得開發人員可以專註於應用程式的開發。
近兩年來,許多大廠在面試中都會頻繁問到Spring相關,記得第一次去阿裡面試時,可以說是慘遭“虐待”,被面試官逼問得啞口無言,尤其是Spring部分,基本上是一問三不知,也怪自己沒有做好準備,所以才交了白卷。
離上次面試阿裡失敗之後,回去狠狠複習了一波,這次離上次的面試已經過去半年了,如今已經成功拿下阿裡offer,即將入職。特獻上自己的面經,但提示一下,僅供參考哦!
福利:下麵內容涉及到了阿裡的面試真題(含答案),以及我自己珍藏的Spring相關的訓練題集,另外還有整理出來的Spring學習文檔和學習筆記,包括一些實戰書籍,需要打包帶走這些資料的,加微信馬上打包帶走
初面阿裡,一問Spring三不知
- 自我介紹
- 講一件你印象最深刻的事沒事怎麼解決的?
- JAVA垃圾回收機制怎麼工作的?
- AOP是怎麼實現的?
- TCP/UDP的區別是什麼?
- MAP講一下你對MAP的認識,然後談一下HsahMap的性能,主要談一下哈希衝撞
- 創造線程的幾種方式,Thread和Runnable介面有什麼區別?
- 說一下你做的聊天工具,如果遇到服務突然卡頓,怎麼解決?
- 講一下你對於Spring框架的瞭解
- 在Spring框架中如何更有效地使用JDBC?
- 你可以在Spring中註入一個null 和一個空字元串嗎?
- 什麼是Spring MVC?
- Mysql資料庫,索引是怎麼使用的。
- 你對分散式是否有所瞭解
- 你對數據結構瞭解麽
- 淺析HashMap與ConcurrentHashMap的線程安全性
- 堆排序,快速排序
- 資料庫的四大特征,資料庫的隔離級別,
- 線程同步機制用的什麼?當初為什麼選擇這個機制?
- 互斥和條件變數區別?互斥是阻塞的嗎?當初為什麼選擇阻塞的機制?
- JVM有哪三種垃圾回收器?
- 吞吐量優先選擇什麼垃圾回收器?響應時間優先呢?
- 如何進行JVM調優?有哪些方法?
- 如何理解記憶體泄漏問題?有哪些情況會導致記憶體泄露?如何解決?
- 從分散式系統部署角度考慮,分哪幾層?
- 如何解決業務層的數據訪問問題?
- 為瞭解決資料庫伺服器的負擔,如何做資料庫的分佈?
這些資料加微信馬上打包帶走
我的Spring 題庫
Spring 概述:
- 什麼是 Spring?
- 使用Spring 框架的好處是什麼?
- 使用Spring 框架的好處是什麼?
- 核心容器(應用上下文) 模塊
- BeanFactory – BeanFactory 實現舉例
- XMLBeanFactory
- 解釋AOP模塊
- 解釋JDBC抽象和DAO模塊
- 解釋對象/關係映射集成模塊
- 解釋WEB 模塊
- Spring配置文件
- 什麼是Spring IOC 容器?
- IOC的優點是什麼?
- ApplicationContext通常的實現是什麼?
- Bean 工廠和 Application contexts 有什麼區別?
- 一個Spring的應用看起來象什麼?
依賴註入:
- 什麼是Spring的依賴註入?
- 有哪些不同類型的IOC(依賴註入)方式?
- 哪種依賴註入方式你建議使用,構造器註入,還是 Setter方法註入?
Spring Beans:
- 什麼是Spring beans?
- 一個 Spring Bean 定義 包含什麼?
- 如何給Spring 容器提供配置元數據?
- 你怎樣定義類的作用域?
- 解釋Spring支持的幾種bean的作用域
- Spring框架中的單例bean是線程安全的嗎?
- 解釋Spring框架中bean的生命周期
一張圖搞懂Spring bean的完整生命周期:
- 哪些是重要的bean生命周期方法? 你能重載它們嗎?
- 什麼是Spring的內部bean?
- 在 Spring中如何註入一個java集合?
- 什麼是bean 裝配?
- 什麼是bean 的自動裝配?
- 解釋不同方式的自動裝配
- 自動裝配有哪些局限性?
- 你可以在Spring中註入一個null 和一個空字元串嗎?
Spring註解:
- 什麼是基於Java的Spring註解配置?給一些註解的例子
- 什麼是基於註解的容器配置?
- 怎樣開啟註解裝配?
- @Required 註解
- @Autowired 註解
- @Qualifier 註解
Spring數據訪問:
- 在Spring框架中如何更有效地使用JDBC?
- JdbcTemplate
- Spring對DAO的支持
- 使用Spring通過什麼方式訪問Hibernate?
- Spring支持的ORM
- 如何通過HibernateDaoSupport將Spring和Hibernate結合起來?
- Spring支持的事務管理類型
- Spring框架的事務管理有哪些優點?
- 你更傾向用那種事務管理類型?
Spring面向切麵編程(AOP):
- 解釋AOP
- Aspect 切麵
- 在Spring AOP 中,關註點和橫切關註的區別是什麼?
- 連接點
- 通知
- 切點
- 什麼是引入?
- 什麼是目標對象?
- 什麼是代理?
- 有幾種不同類型的自動代理?
- 什麼是織入。什麼是織入應用的不同點?
- 解釋基於XML Schema方式的切麵實現
- 解釋基於註解的切麵實現
Spring 的 MVC:
- 什麼是Spring的MVC框架?
- DispatcherServlet
- WebApplicationContext
- 什麼是Spring MVC框架的控制器?
- @Controller 註解
- @RequestMapping 註解
Spring 題庫答案
Spring 學習文檔及筆記
Spring 編程:
- 第1章 Spring介紹
- 第2章 入門
- 第3章 在Spring中引入IoC和DI
- 第4章 詳述Spring配置和Spring Boot
- 第5章 Spring AOP
- 第6章 Spring JDBC支持
- 第7章 在Spring中使用Hibernate
- 第8章 在Spring中使用JPA 2進行數數據訪問
- 第9章 事務管理
- 第10章 使用類型轉換和格式化進行驗證
- 第11章 任務調度
- 第12章 使用Spring遠程處理
- 第13章 Spring測試
- 第14章 Spring中的腳本支持
- 第15章 應用程式監控
- 第16章 Web應用程式
SpringBoot 核心筆記:
- 一、Spring Boot入門
- 二、配置文件;
- 三、日誌
- 四、Web開發
- 五、Docker
- 六SpringBoot與數據訪問
- 七、啟動配置原理
- 八、自定義starter
Spring Boot 實戰:
- 第1章 入門
- 第2章 開發第一個應用程式
- 第3章 自定義配置
- 第4章 測試
- 第5章 Groovy與Spring Boot CLI
- 第6章 在Spring Boot中使用Grails
- 第7章 深入Actuator
- 第8章 部署Spring Boot應用程式
- 附錄A Spring Boot開發者工具
- 附錄B Spring Boot起步依賴
- 附錄C 配置屬性
- 附錄D Spring Boot依賴