1. 程式人生 > 其它 >Java攢了一個月的面試題及解答

Java攢了一個月的面試題及解答

Java攢了一個月的面試題及解答

第一個暴擊:Spring

上一份Spring的手繪思維腦圖(就像是個知識大綱總結),預覽一下Spring的知識點,心裡有個譜。不過這邊我是採用的截圖方式,為了把全部的內容都截取出來,所以整個就比較小,可能不是很清晰。

Spring面試真題(七大模組:一般問題+IOC+Beans+註解+資料訪問+AOP+MVC)

  • 一般問題

1. 不同版本的 Spring Framework 有哪些主要功能?
2. 什麼是 Spring Framework?
3. 列舉 Spring Framework 的優點
4. Spring Framework 有哪些不同的功能?
5. Spring Framework 中有多少個模組,它們分別是什麼?
6. 什麼是 Spring 配置檔案?
7. Spring 應用程式有哪些不同元件?
8. 使用 Spring 有哪些方式?

  • IOC

9. 什麼是 Spring IOC 容器?
10. 什麼是依賴注入?
11. 可以通過多少種方式完成依賴注入?
12. 區分建構函式注入和 setter 注入。
13. spring 中有多少種 IOC 容器?
14. 區分 BeanFactory 和 ApplicationContext。
15. 列舉 IoC 的一些好處。
16. Spring IoC 的實現機制。

  • Beans

17. 什麼是 spring bean?
18. spring 提供了哪些配置方式?
19. spring 支援集中 bean scope?
20. spring bean 容器的生命週期是什麼樣的?
21. 什麼是 spring 的內部 bean?
22. 什麼是 spring 裝配?
23. 自動裝配有哪些方式?
24. 自動裝配有什麼侷限?

  • 註解

25. 什麼是基於註解的容器配置?
26. 如何在 spring 中啟動註解裝配?
27. @Component, @Controller, @Repository, @Service 有何區別?
28. @Required 註解有什麼用?
29. @Autowired 註解有什麼用?
30. @Qualifier 註解有什麼用?
31. @RequestMapping 註解有什麼用?

  • 資料訪問

32. spring DAO 有什麼用?
33. 列舉 Spring DAO 丟擲的異常。
34. spring JDBC API 中存在哪些類?
35. 使用 Spring 訪問 Hibernate 的方法有哪些?
36. 列舉 spring 支援的事務管理型別
37. spring 支援哪些 ORM 框架?

  • AOP

38. 什麼是 AOP?
39. 什麼是 Aspect?
40. 什麼是切點(JoinPoint)
41. 什麼是通知(Advice)?
42. 有哪些型別的通知(Advice)?
43. 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之處
44. AOP 有哪些實現方式
45. Spring AOP and AspectJ AOP 有什麼區別?
46. 如何理解 Spring 中的代理?
47. 什麼是編織(Weaving)?

  • MVC

48. Spring MVC 框架有什麼用?
49. 描述一下 DispatcherServlet 的工作流程
50. 介紹一下 WebApplicationContext

完整的答案解析如下(總共有18頁)

Spring進階學習筆記

  • Spring高階原始碼筆記
  • Spring實戰(第3版)

第二個暴擊:SpringCloud

思維腦圖--SpringCloud微服務實戰思維腦圖(xmind)

SpringCloud面試真題

問題一:什麼是 Spring Cloud?
問題二:使用 Spring Cloud 有什麼優勢?
問題三:服務註冊和發現是什麼意思?Spring Cloud 如何實現?
問題四:負載平衡的意義什麼?
問題五:什麼是 Hystrix?它如何實現容錯?
問題六:什麼是 Hystrix 斷路器?我們需要它嗎?
問題七:什麼是 Spring Cloud Bus?我們需要它嗎?
問題八:什麼是 Netflix Feign?它的優點是什麼?

完整的答案解析如下(總共6頁)

SpringCloud進階學習

  • SpringCloud Alibaba微服務筆記
  • SpringCloud參考指南

第三個暴擊:SpringBoot

思維腦圖--SpringBoot思維腦圖(xmind)

SpringBoot面試真題

