大战熟女丰满人妻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工程師面試題

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 免费永久国产在线视频 | 欧美末成年videos在线观看 | 亚洲国产一区二区三区 | aaa级大片 | 91大片| 男人资源站 | 成人亚洲视频 | 国产精品久久永久免费 | 欧美另类性视频在线看 | 天天操天天曰 | 亚洲视频中文字幕在线 | 日本一级高清片免费 | 亚洲精品爱爱久久 | 99久久精品免费看国产交换 | 香蕉视频国产精品 | 91模特 | 91狠狠 | 亚洲精品中文字幕区 | 四虎精品视频 | 欧美黄视频在线观看 | 久久国产精品久久久久久小说 | 中文字幕第一页亚洲 | 激情影院费观看 | 精品久久久久久无码中文字幕 | 日韩欧美精品一区二区三区 | 亚洲精品一区二区三区不卡 | 亚洲成人精品久久 | 日韩99在线| 成人毛片基地 | 国产一级做性视频 | 天天做天天爱天天怼 | 精品一区二区三区18 | 免费a黄色| 亚洲一区二区三区在线视频 | 青草社区视频 | 九九热精品免费视频 | 欧美大色网| 中文字幕精品一区 | 男人天堂视频在线观看 | 色婷婷色 | 久草视频福利在线观看 |