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

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

Java中級程序員常見面試題

更新時間:2019-12-18 14:07:52 來源:動力節點 瀏覽4055次

說一下分布式管理事務?

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

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

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

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

  服務發現——Eureka

  負載均衡——Ribbon

  斷路器——Hystrix

  網關——Zuul

  配置——SpringCloud Config

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

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

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

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

  Spring Cloud Config

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

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

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

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

  查看分支:git branch

  創建分支:git branch

  切換分支:git checkout

  創建+切換分支:git checkout -b

  合并某分支到當前分支:git merge

  刪除分支:git branch -d

  HashMap和HashTable 的區別?

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

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

Java中級程序員常見面試題

  負載均衡的策略有哪些?

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

  線程池是什么?

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

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

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

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

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

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

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

Java中級程序員常見面試題

      以上就是動力節點Java培訓機構小編介紹的“Java中級程序員常見面試題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

相關推薦

最新最全java面試題及答案(初級到高級)

史上最全的中高級JAVA工程師面試題及答案匯總

Java高級開發工程師面試題

2019史上最全java面試題題庫大全800題

哪有資深java工程師面試題

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 这里只有精品在线播放 | 国产高清在线精品一区二区三区 | 国产日韩久久 | 欧美在线成人午夜网站 | 福利视频一区二区 | 在线看国产精品 | 在线亚洲免费 | 天天搞天天操 | 91久久福利国产成人精品 | 一区二区三区视频观看 | 成人a一级毛片免费看 | 视频二区 中文字幕 欧美 | 国产青草 | 欧美日韩一区二区不卡三区 | 女人18毛片特级一级免费视频 | 91高清在线成人免费观看 | 伊人999| 久久91这里精品国产2020 | 中文字幕日韩一区二区不卡 | 美女一级a毛片免费观看 | 亚洲精品久久午夜香蕉 | 久国产精品久久精品国产四虎 | 四虎影院永久在线 | 久久香蕉影院 | 亚洲国产美女视频 | h片免费在线观看 | 免费在线观看一级片 | 国产亚洲精品美女一区二区 | 99久久精品国产一区二区成人 | 狠狠操狠狠 | 国产高清在线观看麻豆 | 日产精品一二三四区国产 | 国产视频欧美 | 欧美日韩1区 | 免费看一级欧美毛片视频 | 热99re久久国超精品首页 | 亚洲成片观看四虎永久 | 色88888久久久久久影院 | 99久久99热精品免费观看国产 | 婷婷色网站 | 久久精品国产精品亚洲人人 |