Spring 和 Spring Boot 面試指南-200個問題和解答

使用 Spring、 Spring Boot、 RESTful、 SOAP Web 服務和 Spring MVC ,為你的 Spring 和 Spring Boot 面試做好準備

報名參加課程

從這 6 小時的課程,你會學到

  • 你將學習如何在 Spring、 Spring Boot 和 Spring MVC 這些主題中回答 200 個面試問題
  • 你將學習如何回答有關 JPA、 Spring Data、 Spring Data JPA、 Spring AOP 的基礎問題
  • 你將學習使用 Spring 和 Spring Boot 回答關於 RESTful Web Services 和 SOAP Web Services 的問題
  • 你將學習回答關於 Spring 框架的基礎問題-IOC,應用程式上下文( application context ),相吸注入,範圍和元件掃描
  • 你將學習 Spring annotation -@component,@service,@repository,@controller,@autowired,@primary,@qualifier,@configuration
  • 你將瞭解 Sprint Boot 起動器,自動配置,執行器和外部化配置的基本功能
  • 課程將向你介紹使用 Spring 和 Spring Boot 的最佳實踐
  • 課程將向你介紹使用 Spring MVC 和 Spring REST 處理驗證錯誤的方法
  • 我們將向你介紹用 RESTful 服務進行版本控制、內容談判的方法
  • 你將瞭解用 Swagger 記錄 RESTful 服務的最佳實踐

要求

  • 我們使用 Eclipse 作為 IDE 來展示程式碼範例
  • 你應該有 Java 和 Spring 的程式設計經驗

課程說明

在面試前6個小時快速複習所有重要的 Spring 和 Spring Boot 的概念怎麼樣?

Spring? 是的。 Spring Boot ? 包括在內。 Spring MVC? 是的。 Spring REST? 是的。 Spring AOP? ? 是的。

Spring JDBC? 包括在內。 Spring Data JPA? ? 是的。 當然。 Hibernate? 是的。

Web Services? 是的。 SOAP? 是的。當然, REST API? 絕對是!

******* 來自一些參加這門課程學生的評價*******

★★★★★ 對於 Spring Framework 複習課程來說,這是一個簡短而甜蜜的課程。 它將複習 Spring & Spring Boot 的大部分主題。 這門課程希望在短時間內更新在 Spring 框架上的知識。

★★★★★在短時間內複習 Spring 的概念和語法的最佳課程,以便準備面試。

★★★★★★★★很好的課程,闡述了 Spring Framework 的細節。 廣泛討論的Spring 主題 (框架、 MVC、 Boot、 Data、 JDBC、 JPA)、 單元和整合測試等將幫助每個人更深入地理解這些不那麼容易的問題。

★★★★★ 精心製作的課程,感謝 Ranga Karanam!

******* 課程概覽 *******

Spring 框架是有史以來最受歡迎的 Java 框架。 它隨著架構的變化而不斷發展。 Spring Boot 是最受歡迎的 Spring 專案之一。 Spring Boot 是用於開發 RESTful服務和微服務的最常用的 Java 框架。

為 Spring 面試做準備很棘手。 你需要回憶各式各樣的 Spring 模組和 Spring 專案,並準備回答問題。 你需要對 Spring 的新功能有一個很好的了解,並對你在專案中實現的概念有一定的了解。

這個課程幫助你準備 Spring 面試,包括 200 多個 Spring 面試的問題和答案,關於 Spring,Spring Boot,Spring MVC,Spring JDBC,JPA,AOP,RESTful Services 和 SOAP Web Services。

******* 從 in28Minutes 課程中你能期待什麼 *******

in28Minutes 建立了20個最暢銷的課程,為全世界25萬名學習者提供了令人驚歎的學習經歷。

這些課程都附帶了

使用最佳工具和框架的實際專案經驗

在問答部分提供友好的支援

完成課程後獲得免費的 Udemy 畢業證書

~ ~ ~ in28Minutes 的幾點評論 ~ ~

★★★★★ 優秀,令人難以置信。 他準備材料的方式和他教學的方式真的很棒。 多麼努力啊。 . 萬分感謝

★★★★★ 很多準備工作都是由老師進行的,這一點在整個課程中都可以看到。

★★★★★ 這個傢伙太棒了。 真的。 非常棒的教學技巧,並且很好地確保他所做的每一件事都被完全理解。

