技術乾貨:spring cloud面試題彙總及答案

陝西優就業發表於2020-01-07

  面試技術崗真的很不容易,面試題太多也很有難度。但是誰讓它薪資高 想要勝任技術崗位還真的需要有點基本功。所以 陝西優就業小編今天為了幫助各位技術大佬順利找到心儀的工作,整理了一部分面試題,希望能幫助到大家!


推薦閱讀:

http://blog.itpub.net/69902581/viewspace-2668444/程式設計師35歲不焦慮,該怎麼做?


       問題一:說一下spring cloud?

  Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分散式系統基礎設施的開發,如服務發現註冊、配置中心、訊息匯流排、負載均衡、斷路器、資料監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。

  Spring Cloud是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,透過Spring Boot風格進行再封裝遮蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分散式系統開發工具包。

  問題二:使用Spring Cloud有什麼優勢?

  使用Spring Boot開發分散式微服務時,我們面臨以下問題:

  ①與分散式系統相關的複雜性-這種開銷包括網路問題,延遲開銷,頻寬問題,安全問題。

  ②服務發現-服務發現工具管理群集中的流程和服務如何查詢和互相交談。它涉及一個服務目錄,在該目錄中註冊服務,然後能夠查詢並連線到該目錄中的服務。

  ③冗餘-分散式系統中的冗餘問題。

  ④負載平衡 --負載平衡改善跨多個計算資源的工作負荷,諸如計算機,計算機叢集,網路鏈路,中央處理單元,或磁碟驅動器的分佈。

  ⑤效能-問題 由於各種運營開銷導致的效能問題。

  ⑥部署複雜性-Devops技能的要求。

  問題三:Spring Cloud的核心元件及其工作原理

  Eureka:各個服務啟動時,Eureka Client都會將服務註冊到Eureka Server,並且Eureka Client還可以反過來從Eureka Server拉取登錄檔,從而知道其他服務在哪裡;

  Ribbon:服務間發起請求的時候,基於Ribbon做負載均衡,從一個服務的多臺機器中選擇一臺;

  Feign:基於Feign的動態代理機制,根據註解和選擇的機器,拼接請求URL地址,發起請求;

  Hystrix:發起請求是透過Hystrix的執行緒池來走的,不同的服務走不同的執行緒池,實現了不同服務呼叫的隔離,避免了服務雪崩的問題;

  Zuul:如果前端、移動端要呼叫後端系統,統一從Zuul閘道器進入,由Zuul閘道器轉發請求給對應的服務。

  問題四:服務註冊和發現是什麼意思?Spring Cloud如何實現?

  當我們開始一個專案時,我們通常在屬性檔案中進行所有的配置。隨著越來越多的服務開發和部署,新增和修改這些屬性變得更加複雜。有些服務可能會下降,而某些位置可能會發生變化。手動更改屬性可能會產生問題。

  Eureka服務註冊和發現可以在這種情況下提供幫助。由於所有服務都在Eureka伺服器上註冊並透過呼叫Eureka伺服器完成查詢,因此無需處理服務地點的任何更改和處理。

  問題五:負載平衡的意義什麼?

  在計算中,負載平衡可以改善跨計算機,計算機叢集,網路連結,中央處理單元或磁碟驅動器等多種計算資源的工作負載分佈。負載平衡旨在最佳化資源使用,最大化吞吐量,最小化響應時間並避免任何單一資源的過載。

  使用多個元件進行負載平衡而不是單個元件可能會透過冗餘來提高可靠性和可用性。負載平衡通常涉及專用軟體或硬體,例如多層交換機或域名系統伺服器程式。

  問題六:什麼是Netflix Feign?它的優點是什麼?

  Feign是受到Retrofit,JAXRS-2.0和WebSocket啟發的java客戶端聯程式設計序。Feign的第一個目標是將約束分母的複雜性統一到http apis,而不考慮其穩定性。在employee-consumer的例子中,我們使用了employee-producer使用REST模板公開的REST服務。

  但是我們必須編寫大量程式碼才能執行以下步驟

  ①使用功能區進行負載平衡。

  ②獲取服務例項,然後獲取基本URL。

  ③利用REST模板來使用服務。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2672226/,如需轉載,請註明出處,否則將追究法律責任。

相關文章