1. 程式人生 > 其它 >Dubbo面試題及答案(2023最新版)

Dubbo面試題及答案(2023最新版)

Dubbo面試題及答案,每道都是認真篩選出的高頻面試題,助力大家能找到滿意的工作!

下載連結全部面試題及答案PDF

其他網際網路大廠面試題

1:阿里巴巴Java面試題

2:阿里雲Java面試題-實習生崗

3:騰訊Java面試題-高階

4:位元組跳動Java面試題

5:位元組跳動Java面試題-大資料方向

6:百度Java面試題

7:螞蟻金服Java面試題-中級

8:螞蟻金服Java面試題-高階

9:京東Java面試題-中級

10:拼多多Java面試題-電商部

11:商湯科技Java面試題

12:中軟國際Java面試題-初級

13:唯品會Java面試題

14:攜程Java面試題-高階

15:軟通動力Java面試題

1、Dubbo是什麼?

Dubbo是阿里巴巴開源的基於 Java 的高效能 RPC 分散式服務框架,現已成為 Apache 基金會孵化專案。

面試官問你如果這個都不清楚,那下面的就沒必要問了。

官網:http://dubbo.apache.org

2、為什麼要用Dubbo?

因為是阿里開源專案,國內很多網際網路公司都在用,已經經過很多線上考驗。內部使用了 Netty、Zookeeper,保證了高效能高可用性。

使用 Dubbo 可以將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,可用於提高業務複用靈活擴充套件,使前端應用能更快速的響應多變的市場需求。

3、Dubbo超時時間怎樣設定?

1) 服務提供者端設定超時時間,在 Dubbo 的使用者文件中,推薦如果能在服務端多配置就儘量多配置,因為服務提供者比消費者更清楚自己提供的服務特性。

2)服務消費者端設定超時時間,如果在消費者端設定了超時時間,以消費者端為主,即優先順序更高。因為服務呼叫方設定超時時間控制性更靈活。如果消費方超時,服務端執行緒不會定製,會產生警告。

4、Dubbo與Spring的關係

Dubbo 採用全 Spring 配置方式,透明化接入應用,對應用沒有任何API 侵入,只需用 Spring 載入 Dubbo 的配置即可,Dubbo 基於Spring 的 Schema 擴充套件進行載入。

5、Dubbo 和 Spring Cloud 有什麼區別?

兩個沒關聯,如果硬要說區別,有以下幾點。

1)通訊方式不同

Dubbo 使用的是 RPC 通訊,而 Spring Cloud 使用的是 HTTP RESTFul 方式。

2)組成部分不同

元件 Dubbo Spring Clond
服務註冊中心 Zookeeper Spring Cloud Netflix Eureka
服務監控 Dubbo-monitor Spring Boot Admin
斷路器 不完善 Spring Cloud Netflix Hystrix
服務閘道器 Spring Cloud Netflix Gateway
分散式配置 Spring Cloud Config
服務跟蹤 Spring Cloud Sleuth
訊息匯流排 Spring Cloud Bus
資料流 Spring Cloud Stream
批量任務 Spring Cloud Task

6、Dubbo預設使用的是什麼通訊框架,還有別的選擇嗎?

Dubbo 預設使用 Netty 框架,也是推薦的選擇,另外內容還整合有Mina、Grizzly。

7、服務上線怎麼相容舊版本?

可以用版本號(version)過渡,多個不同版本的服務註冊到註冊中心,版本號不同的服務相互間不引用。這個和服務分組的概念有一點類似。

8、Dubbo可以對結果進行快取嗎?

可以,Dubbo 提供了宣告式快取,用於加速熱門資料的訪問速度,以減少使用者加快取的工作量。

9、Dubbo服務之間的呼叫是阻塞的嗎?

預設是同步等待結果阻塞的,支援非同步呼叫。

Dubbo 是基於 NIO 的非阻塞實現並行呼叫,客戶端不需要啟動多執行緒即可完成並行呼叫多個遠端服務,相對多執行緒開銷較小,非同步呼叫會返回一個 Future 物件。

10、Dubbo支援分散式事務嗎?

目前暫時不支援,後續可能採用基於 JTA/XA 規範實現。

11、Dubbo telnet 命令能做什麼?

dubbo 通過 telnet 命令來進行服務治理

telnet localhost 8090

12、Dubbo 停止維護了嗎?

2014 年開始停止維護過幾年,17 年開始重新維護,並進入了 Apache 專案。

13、Dubbo 和 Dubbox 有什麼區別?

Dubbox 是繼 Dubbo 停止維護後,噹噹網基於 Dubbo 做的一個擴充套件專案,如加了服務可 Restful 呼叫,更新了開源元件等。

14、你還了解別的分散式框架嗎?

別的還有 Spring cloud、Facebook 的 Thrift、Twitter 的 Finagle 等。

15、Dubbo 能整合 Spring Boot 嗎?

可以的,專案地址如下。

https://github.com/apache/incubator-dubbo-spring-boot-project

16、在使用過程中都遇到了些什麼問題?

Dubbo 的設計目的是為了滿足高併發小資料量的 rpc 呼叫,在大資料量下的效能表現並不好,建議使用 rmi 或 http 協議。

17、dubbo都支援什麼協議,推薦用哪種?

dubbo://(推薦)

rmi://

hessian://

http://

webservice://

thrift://

memcached://

redis://

rest://

18、Dubbo需要 Web 容器嗎?

不需要,如果硬要用 Web 容器,只會增加複雜性,也浪費資源。

19、Dubbo內建了哪幾種服務容器?

Spring Container

Jetty Container

Log4j Container

Dubbo 的服務容器只是一個簡單的 Main 方法,並載入一個簡單的 Spring 容器,用於暴露服務。

20、Dubbo裡面有哪幾種節點角色?

節點 角色說明
Provider 暴露服務的服務提供方
Consumer 呼叫遠端服務的服務消費方
Registry 服務註冊與發現的註冊中心
Monitor 統計服務的呼叫次數和呼叫時間的監控中心
Container 服務執行容器

21、畫一畫服務註冊與發現的流程圖

22、Dubbo預設使用什麼註冊中心,還有別的選擇嗎?

23、Dubbo有哪幾種配置方式?

24、Dubbo 核心的配置有哪些?

25、在 Provider 上可以配置的 Consumer 端的屬性有哪些?

26、Dubbo啟動時如果依賴的服務不可用會怎樣?

27、Dubbo推薦使用什麼序列化框架,你知道的還有哪些?

28、Dubbo有哪幾種叢集容錯方案,預設是哪種?

29、Dubbo有哪幾種負載均衡策略,預設是哪種?

30、註冊了多個同一樣的服務,如果測試指定的某一個服務呢?

31、Dubbo支援服務多協議嗎?

32、當一個服務介面有多種實現時怎麼做?

33、Dubbo支援服務降級嗎?

34、Dubbo如何優雅停機?

35、服務提供者能實現失效踢出是什麼原理?

36、如何解決服務呼叫鏈過長的問題?

37、服務讀寫推薦的容錯策略是怎樣的?

38、Dubbo必須依賴的包有哪些?

39、Dubbo的管理控制檯能做什麼?

40、說說 Dubbo 服務暴露的過程

41、你讀過 Dubbo 的原始碼嗎?

42、你覺得用 Dubbo 好還是 Spring Cloud 好?

全部面試題及答案已整理好!!!!

下載連結博主已將以上這些面試題整理成了一個面試手冊,是PDF版的