<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringCloud 的25連環(huán)炮!

          共 7244字,需瀏覽 15分鐘

           ·

          2023-03-11 05:05

          程序員的成長之路
          互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享 
          關(guān)注


          閱讀本文大概需要 12 分鐘。

          來自:程序員大彬

          今天給大家分享SpringCloud高頻面試題。

          Spring Cloud核心知識總結(jié)

          下面是一張Spring Cloud核心組件關(guān)系圖:


          從這張圖中,其實(shí)我們是可以獲取很多信息的,希望大家細(xì)細(xì)品嘗。
          話不多說,我們直接開始 Spring Cloud 連環(huán)炮。

          連環(huán)炮走起

          1、什么是Spring Cloud ?

          Spring cloud 流應(yīng)用程序啟動器是基于 Spring Boot 的 Spring 集成應(yīng)用程序,提供與外部系統(tǒng)的集成。Spring cloud Task,一個生命周期短暫的微服務(wù)框架,用于快速構(gòu)建執(zhí)行有限數(shù)據(jù)處理的應(yīng)用程序。

          2、什么是微服務(wù)?

          微服務(wù)架構(gòu)是一種架構(gòu)模式或者說是一種架構(gòu)風(fēng)格,它提倡將單一應(yīng)用程序劃分為一組小的服務(wù),每個服務(wù)運(yùn)行在其獨(dú)立的自己的進(jìn)程中,服務(wù)之間相互協(xié)調(diào)、互相配合,為用戶提供最終價(jià)值。服務(wù)之間采用輕量級的通信機(jī)制互相溝通(通常是基于HTTP的RESTful API),每個服務(wù)都圍繞著具體的業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立的構(gòu)建在生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等。另外,應(yīng)避免統(tǒng)一的、集中式的服務(wù)管理機(jī)制,對具體的一個服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文,選擇合適的語言、工具對其進(jìn)行構(gòu)建,可以有一個非常輕量級的集中式管理來協(xié)調(diào)這些服務(wù),可以使用不同的語言來編寫服務(wù),也可以使用不同的數(shù)據(jù)存儲。
          通俗地來講:
          微服務(wù)就是一個獨(dú)立的職責(zé)單一的服務(wù)應(yīng)用程序。在 intellij idea 工具里面就是用maven開發(fā)的一個個獨(dú)立的module,具體就是使用springboot 開發(fā)的一個小的模塊,處理單一專業(yè)的業(yè)務(wù)邏輯,一個模塊只做一個事情。
          微服務(wù)強(qiáng)調(diào)的是服務(wù)大小,關(guān)注的是某一個點(diǎn),具體解決某一個問題/落地對應(yīng)的一個服務(wù)應(yīng)用,可以看做是idea 里面一個 module。

          3、Spring Cloud有什么優(yōu)勢

          使用 Spring Boot 開發(fā)分布式微服務(wù)時(shí),我們面臨以下問題
          • 與分布式系統(tǒng)相關(guān)的復(fù)雜性-這種開銷包括網(wǎng)絡(luò)問題,延遲開銷,帶寬問題,安全問題。
          • 服務(wù)發(fā)現(xiàn)-服務(wù)發(fā)現(xiàn)工具管理群集中的流程和服務(wù)如何查找和互相交談。它涉及一個服務(wù)目錄,在該目錄中注冊服務(wù),然后能夠查找并連接到該目錄中的服務(wù)。
          • 冗余-分布式系統(tǒng)中的冗余問題。
          • 負(fù)載平衡 --負(fù)載平衡改善跨多個計(jì)算資源的工作負(fù)荷,諸如計(jì)算機(jī),計(jì)算機(jī)集群,網(wǎng)絡(luò)鏈路,中央處理單元,或磁盤驅(qū)動器的分布。
          • 性能-問題 由于各種運(yùn)營開銷導(dǎo)致的性能問題。
          • 部署復(fù)雜性-Devops 技能的要求。

          4、微服務(wù)之間如何獨(dú)立通訊的?

          同步通信:dubbo通過 RPC 遠(yuǎn)程過程調(diào)用、springcloud通過 REST  接口json調(diào)用等。
          異步:消息隊(duì)列,如:RabbitMq、ActiveMKafka等消息隊(duì)列。

          5、 什么是服務(wù)熔斷?什么是服務(wù)降級?

          熔斷機(jī)制是應(yīng)對雪崩效應(yīng)的一種微服務(wù)鏈路保護(hù)機(jī)制。當(dāng)某個微服務(wù)不可用或者響應(yīng)時(shí)間太長時(shí),會進(jìn)行服務(wù)降級,進(jìn)而熔斷該節(jié)點(diǎn)微服務(wù)的調(diào)用,快速返回“錯誤”的響應(yīng)信息。當(dāng)檢測到該節(jié)點(diǎn)微服務(wù)調(diào)用響應(yīng)正常后恢復(fù)調(diào)用鏈路。在Spring Cloud框架里熔斷機(jī)制通過Hystrix實(shí)現(xiàn),Hystrix會監(jiān)控微服務(wù)間調(diào)用的狀況,當(dāng)失敗的調(diào)用到一定閾值,缺省是5秒內(nèi)調(diào)用20次,如果失敗,就會啟動熔斷機(jī)制。
          服務(wù)降級,一般是從整體負(fù)荷考慮。就是當(dāng)某個服務(wù)熔斷之后,服務(wù)器將不再被調(diào)用,此時(shí)客戶端可以自己準(zhǔn)備一個本地的fallback回調(diào),返回一個缺省值。這樣做,雖然水平下降,但好歹可用,比直接掛掉強(qiáng)。
          Hystrix相關(guān)注解@EnableHystrix:開啟熔斷 @HystrixCommand(fallbackMethod=”XXX”),聲明一個失敗回滾處理函數(shù)XXX,當(dāng)被注解的方法執(zhí)行超時(shí)(默認(rèn)是1000毫秒),就會執(zhí)行fallback函數(shù),返回錯誤提示。

          6、 請說說Eureka和zookeeper 的區(qū)別?

          Zookeeper保證了CP,Eureka保證了AP。
          A:高可用
          C:一致性
          P:分區(qū)容錯性
          1、當(dāng)向注冊中心查詢服務(wù)列表時(shí),我們可以容忍注冊中心返回的是幾分鐘以前的信息,但不能容忍直接down掉不可用。也就是說,服務(wù)注冊功能對高可用性要求比較高,但zk會出現(xiàn)這樣一種情況,當(dāng)master節(jié)點(diǎn)因?yàn)榫W(wǎng)絡(luò)故障與其他節(jié)點(diǎn)失去聯(lián)系時(shí),剩余節(jié)點(diǎn)會重新選leader。問題在于,選取leader時(shí)間過長,30 ~ 120s,且選取期間zk集群都不可用,這樣就會導(dǎo)致選取期間注冊服務(wù)癱瘓。在云部署的環(huán)境下,因網(wǎng)絡(luò)問題使得zk集群失去master節(jié)點(diǎn)是較大概率會發(fā)生的事,雖然服務(wù)能夠恢復(fù),但是漫長的選取時(shí)間導(dǎo)致的注冊長期不可用是不能容忍的。
          2、Eureka保證了可用性,Eureka各個節(jié)點(diǎn)是平等的,幾個節(jié)點(diǎn)掛掉不會影響正常節(jié)點(diǎn)的工作,剩余的節(jié)點(diǎn)仍然可以提供注冊和查詢服務(wù)。而Eureka的客戶端向某個Eureka注冊或發(fā)現(xiàn)時(shí)發(fā)生連接失敗,則會自動切換到其他節(jié)點(diǎn),只要有一臺Eureka還在,就能保證注冊服務(wù)可用,只是查到的信息可能不是最新的。除此之外,Eureka還有自我保護(hù)機(jī)制,如果在15分鐘內(nèi)超過85%的節(jié)點(diǎn)沒有正常的心跳,那么Eureka就認(rèn)為客戶端與注冊中心發(fā)生了網(wǎng)絡(luò)故障,此時(shí)會出現(xiàn)以下幾種情況:
          ① Eureka不在從注冊列表中移除因?yàn)殚L時(shí)間沒有收到心跳而應(yīng)該過期的服務(wù)。
          ② Eureka仍然能夠接受新服務(wù)的注冊和查詢請求,但是不會被同步到其他節(jié)點(diǎn)上(即保證當(dāng)前節(jié)點(diǎn)仍然可用)
          ③ 當(dāng)網(wǎng)絡(luò)穩(wěn)定時(shí),當(dāng)前實(shí)例新的注冊信息會被同步到其他節(jié)點(diǎn)。
          因此,Eureka可以很好地應(yīng)對因網(wǎng)絡(luò)故障導(dǎo)致部分節(jié)點(diǎn)失去聯(lián)系的情況,而不會像Zookeeper那樣使整個微服務(wù)癱瘓

          7、SpringBoot和SpringCloud的區(qū)別?

          SpringBoot專注于快速方便得開發(fā)單個個體微服務(wù)。
          SpringCloud是關(guān)注全局的微服務(wù)協(xié)調(diào)整理治理框架,它將SpringBoot開發(fā)的一個個單體微服務(wù)整合并管理起來,
          為各個微服務(wù)之間提供,配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由、微代理、事件總線、全局鎖、決策競選、分布式會話等等集成服務(wù)
          SpringBoot可以離開SpringCloud獨(dú)立使用開發(fā)項(xiàng)目, 但是SpringCloud離不開SpringBoot ,屬于依賴的關(guān)系.
          SpringBoot專注于快速、方便得開發(fā)單個微服務(wù)個體,SpringCloud關(guān)注全局的服務(wù)治理框架。

          8、負(fù)載平衡的意義什么?

          在計(jì)算中,負(fù)載平衡可以改善跨計(jì)算機(jī),計(jì)算機(jī)集群,網(wǎng)絡(luò)鏈接,中央處理單元或磁盤驅(qū)動器等多種計(jì)算資源的工作負(fù)載分布。負(fù)載平衡旨在優(yōu)化資源使用,最大化吞吐量,最小化響應(yīng)時(shí)間并避免任何單一資源 的過載。使用多個組件進(jìn)行負(fù)載平衡而不是單個組件可能會通過冗余來提高可靠性和可用性。負(fù)載平衡通常涉及專用軟件或硬件,例如多層交換機(jī)或域名系統(tǒng)服務(wù)器進(jìn)程。

          9、什么是Hystrix?它如何實(shí)現(xiàn)容錯?

          Hystrix是一個延遲和容錯庫,旨在隔離遠(yuǎn)程系統(tǒng),服務(wù)和第三方庫的訪問點(diǎn),當(dāng)出現(xiàn)故障是不可避免的故障時(shí),停止級聯(lián)故障并在復(fù)雜的分布式系統(tǒng)中實(shí)現(xiàn)彈性。
          通常對于使用微服務(wù)架構(gòu)開發(fā)的系統(tǒng),涉及到許多微服務(wù)。這些微服務(wù)彼此協(xié)作。
          思考一下微服務(wù):

          假設(shè)如果上圖中的微服務(wù)9失敗了,那么使用傳統(tǒng)方法我們將傳播一個異常。但這仍然會導(dǎo)致整個系統(tǒng)崩潰。
          隨著微服務(wù)數(shù)量的增加,這個問題變得更加復(fù)雜。微服務(wù)的數(shù)量可以高達(dá)1000。這是hystrix出現(xiàn)的地方 我們將使用Hystrix在這種情況下的Fallback方法功能。我們有兩個服務(wù)employee-consumer使用由employee-consumer公開的服務(wù)。
          簡化圖如下所示

          現(xiàn)在假設(shè)由于某種原因,employee-producer公開的服務(wù)會拋出異常。我們在這種情況下使用Hystrix定義了一個回退方法。這種后備方法應(yīng)該具有與公開服務(wù)相同的返回類型。如果暴露服務(wù)中出現(xiàn)異常,則回退方法將返回一些值。

          10、什么是Hystrix斷路器?我們需要它嗎?

          由于某些原因,employee-consumer公開服務(wù)會引發(fā)異常。在這種情況下使用Hystrix我們定義了一個回退方法。如果在公開服務(wù)中發(fā)生異常,則回退方法返回一些默認(rèn)值。


          如果firstPage method() 中的異常繼續(xù)發(fā)生,則Hystrix電路將中斷,并且員工使用者將一起跳過firtsPage方法,并直接調(diào)用回退方法。斷路器的目的是給第一頁方法或第一頁方法可能調(diào)用的其他方法留出時(shí)間,并導(dǎo)致異常恢復(fù)??赡馨l(fā)生的情況是,在負(fù)載較小的情況下,導(dǎo)致異常的問題有更好的恢復(fù)機(jī)會 。


          11、說說 RPC 的實(shí)現(xiàn)原理

          首先需要有處理網(wǎng)絡(luò)連接通訊的模塊,負(fù)責(zé)連接建立、管理和消息的傳輸。其次需要有編 解碼的模塊,因?yàn)榫W(wǎng)絡(luò)通訊都是傳輸?shù)淖止?jié)碼,需要將我們使用的對象序列化和反序列化。剩下的就是客戶端和服務(wù)器端的部分,服務(wù)器端暴露要開放的服務(wù)接口,客戶調(diào)用服 務(wù)接口的一個代理實(shí)現(xiàn),這個代理實(shí)現(xiàn)負(fù)責(zé)收集數(shù)據(jù)、編碼并傳輸給服務(wù)器然后等待結(jié)果返回。

          12、eureka自我保護(hù)機(jī)制是什么?

          當(dāng)Eureka Server 節(jié)點(diǎn)在短時(shí)間內(nèi)丟失了過多實(shí)例的連接時(shí)(比如網(wǎng)絡(luò)故障或頻繁啟動關(guān)閉客戶端)節(jié)點(diǎn)會進(jìn)入自我保護(hù)模式,保護(hù)注冊信息,不再刪除注冊數(shù)據(jù),故障恢復(fù)時(shí),自動退出自我保護(hù)模式。

          13、什么是Ribbon?

          ribbon是一個負(fù)載均衡客戶端,可以很好地控制htt和tcp的一些行為。feign默認(rèn)集成了ribbon。

          14、什么是 Netflix Feign?它的優(yōu)點(diǎn)是什么?

          Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 啟發(fā)的 java 客戶端聯(lián)編程序。
          Feign 的第一個目標(biāo)是將約束分母的復(fù)雜性統(tǒng)一到 http apis,而不考慮其穩(wěn)定性。
          特點(diǎn):
          • Feign 采用的是基于接口的注解
          • Feign 整合了ribbon,具有負(fù)載均衡的能力
          • 整合了Hystrix,具有熔斷的能力
          使用方式
          • 添加pom依賴。
          • 啟動類添加@EnableFeignClients
          • 定義一個接口@FeignClient(name=“xxx”)指定調(diào)用哪個服務(wù)

          15、 Ribbon和Feign的區(qū)別?

          1.啟動類注解不同,Ribbon是@RibbonClient feign的是@EnableFeignClients;2.服務(wù)指定的位置不同,Ribbon是在@RibbonClient注解上聲明,F(xiàn)eign則是在定義抽象方法的接口中使用@FeignClient聲明;3.調(diào)用方式不同,Ribbon需要自己構(gòu)建http請求,模擬http請求。

          16、Spring Cloud 的核心組件有哪些?

          • Eureka:服務(wù)注冊于發(fā)現(xiàn)。
          • Feign:基于動態(tài)代理機(jī)制,根據(jù)注解和選擇的機(jī)器,拼接請求 url 地址,發(fā)起請求。
          • Ribbon:實(shí)現(xiàn)負(fù)載均衡,從一個服務(wù)的多臺機(jī)器中選擇一臺。
          • Hystrix:提供線程池,不同的服務(wù)走不同的線程池,實(shí)現(xiàn)了不同服務(wù)調(diào)用的隔離,避免了服務(wù)雪崩的問題。
          • Zuul:網(wǎng)關(guān)管理,由 Zuul 網(wǎng)關(guān)轉(zhuǎn)發(fā)請求給對應(yīng)的服務(wù)。

          17、說說Spring Boot和Spring Cloud的關(guān)系

          Spring Boot是Spring推出用于解決傳統(tǒng)框架配置文件冗余,裝配組件繁雜的基于Maven的解決方案,旨在快速搭建單個微服務(wù)而Spring Cloud專注于解決各個微服務(wù)之間的協(xié)調(diào)與配置,服務(wù)之間的通信,熔斷,負(fù)載均衡等技術(shù)維度并相同,并且Spring Cloud是依賴于Spring Boot的,而Spring Boot并不是依賴與Spring Cloud,甚至還可以和Dubbo進(jìn)行優(yōu)秀的整合開發(fā)
          • SpringBoot專注于快速方便的開發(fā)單個個體的微服務(wù)
          • SpringCloud是關(guān)注全局的微服務(wù)協(xié)調(diào)整理治理框架,整合并管理各個微服務(wù),為各個微服務(wù)之間提供,配置管理,服務(wù)發(fā)現(xiàn),斷路器,路由,事件總線等集成服務(wù)
          • Spring Boot不依賴于Spring Cloud,Spring Cloud依賴于Spring Boot,屬于依賴關(guān)系
          • Spring Boot專注于快速,方便的開發(fā)單個的微服務(wù)個體,Spring Cloud關(guān)注全局的服務(wù)治理框架

          18、說說微服務(wù)之間是如何獨(dú)立通訊的?

          遠(yuǎn)程過程調(diào)用(Remote Procedure Invocation)

          也就是我們常說的服務(wù)的注冊與發(fā)現(xiàn),直接通過遠(yuǎn)程過程調(diào)用來訪問別的service。
          優(yōu)點(diǎn):簡單,常見,因?yàn)闆]有中間件代理,系統(tǒng)更簡單
          缺點(diǎn):只支持請求/響應(yīng)的模式,不支持別的,比如通知、請求/異步響應(yīng)、發(fā)布/訂閱、發(fā)布/異步響應(yīng),降低了可用性,因?yàn)榭蛻舳撕头?wù)端在請求過程中必須都是可用的。

          消息

          使用異步消息來做服務(wù)間通信。服務(wù)間通過消息管道來交換消息,從而通信。
          優(yōu)點(diǎn):把客戶端和服務(wù)端解耦,更松耦合,提高可用性,因?yàn)橄⒅虚g件緩存了消息,直到消費(fèi)者可以消費(fèi),       支持很多通信機(jī)制比如通知、請求/異步響應(yīng)、發(fā)布/訂閱、發(fā)布/異步響應(yīng)。
          缺點(diǎn):消息中間件有額外的復(fù)雜。

          19、Spring Cloud如何實(shí)現(xiàn)服務(wù)的注冊?

          服務(wù)發(fā)布時(shí),指定對應(yīng)的服務(wù)名,將服務(wù)注冊到 注冊中心(Eureka 、Zookeeper)。
          注冊中心加@EnableEurekaServer,服務(wù)用@EnableDiscoveryClient,然后用ribbon或feign進(jìn)行服務(wù)直接的調(diào)用發(fā)現(xiàn)。

          20、什么是服務(wù)熔斷?

          在復(fù)雜的分布式系統(tǒng)中,微服務(wù)之間的相互調(diào)用,有可能出現(xiàn)各種各樣的原因?qū)е路?wù)的阻塞,在高并發(fā)場景下,服務(wù)的阻塞意味著線程的阻塞,導(dǎo)致當(dāng)前線程不可用,服務(wù)器的線程全部阻塞,導(dǎo)致服務(wù)器崩潰,由于服務(wù)之間的調(diào)用關(guān)系是同步的,會對整個微服務(wù)系統(tǒng)造成服務(wù)雪崩
          為了解決某個微服務(wù)的調(diào)用響應(yīng)時(shí)間過長或者不可用進(jìn)而占用越來越多的系統(tǒng)資源引起雪崩效應(yīng)就需要進(jìn)行服務(wù)熔斷和服務(wù)降級處理。
          所謂的服務(wù)熔斷指的是某個服務(wù)故障或異常一起類似顯示世界中的“保險(xiǎn)絲"當(dāng)某個異常條件被觸發(fā)就直接熔斷整個服務(wù),而不是一直等到此服務(wù)超時(shí)。
          服務(wù)熔斷就是相當(dāng)于我們電閘的保險(xiǎn)絲,一旦發(fā)生服務(wù)雪崩的,就會熔斷整個服務(wù),通過維護(hù)一個自己的線程池,當(dāng)線程達(dá)到閾值的時(shí)候就啟動服務(wù)降級,如果其他請求繼續(xù)訪問就直接返回fallback的默認(rèn)值

          21、了解Eureka自我保護(hù)機(jī)制嗎?

          當(dāng)Eureka Server 節(jié)點(diǎn)在短時(shí)間內(nèi)丟失了過多實(shí)例的連接時(shí)(比如網(wǎng)絡(luò)故障或頻繁啟動關(guān)閉客戶端)節(jié)點(diǎn)會進(jìn)入自我保護(hù)模式,保護(hù)注冊信息,不再刪除注冊數(shù)據(jù),故障恢復(fù)時(shí),自動退出自我保護(hù)模式。

          22、熟悉 Spring Cloud Bus 嗎?

          spring cloud bus 將分布式的節(jié)點(diǎn)用輕量的消息代理連接起來,它可以用于廣播配置文件的更改或者服務(wù)直接的通訊,也可用于監(jiān)控。如果修改了配置文件,發(fā)送一次請求,所有的客戶端便會重新讀取配置文件。

          23、Spring Cloud 斷路器有什么作用?

          當(dāng)一個服務(wù)調(diào)用另一個服務(wù)由于網(wǎng)絡(luò)原因或自身原因出現(xiàn)問題,調(diào)用者就會等待被調(diào)用者的響應(yīng),當(dāng)更多的服務(wù)請求到這些資源導(dǎo)致更多的請求等待,發(fā)生連鎖效應(yīng)(雪崩效應(yīng))。一段時(shí)間內(nèi) 達(dá)到一定的次數(shù)無法調(diào)用 并且多次監(jiān)測沒有恢復(fù)的跡象,這時(shí)候斷路器完全打開 那么下次請求就不會請求到該服務(wù)。
          半開:短時(shí)間內(nèi) 有恢復(fù)跡象 斷路器會將部分請求發(fā)給該服務(wù),正常調(diào)用時(shí) 斷路器關(guān)閉。關(guān)閉:當(dāng)服務(wù)一直處于正常狀態(tài) 能正常調(diào)用。

          24、了解Spring Cloud Config 嗎?

          在分布式系統(tǒng)中,由于服務(wù)數(shù)量巨多,為了方便服務(wù)配置文件統(tǒng)一管理,實(shí)時(shí)更新,所以需要分布式配置中心組件。在Spring Cloud中,有分布式配置中心組件Spring Cloud Config,它支持配置服務(wù)放在配置服務(wù)的內(nèi)存中(即本地),也支持放在遠(yuǎn)程Git倉庫中。
          Spring Cloud Config 組件中,分兩個角色,一是config server,二是config client。
          使用方式:
          • 添加pom依賴
          • 配置文件添加相關(guān)配置
          • 啟動類添加注解@EnableConfigServer

          25、說說你對Spring Cloud Gateway的理解

          Spring Cloud Gateway是Spring Cloud官方推出的第二代網(wǎng)關(guān)框架,取代Zuul網(wǎng)關(guān)。網(wǎng)關(guān)作為流量的,在微服務(wù)系統(tǒng)中有著非常作用,網(wǎng)關(guān)常見的功能有路由轉(zhuǎn)發(fā)、權(quán)限校驗(yàn)、限流控制等作用。
          使用了一個RouteLocatorBuilder的bean去創(chuàng)建路由,除了創(chuàng)建路由RouteLocatorBuilder可以讓你添加各種predicates和filters,predicates斷言的意思,顧名思義就是根據(jù)具體的請求的規(guī)則,由具體的route去處理,filters是各種過濾器,用來對請求做各種判斷和修改。
          <END>

          推薦閱讀:

          阿里技術(shù)面:每天100w次登陸請求, 8G 內(nèi)存該如何設(shè)置JVM參數(shù)?

          MySQL適合運(yùn)行在Docker中嗎?

          互聯(lián)網(wǎng)初中高級大廠面試題(9個G)

          內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬并發(fā)、消息隊(duì)列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper......等技術(shù)棧!

          ?戳閱讀原文領(lǐng)??!                                  朕已閱 

          瀏覽 36
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久七黄色视频可看 | 成人免费网站在线 | 天码人妻一区二区三区在线看 | 亚洲精品456在线播放 | 深爱激情网五月天 |