全网最全Java微服务面试题总结(SpringCloud+Spring Boot)
微服務 面試題
1、您對微服務有何了解?
2、微服務架構有哪些優勢?
3。微服務有哪些特點?
4、設計微服務的最佳實踐是什么?
5、微服務架構如何運作?
6、微服務架構的優缺點是什么?
7、單片,SOA 和微服務架構有什么區別?
8、在使用微服務架構時,您面臨哪些挑戰?
9、SOA 和微服務架構之間的主要區別是什么?
10、微服務有什么特點?
11、什么是領域驅動設計?
12、為什么需要域驅動設計(DDD)?
13、什么是無所不在的語言?
14、什么是凝聚力?
15、什么是耦合?
16、什么是 REST / RESTful 以及它的用途是什么?
17、你對 Spring Boot 有什么了解?
18、什么是 Spring 引導的執行器?
19、什么是 Spring Cloud?
20、Spring Cloud 解決了哪些問題?
21、在 Spring MVC 應用程序中使用 WebMvcTest 注釋有什么用處?
22。你能否給出關于休息和微服務的要點?
23、什么是不同類型的微服務測試?
24、您對 Distributed Transaction 有何了解?
25、什么是 Idempotence 以及它在哪里使用?
26、什么是有界上下文?
27、什么是雙因素身份驗證?
28、雙因素身份驗證的憑據類型有哪些?
29、什么是客戶證書?
30、PACT 在微服務架構中的用途是什么?
31、什么是 OAuth?
32、康威定律是什么?
33、合同測試你懂什么?
34、什么是端到端微服務測試?
35、Container 在微服務中的用途是什么?
36、什么是微服務架構中的 DRY?
37、什么是消費者驅動的合同(CDC)?
38、Web,RESTful API 在微服務中的作用是什么?
39、您對微服務架構中的語義監控有何了解?
40、我們如何進行跨功能測試?
41、我們如何在測試中消除非決定論?
42、Mock 或 Stub 有什么區別?
43、您對 Mike Cohn 的測試金字塔了解多少?
44、Docker 的目的是什么?
45、什么是金絲雀釋放?
46、什么是持續集成(CI)?
47、什么是持續監測?
48、架構師在微服務架構中的角色是什么?
49、我們可以用微服務創建狀態機嗎?
50、什么是微服務中的反應性擴展?
Spring Cloud面試題
1、什么是 Spring Cloud?
2、使用 Spring Cloud 有什么優勢?
3、服務注冊和發現是什么意思?Spring Cloud 如何實現?
4、Spring Cloud 和dubbo區別?
5、SpringBoot和SpringCloud的區別?
6、負載平衡的意義什么?
7、什么是 Hystrix?它如何實現容錯?
8、什么是 Hystrix 斷路器?我們需要它嗎?
9、什么是 Netflix Feign?它的優點是什么?
10、什么是 Spring Cloud Bus?我們需要它嗎?
11、Spring Cloud斷路器的作用
12、什么是SpringCloudConfig?
13、Spring Cloud Gateway?
Spring Boot 面試題
1、什么是 Spring Boot?
2、Spring Boot 有哪些優點?
3、什么是 JavaConfig?
4、如何重新加載 Spring Boot 上的更改,而無需重新啟動服務器?
5、Spring Boot 中的監視器是什么?
6、如何在 Spring Boot 中禁用 Actuator 端點安全性?
7、如何在自定義端口上運行 Spring Boot 應用程序?
8、什么是 YAML?
9、如何實現 Spring Boot 應用程序的安全性?
10、如何集成 Spring Boot 和 ActiveMQ?
11、如何使用 Spring Boot 實現分頁和排序?
12、什么是 Swagger?你用 Spring Boot 實現了它嗎?
13、什么是 Spring Profiles?
14、什么是 Spring Batch?
15、什么是 FreeMarker 模板?
16、如何使用 Spring Boot 實現異常處理?
17、您使用了哪些 starter maven 依賴項?
18、什么是 CSRF 攻擊?
19、什么是 WebSockets?
20、什么是 AOP?
21、什么是 Apache Kafka?
22、我們如何監視所有 Spring Boot 微服務?
1、什么是 Spring Cloud?
Spring cloud 流應用程序啟動器是基于 Spring Boot 的 Spring 集成應用程序,提供與外部系統的集成。Spring cloud Task,一個生命周期短暫的微服務框架,用于快速構建執行有限數據處理的應用程序。
2、使用 Spring Cloud 有什么優勢?
使用 Spring Boot 開發分布式微服務時,我們面臨以下問題
(1)與分布式系統相關的復雜性-這種開銷包括網絡問題,延遲開銷,帶寬問題,安全問題。
(2)服務發現-服務發現工具管理群集中的流程和服務如何查找和互相交談。它涉及一個服務目錄,在該目錄中注冊服務,然后能夠查找并連接到該目錄中的服務。
(3)冗余-分布式系統中的冗余問題。
(4)負載平衡 --負載平衡改善跨多個計算資源的工作負荷,諸如計算機,計算機集群,網絡鏈路,中央處理單元,或磁盤驅動器的分布。
(5)性能-問題 由于各種運營開銷導致的性能問題。
(6)部署復雜性-Devops 技能的要求。
3、服務注冊和發現是什么意思?Spring Cloud 如何實現?
當我們開始一個項目時,我們通常在屬性文件中進行所有的配置。隨著越來越多的服務開發和部署,添加和修改這些屬性變得更加復雜。有些服務可能會下降,而某些位置可能會發生變化。手動更改屬性可能會產生問題。 Eureka 服務注冊和發現可以在這種情況下提供幫助。由于所有服務都在 Eureka 服務器上注冊并通過調用 Eureka 服務器完成查找,因此無需處理服務地點的任何更改和處理。
1、什么是 Spring Boot?
多年來,隨著新功能的增加,spring 變得越來越復雜。訪問spring官網頁面,我們就會看到可以在我們的應用程序中使用的所有 Spring 項目的不同功能。如果必須啟動一個新的 Spring 項目,我們必須添加構建路徑或添加 Maven 依賴關系,配置應用程序服務器,添加 spring 配置。因此,開始一個新的 spring 項目需要很多努力,因為我們現在必須從頭開始做所有事情。
Spring Boot 是解決這個問題的方法。Spring Boot 已經建立在現有 spring 框架之上。使用 spring 啟動,我們避免了之前我們必須做的所有樣板代碼和配置。因此,Spring Boot 可以幫助我們以最少的工作量,更加健壯地使用現有的 Spring功能。
2、Spring Boot 有哪些優點?
Spring Boot 的優點有:
1、減少開發,測試時間和努力。
2、使用 JavaConfig 有助于避免使用 XML。
3、避免大量的 Maven 導入和各種版本沖突。
4、提供意見發展方法。
5、通過提供默認值快速開始開發。
6、沒有單獨的 Web 服務器需要。這意味著你不再需要啟動 Tomcat,Glassfish或其他任何東西。
7、需要更少的配置 因為沒有 web.xml 文件。只需添加用@ Configuration 注釋的類,然后添加用@Bean 注釋的方法,Spring 將自動加載對象并像以前一樣對其進行管理。您甚至可以將@Autowired 添加到 bean 方法中,以使 Spring 自動裝入需要的依賴關系中。
8、基于環境的配置 使用這些屬性,您可以將您正在使用的環境傳遞到應用程序:-Dspring.profiles.active = {enviornment}。在加載主應用程序屬性文件后,Spring 將在(application{environment} .properties)中加載后續的應用程序屬性文件。在此我向大家推薦一個架構學習交流圈。交流學習指導偽鑫:1253431195(里面有大量的面試題及答案)里面會分享一些資深架構師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發、高性能、分布式、微服務架構的原理,JVM性能優化、分布式架構等這些成為架構師必備的知識體系。還能領取免費的學習資源,目前受益良多
1、您對微服務有何了解?
微服務,又稱微服務 架 構,是一種架構風格,它將應用程序構建為以業務領域為模型的小型自治服務集合 。
通俗地說,你必須看到蜜蜂如何通過對齊六角形蠟細胞來構建它們的蜂窩狀物。他們最初從使用各種材料的小部分開始,并繼續從中構建一個大型蜂箱。這些細胞形成圖案,產生堅固的結構,將蜂窩的特定部分固定在一起。這里,每個細胞獨立于另一個細胞,但它也與其他細胞相關。這意味著對一個細胞的損害不會損害其他細胞,因此,蜜蜂可以在不影響完整蜂箱的情況下重建這些細胞。
圖 1:微服務的蜂窩表示 – 微服務訪談問題
請參考上圖。這里,每個六邊形形狀代表單獨的服務組件。與蜜蜂的工作類似,每個敏捷團隊都使用可用的框架和所選的技術堆棧構建單獨的服務組件。就像在蜂箱中一樣,每個服務組件形成一個強大的微服務架構,以提供更好的可擴展性。此外,敏捷團隊可以單獨處理每個服務組件的問題,而對整個應用程序沒有影響或影響最小。
2、微服務架構有哪些優勢?
圖 2:微服務的 優點 – 微服務訪談問題
· 獨立開發 – 所有微服務都可以根據各自的功能輕松開發
· 獨立部署 – 基于其服務,可以在任何應用程序中單獨部署它們
· 故障隔離 – 即使應用程序的一項服務不起作用,系統仍可繼續運行
· 混合技術堆棧 – 可以使用不同的語言和技術來構建同一應用程序的不同服務
· 粒度縮放 – 單個組件可根據需要進行縮放,無需將所有組件縮放在一起
總結
以上是生活随笔為你收集整理的全网最全Java微服务面试题总结(SpringCloud+Spring Boot)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享12个Python项目教程,看完随便
- 下一篇: Java微服务面试题