★★★★★ 驚人的課程。 用不到5分鐘的時間解釋了超級難的概念(我花了幾個小時在網上才找到了一個很好的解釋)。

現在就開始學習,點選註冊按鈕!

******* 在這個面試課程中討論的問題 *******

Spring

  1. 什麼是鬆耦合?
  2. 什麼是相依性?
  3. 什麼是(IOC) (Inversion of Control)?
  4. 什麼是相依注入?
  5. 你能否舉幾個相依注入的範例?
  6. 什麼是 Auto Wiring ?
  7. IOC 容器的重要作用是什麼?
  8. 什麼是 Bean Factory 和應用程式上下文( Application Context )?
  9. 你可以將 Bean Factory 與應用程式上下文進行比較嗎?
  10. 如何使用 Spring 建立應用程式上下文?
  11. Spring 如何知道在哪裡搜尋元件或 Bean?
  12. 什麼是元件掃描?
  13. 如何在 XML 和 Java 配置中定義元件掃描?
  14. Spring Boot 如何完成?
  15. @component 是什麼意思?
  16. @Autowired 代表什麼?
  17. Spring 中的 @Controller,@Component,@Repository 和 @Service Annotations有什麼區別?
  18. Bean 的預設範圍是什麼?
  19. Spring beans 是 thread safe 嗎?
  20. 其他可用的範圍是什麼?
  21. Spring 的 singleton 和四人幫的 singleton 有什麼不同?
  22. 相依性注入的不同型別有哪些?
  23. 什麼是 setter injection?
  24. 什麼是建構函式注入?
  25. 如何在 setter 和建構函式注入之間進行選擇?
  26. 為 Spring 建立應用程式上下文有哪些不同的選項?
  27. 用於 Spring 的 XML 和 Java 配置的區別是什麼?
  28. 如何在 Spring 的 XML 和 Java 配置之間進行選擇?
  29. Spring 是如何做Autowiring ?
  30. Autowiring 用的 Spring 有哪些不同的匹配方式?
  31. 如何使用 Spring 框架除錯問題?
  32. 你如何解決這個 NoUniqueBeanDefinitionException 例外?
  33. 如何解決 NoSuchBeanDefinitionException 例外?
  34. 什麼是 @Primary?
  35. 什麼是@Qualifier?
  36. 什麼是 CDI (Contexts and Dependency Injection) ?
  37. Spring 支援 CDI 嗎?
  38. 你是否建議使用 CDI 或 Spring Annotations?
  39. 不同版本的 Spring 的主要特性是什麼?
  40. Spring Framework 4.0的新特性是什麼?
  41. Spring Framework 5.0的新特性是什麼?
  42. 什麼是重要的 Spring 模組?
  43. 什麼是重要的 Spring 專案?
  44. 確保我們使用所有 Spring 相關相依的單一版本最簡單的方法是什麼?
  45. 請說出 Spring 框架中使用的一些設計模式?
  46. 你對 Spring 框架有什麼看法?
  47. 為什麼 Spring 這麼受歡迎?
  48. 你能描述一下 Spring 框架的全貌嗎?

Spring MVC

  1. 什麼是 Model 1架構?
  2. 什麼是 Model 2架構?
  3. 什麼是 Model 2 前端控制器架構?
  4. 你能在 Spring MVC 中展示一個控制器方法的範例嗎?
  5. 你能解釋一下 Spring MVC 中的簡單流程嗎?
  6. 什麼是 ViewResolver?
  7. 什麼是模型?
  8. 什麼是 ModelAndView?
  9. 什麼是請求對映( RequestMapping ) ?
  10. 什麼是 Dispatcher Servlet?
  11. 如何設定 Dispatcher Servlet?
  12. 什麼是表單支援物件?
  13. 如何使用 Spring MVC 進行驗證?
  14. 什麼是 BindingResult?
  15. 如何將驗證結果對映到你的 view ?
  16. 什麼是 Spring 表單標籤?
  17. 什麼是路徑變數?
  18. 什麼是模型屬性?
  19. 什麼是一個 Session Attribute?
  20. 什麼是一個 init binder?
  21. 如何使用 Spring 設定預設的日期格式?
  22. 為什麼 Spring MVC 如此受歡迎?

