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