大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 企業常見java中級工程師面試題

企業常見java中級工程師面試題

更新時間:2020-03-26 12:21:50 來源:動力節點 瀏覽2856次


  說一下分布式管理事務?


  簡單的來說呢,分布式事務其實就是一次大的操作分成了好的小的操作,這些小的操作分別部署在不同的服務器上,而且屬于不同的應用,分布式的事務其實就是保證這些小的事務要么都成功,要么都失敗。


  分布式事務出現的場景比如在支付和在線下單都會出現,我了解的分布式事務管理解決方法就是二次提交,基于MQ的特性,MQ作為二次提交的中間節點,負責儲存請求數據的,在失敗的情況下可以進行多次嘗試,還有可以基于MQ中的事務回滾操作,可以保證性能,又能保證業務一致性的方案。


  請你簡單介紹一下SpringCloud組件分別是什么,并有什么用處?


  SpringCloud中有五個組件,分別是:


  服務發現——Eureka


  負載均衡——Ribbon


  斷路器——Hystrix


  網關——Zuul


  配置——SpringCloudConfig


  Eureka是Netflix的一個子模塊,也是核心的模塊之一,Eureka是一個基于rest的服務,用于定位服務,服務注冊等功能,有了這些功能,只需要使用服務的標識符,就可以訪問到服務,而不需要調用服務的配置文件了,功能類似于dobbo中的zookerper。


  Ribbon主要提供負載均衡算法,它提供了一系列的配置項,比如連接超時,重試,重試算法等,他有一些實現策略:簡單輪詢負載均衡,加權響應時間,區域感知輪詢,隨機負載均衡。


  Hystrix可以防止個應用程序多次試圖執行一個操作,就是很可能失敗的操作,斷路器模式也可以檢測出故障是不是解決了,如果問題得到了解決,那么應用程序就可以嘗試調用操作。


  Zuul網關類似于Nginx,反向代理,不過netflix自己增加了一些配合其他組件的特性。


  SpringCloudConfig


  這個是靜態的,得配合SpringCloudBus實現動態的配置更新。


  為什么eureka可以實現高可用?


  在微服務的項目中,我們要考慮到發生故障的情況,所以也要對服務的注冊中心也要進行高可用的部署,那么eureka就是通過多個實例進行互相注冊,然后修改每個serviceUrl就可以,eurekaServer的高可用其實就是將自己作為服務去其他的注冊中心注冊自己,這樣就可以形成一組互相注冊的注冊中心,就可以實現服務清單的互相同步,這樣就達到了高可用的情況。


  Git合并分支的命令是什么?


  查看分支:gitbranch


  創建分支:gitbranch


  切換分支:gitcheckout


  創建+切換分支:gitcheckout-b


  合并某分支到當前分支:gitmerge


  刪除分支:gitbranch-d


  HashMap和HashTable的區別?


  首先他們兩個的底層都是基于數組+鏈表實現的,然后hashtable的key和value都不可以為空,他是線程安全的,他實現線程安全的方法是在修改數據時鎖住整個hashtable,這樣的話效率就會很低。


  Hashmap是線程非安全的,他可以存空值,我對他印象比較深的就是他的初始size是16,然后每次擴容都是以2的n次冪擴容的。


  負載均衡的策略有哪些?


  大約有很多種,但我了解的有輪詢的方式和最小連接數,輪詢就是很簡單的實現,依次將請求發送給后端的服務器,有點就是實現簡單,請求分配均勻,缺點也是在均勻,因為有的服務器性能好,可以承受更多的請求,但是他都是均勻分配的,所以也是有不合適的地方。最小連接數就是在后端服務器性能差異較大的話,可以優化lc的性能,高權值的服務可以承載更高的連接負載。


  線程池是什么?


  線程池就是java.util包下的有一個接口,用來創建線程池的,加入一個服務完成一項任務需要的時間是創建線程的時間,執行線程的時間,和銷毀線程的時間,如果創建的時間和銷毀的時間大于執行任務的時間,那我們就要采用線程池來提高服務器的性能了,線程池包括:線程池管理器(就是用來創建并管理線程的,也包括銷毀,添加新任務)工作線程(線程池中的線程,在沒有任務處于等待的情況下,可以循環的執行任務)任務接口(每個任務必須實現接口,供工作線程的調用),任務隊列(用來存放沒有處理的任務,提供一種緩沖的機制)線程池就是關注如何優化創建線程時間和銷毀線程時間的。


  常見的線程池有單個的線程池,和固定數量的線程池,還有就是無數量限制的線程池。


  熔斷是什么,用來處理什么問題的?


  熔斷機制就是應對微服務雪崩效應的一種鏈路保護機制,就是當我們某個微服務忽然不可用或者響應時間過長的時候,就會進行服務降級,熔斷該節點的服務調用,然后響應錯誤信息,等到檢測這個應用響應正常的時候,再恢復這個鏈路。SpringCloud中的熔斷是通過Hystrix實現的,它會監測服務的調用狀況,


  當失敗到達一定閾值的時候,就會啟動熔斷,熔斷機制的注解就是加一個注解,@hystrixCommand。


  線程間的通信是什么,通信狀態有幾種?


  在一個進程中,線程一般都不是單獨存在的,而是多個線程之間需要進行通信的。他們的體現就是,當一個線程傳輸數據給另一個線程,一個線程執行完特定的任務后轉到另一個線程繼續執行任務。線程通信的方法有perform,還有NSmachport:本地之間的通信,通過傳遞端口對象變量進行端口間的通信。他應該是通過代理模式來傳遞消息的。管道,命名管道,信號,消息隊列,共享內存


  消息隊列是干什么的,舉一個實際應用場景?


  消息隊列MQ就是一個保存消息的容器,另外它也是一個高性能的中間件。


  實際場景的話當我們用戶注冊后要初始化好多操作,比如調用郵箱服務發郵件,調用促銷活動發優惠券,這時候我們就可以把監聽服務交給MQ,當用戶注冊成功之后,就通知MQ讓其他服務開始操作,確保能保證用戶的性能。


企業常見java中級工程師面試題


  以上就是動力節點java培訓機構的小編針對“企業常見java中級工程師面試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 曰本亚洲欧洲色a在线 | 久草久草在线视频 | 亚洲午夜片子大全精品 | 亚洲一区二区久久 | 狠狠色丁香久久婷婷综合_中 | 国产一区二区三区毛片 | 国产一级视频 | 日韩欧美亚洲国产 | 精品九九九 | 中文字幕久精品免费视频蜜桃视频 | 波多野结衣与公中出中文字幕 | 高清一级毛片一本到免费观看 | 久久这里只有精品久久 | 国产午夜精品久久久久九九 | 成人人免费夜夜视频观看 | 一区二区三| 国产福利视频一区二区三区四区 | 高清人人天天夜夜曰狠狠狠狠 | 欧美精品色视频 | 99久久国产综合色 | 久久久日本精品一区二区三区 | 黄页网址在线免费观看 | 免费人成激情视频在线观看冫 | 久久黄色一级视频 | 天天摸夜夜 | 一区二区三区亚洲 | 天天骑天天射 | 精品国产91乱码一区二区三区 | 色88888久久久久久影院 | 一级a做爰片欧欧美毛片4 | 久久99精品久久久久久青青日本 | 精品欧美一区二区精品久久 | 久久久一区二区三区不卡 | 免费播放欧美毛片 | 一级黄色录像视频 | 精品一区二区三区在线视频 | 国产精品成人免费观看 | 亚洲欧美第一 | 国内精品一区二区三区最新 | 九九九九热 | 国产伦理久久精品久久久久 |