大战熟女丰满人妻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中級工程師面試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 天天射综合网站 | 日韩精品欧美精品中文精品 | 久热草 | 久久不卡精品 | 99视频精品全部国产盗摄视频 | 日韩中文精品亚洲第三区 | 欧美精品久久久久久久久大尺度 | 国产aav| 欧美在线国产 | 91九色在线视频 | 亚洲综合久久久久久中文字幕 | 欧美一级网址 | 毛片大全高清免费 | 亚洲欧美日韩高清一区二区三区 | 九九热精品在线 | 欧美日韩视频一区三区二区 | 五月天婷婷免费视频 | 久久综合综合 | a级无毛片 | 小视频在线免费观看 | 亚洲日本一区二区三区在线不卡 | 国产精品麻豆久久99 | 在线观看国产一区二三区 | 久久精品国产亚洲黑森林 | 国产片一级aaa毛片视频 | 日韩欧美色 | 国产成人综合自拍 | 狠狠操操 | 欧美另类黑人巨大videos | 美国一级毛片aa | 老司机午夜精品视频你懂的 | 国产一区免费观看 | 精品国产呦系列在线看 | 久久精品无码一区二区日韩av | 9999人体做爰大胆视频 | 欧美亚洲国产精品久久第一页 | 国产成人精品视频免费 | 亚洲国产成人久久77 | 国产深夜福利19禁在线播放 | 日本大片久久久高清免费看 | 欧美99热|