問題一:Spring Boot、Spring MVC 和 Spring 有什麼區別?
問題二:什麼是自動配置?
問題三:什麼是 Spring Boot Stater ?
問題四:你能否舉一個例子來解釋更多 Staters 的內容?
問題五:Spring Boot 還提供了其它的哪些 Starter Project Options?
問題六:Spring 是如何快速建立產品就緒應用程式的?
問題七:建立一個 Spring Boot Project 的最簡單的方法是什麼?
問題八:Spring Initializr 是建立 Spring Boot Projects 的唯一方法嗎?
問題九:為什麼我們需要 spring-boot-maven-plugin? 問題十:如何使用 SpringBoot 自動重灌我的應用程式?
問題十一 :什麼是嵌入式伺服器?我們為什麼要使用嵌入式伺服器呢?
問題十二:如何在 Spring Boot 中新增通用的 JS 程式碼?
問題十三:什麼是 Spring Data?
問題十四:什麼是 Spring Data REST?
問題十五:path=”users”, collectionResourceRel=”users” 如何與 Spring Data Rest 一起使用?
問題十六:當 Spring Boot 應用程式作為 Java 應用程式執行時,後臺會發生什麼?
問題十七:我們能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?
問題十八:如何使用 Spring Boot 生成一個 WAR 檔案?
問題十九:如何使用 Spring Boot 部署到不同的伺服器?
問題二十:RequestMapping 和 GetMapping 的不同之處在哪裡?
問題二十一:為什麼我們不建議在實際的應用程式中使用 Spring Data Rest?
問題二十二:在 Spring Initializer 中,如何改變一個專案的包名字?
問題二十三:可以配置 application.propertierde 的完整的屬性列表在哪裡可以找到?
問題二十四:JPA 和 Hibernate 有哪些區別?
問題二十五:業務邊界應該從哪一層開始?
問題二十六:使用 Spring Boot 啟動連線到記憶體資料庫 H2 的 JPA 應用程式需要哪些依賴項?
問題二十七:如何不通過任何配置來選擇 Hibernate 作為 JPA 的預設實現?
問題二十八:指定的資料庫連線資訊在哪裡?它是如何知道自動連線至 H2 的?
問題二十九:我們如何連線一個像 MySQL 或者Orcale 一樣的外部資料庫?
問題三十:Spring Boot 配置的預設 H2 資料庫的名字是上面?為什麼預設的資料庫名字是 testdb?
問題三十一:如果 H2 不在類路徑裡面,會出現上面情況?
問題三十二:你能否舉一個以 ReadOnly 為事務管理的例子?
問題三十三:釋出 Spring Boot 使用者應用程式自定義配置的最好方法是什麼?
問題三十四:配置檔案的需求是什麼?
問題三十五:如何使用配置檔案通過 Spring Boot 配置特定環境的配置?

答案解析如下(21頁)

SpringBoot進階學習

  • 深入淺出SpringBoot
  • Spring Boot教程

最後一個:SpringMVC

思維腦圖--SpringMVC思維腦圖

SpringMVC面試真題

1. 什麼是 SpringMvc?
2. Spring MVC 的優點:
3. SpringMVC 工作原理?
4. SpringMVC 流程?
5. SpringMvc 的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
6. 如果你也用過 struts2.簡單介紹下 springMVC 和 struts2 的區別有哪些?
7. SpingMvc 中的控制器的註解一般用哪個,有沒有別的註解可以替代?
8. @RequestMapping 註解用在類上面有什麼作用?
9. 怎麼樣把某個請求對映到特定的方法上面?
10. 如果在攔截請求中,我想攔截 get 方式提交的方法,怎麼配置?
11. 怎麼樣在方法裡面得到 Request,或者 Session?
12. 我想在攔截的方法裡面得到從前臺傳入的引數,怎麼得到?
13. 如果前臺有很多個引數傳入,並且這些引數都是一個物件的,那麼怎麼樣快速得到這個物件?
14. SpringMvc 中函式的返回值是什麼?
15. SpringMVC 怎麼樣設定重定向和轉發的?
16. SpringMvc 用什麼物件從後臺向前臺傳遞資料的?
17. SpringMvc 中有個類把檢視和資料都合併的一起的,叫什麼?
18. 怎麼樣把 ModelMap 裡面的資料放入 Session 裡面?
19. SpringMvc 怎麼和 AJAX 相互呼叫的?
20. 講下 SpringMvc 的執行流

答案解析如下(4頁)

最後

給讀者們一個小福利,有需要這些資料的朋友們可以點選我,即可免費領取資料!

ActiveMQ訊息中介軟體面試專題

  • 什麼是ActiveMQ?
  • ActiveMQ伺服器宕機怎麼辦?
  • 丟訊息怎麼辦?
  • 持久化訊息非常慢怎麼辦?
  • 訊息的不均勻消費怎麼辦?
  • 死信佇列怎麼辦?
  • ActiveMQ中的訊息重發時間間隔和重發次數嗎?

ActiveMQ訊息中介軟體面試專題解析拓展:


redis面試專題及答案

  • 支援一致性雜湊的客戶端有哪些?
  • Redis與其他key-value儲存有什麼不同?
  • Redis的記憶體佔用情況怎麼樣?
  • 都有哪些辦法可以降低Redis的記憶體使用情況呢?
  • 檢視Redis使用情況及狀態資訊用什麼命令?
  • Redis的記憶體用完了會發生什麼?
  • Redis是單執行緒的,如何提高多核CPU的利用率?

Spring面試專題及答案

  • 談談你對 Spring 的理解
  • Spring 有哪些優點?
  • Spring 中的設計模式
  • 怎樣開啟註解裝配以及常用註解
  • 簡單介紹下 Spring bean 的生命週期

Spring面試答案解析拓展


高併發多執行緒面試專題

  • 現在有執行緒 T1、T2 和 T3。你如何確保 T2 執行緒在 T1 之後執行,並且 T3 執行緒在 T2 之後執行?
  • Java 中新的 Lock 介面相對於同步程式碼塊(synchronized block)有什麼優勢?如果讓你實現一個高效能快取,支援併發讀取和單一寫入,你如何保證資料完整性。
  • Java 中 wait 和 sleep 方法有什麼區別?
  • 如何在 Java 中實現一個阻塞佇列?
  • 如何在 Java 中編寫程式碼解決生產者消費者問題?
  • 寫一段死鎖程式碼。你在 Java 中如何解決死鎖?

高併發多執行緒面試解析與拓展


jvm面試專題與解析

  • JVM 由哪些部分組成?
  • JVM 記憶體劃分?
  • Java 的記憶體模型?
  • 引用的分類?
  • GC什麼時候開始?

JVM面試專題解析與拓展!