Spring Boot

  1. 什麼是 Spring Boot?
  2. Spring Boot 的重要目標是什麼?
  3. Spring Boot 的重要特性是什麼?
  4. 比較 Spring Boot 和 Spring?
  5. Compare Spring Boot vs Spring MVC?
  6. 比較 Spring Boot 和 Spring MVC?
  7. @SpringBootApplication 的重要性是什麼?
  8. 什麼是自動配置?
  9. 如何找到更多有關自動配置的資料?
  10. 什麼是嵌入式伺服器? 為什麼它很重要?
  11. Spring Boot 支援的其它嵌入式伺服器有哪些?
  12. 什麼是 Starter 專案?
  13. 你能給出一些重要的 starter 專案的範例嗎?
  14. 什麼是 Starter Parent ?
  15. Starter Parent 中定義了哪些不同的東西?
  16. Spring Boot 如何對其所有 Starter 專案實施一般的相依管理?
  17. 什麼是 Spring 初始化?
  18. 什麼是 application.properties?
  19. 在 application.properties 中可以自定義的一些重要內容是什麼?
  20. 如何使用 Spring Boot 外部化配置?
  21. 如何使用 Spring Boot 新增自定義應用程式屬性?
  22. 什麼是 @ConfigurationProperties?
  23. 什麼是一個 profile?
  24. 如何為特定的配置檔案定義 bean?
  25. 如何為特定配置檔案建立應用程式配置?
  26. 如何為不同的環境進行不同的配置?
  27. 什麼是 Spring Boot Actuator?
  28. 你如何使用 Spring Boot Actuator 監視 Web 服務?
  29. 你如何使用 Spring Boot 找到有關你的應用程式環境的更多資訊?
  30. 什麼是一個 CommandLineRunner?

Database 連接 – JDBC, Spring JDBC & JPA

什麼是 Spring JDBC? 跟 JDBC 有什麼不同?

什麼是 JdbcTemplate?

什麼是 RowMapper?

什麼是 JPA?

什麼是 Hibernate?

你如何在 JPA 定義一個 entity ?

什麼是一個 Entity Manager?

什麼是一個 Persistence Context?

你如何在 JPA 對映關係

JPA 中有哪些不同類型的關係?

如何在 JPA 中定義一對一對映?

在 JPA 中如何定義一對多對映?

在 JPA 中如何定義多對多對映?

如何在 Spring Context 中定義資料來源?

persistence.xml 有什麼用

如何配置 Entity Manager Factory 和 Transaction Manager?

如何定義 Spring-Hibernate 整合的 transaction 管理?

Spring Data

  1. 什麼是 Spring Data?
  2. 對 Spring Data 的需求是什麼?
  3. 什麼是 Spring Data JPA?
  4. 什麼是 CrudRepository?
  5. 什麼是 PagingAndSortingRepository?

單元測試

  1. Spring 框架如何使單元測試變得容易?
  2. 什麼是 Mockito?
  3. 你最喜歡的 mocking 框架是什麼?
  4. 如何使用 Mockito 模擬資料?
  5. 你使用的不同 mocking annotations 是什麼?
  6. 什麼是 MockMvc?
  7. 什麼是 @WebMvcTest?
  8. 什麼是 @MockBean?
  9. 如何使用 MockMVC 編寫單元測試?
  10. 什麼是 JSONAssert?
  11. 如何使用 Spring Boot 編寫整合測試?
  12. 什麼是 @SpringBootTest?
  13. 什麼是 @LocalServerPort?
  14. 什麼是 TestRestTemplate?

AOP

  1. 什麼是 cross cutting concerns?
  2. 如何在 web 應用程式中實現 cross cutting concerns?
  3. 如果你想記錄 ( log ) 每一個請求到一個 web 應用程式,你能想到什麼選項?
  4. 如果您想跟蹤每個請求的效能,你能想到什麼選項?
  5. 什麼是 AOP 中的 Aspect 和 Pointcut?
  6. AOP advices 的不同類型有哪些?
  7. 什麼是 weaving?
  8. 比較 Spring AOP 和 AspectJ?

SOAP Web 服務

  1. 什麼是 Web 服務?
  2. 什麼是 SOAP Web 服務?
  3. 什麼是 SOAP?
  4. 什麼是 SOAP Envelope?
  5. 什麼是 SOAP Header 和 SOAP Body?
  6. 你能給出一個 SOAP 請求和 SOAP 回應的範例嗎?
  7. 什麼是 SOAP Header? SOAP Header 中傳送什麼型別的資訊?
  8. 你能給出一個帶有身份驗證資訊的 SOAP Header 的範例嗎?
  9. 什麼是 WSDL (Web 服務定義語言) ?
  10. WSDL 的不同部分是什麼?
  11. 什麼是合同優先方法( Contract First Approach )?
  12. 什麼是 XSD?
  13. 你能給出一個 XSD 的範例嗎?
  14. 什麼是 JAXB?
  15. 如何配置 JAXB Plugin?
  16. 什麼是 Endpoint?
  17. 你能否展示一個用 Spring Web Services 編寫的端點範例?
  18. 什麼是一個 MessageDispatcherServlet?
  19. 如何配置一個 MessageDispatcherServlet?
  20. 如何使用 Spring Web Services 生成 WSDL?
  21. 如何實現 SOAP Web 服務的錯誤處理?
  22. 什麼是 SOAP 故障?

基於 RESTful 的 Web Services

  • 什麼是 REST?
  • 設計 RESTful API 的關鍵概念是什麼?
  • RESTful 的最佳實踐是什麼?
  • 是否可以顯示一個使用 Spring REST 的 Get Resource method 範例程式碼?
  • 當我們從請求對映方法返回一個 bean 時會發生什麼事?
  • 什麼是 GetMapping,在 Spring MVC 中有哪些相關的方法可用?
  • 你能用 Spring REST 顯示 Post Resource 方法的程式碼範例嗎?
  • 成功執行資源建立的適當 HTTP 響應狀態是什麼?
  • 為什麼要在 RESTful 服務中使用 ResponseEntity?
  • 什麼是 HATEOAS?
  • 你能給出 HATEOAS 的響應範例嗎?
  • 我們如何使用 Spring 實現它?
  • 如何 log RESTful web 服務?
  • 你能給一個關於 Swagger 文件的簡短想法嗎?
  • 如何從 RESTful Web Services 自動生成 Swagger 文件?
  • 如何將自定義資訊新增到由 RESTful Web Services 生成的 Swagger 文件中?
  • 什麼是 Swagger-UI ?
  • 什麼是資源的“表示” ?
  • 什麼是內容談判( Content Negotiation ) ?
  • 哪個 HTTP Header 用於內容談判?
  • 我們如何使用 Spring Boot 實現它?
  • 如何將 XML 支援新增到用 Spring Boot 構建的 RESTful 服務中?
  • 如何實現 RESTFul Web 服務的例外處理?
  • 對於 RESTful Web Services,與例外處理相關的最佳實踐是什麼?
  • 在 RESTful Web Services 中返回的不同錯誤狀態是什麼?
  • 如何使用 Spring Boot 實現它們?
  • 驗證錯誤返回的 HTTP 響應狀態是什麼?
  • 如何使用 RESTful Web 服務處理驗證錯誤?
  • 為什麼我們需要 RESTful Web Services 的版本控制?
  • 可用的版本控制選項有哪些?
  • 如何實現 RESTful Web 服務的版本控制?

現在就開始學習,點選註冊按鈕!

目標受眾

  • 你正在學習 Java
  • 你正在學習 Spring
  • 你要參加 Spring 面試
  • 你想要更深入 Spring

講師簡介

in28Minutes Official Learners – Java, Spring, Full Stack – React & Angular ( 更多講師主講課程介紹 )

關於我 我是 Ranga Karanam,與世界各地的主要銀行客戶進行15年的 Java 程式開發和設計的架構師。 我們創立 in28Minutes 是想要創造與真實世界專案相關的實踐課程。逐步指引系列是我們的創作之一。

關於 in28Minutes  

我們使用基於問題解決方案的逐步實踐方法,結合實際的實用案例。 雖然我們的主要專長是 Java 和相關框架(Spring、Spring Boot 、Spring MVC、Struts、Hibernate)的開發、設計和架構,但是我們正在擴展到前端世界(Bootstrap、JQuery、Angular JS)。

我們的信仰

最好的課程是互動和有趣的。 建立高品質應用的基礎最好是在學習的時候培養。

我們的方法

我們喜歡自由軟體,因此,我們所有的程式碼也是開放的,並且可以在 Github上取得。 我們使用 80-20 法則,我們對 20% 重要事物用 80% 的時間深度說明。我們並簡述其他的東西,給你裝備足夠的知識,以便你能自己學得更多。基於問題解決方案的逐步實踐學習。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

報名參加課程| 課程優惠方案

Sponsored by Udemy

也許你會有興趣

 歡迎使用 App / Email | Telegram 訂閱 網站更新

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: