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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 職業(yè)指南 最新大廠面試總結(jié),Java架構(gòu)師面試題

最新大廠面試總結(jié),Java架構(gòu)師面試題

更新時間:2023-01-12 15:03:08 來源:動力節(jié)點 瀏覽1363次

第一題:一條sql執(zhí)行過長的時間,你如何優(yōu)化,從哪些方面?

答:1、查看sql是否涉及多表的聯(lián)表或者子查詢,如果有,看是否能進行業(yè)務(wù)拆分,相關(guān)字段冗余或者合并成臨時表(業(yè)務(wù)和算法的優(yōu)化)

2、涉及鏈表的查詢,是否能進行分表查詢,單表查詢之后的結(jié)果進行字段整合

3、如果以上兩種都不能操作,非要鏈表查詢,那么考慮對相對應(yīng)的查詢條件做索引。加快查詢速度

4、針對數(shù)量大的表進行歷史表分離(如交易流水表)

5、數(shù)據(jù)庫主從分離,讀寫分離,降低讀寫針對同一表同時的壓力,至于主從同步,MySQL有自帶的binlog實現(xiàn) 主從同步

6、explain分析sql語句,查看執(zhí)行計劃,分析索引是否用上,分析掃描行數(shù)等等

7、查看mysql執(zhí)行日志,看看是否有其他方面的問題

第二題:深入理解CAP

CAP原則又稱CAP定理,指的是在一個分布式系統(tǒng)中,一致性(Consistency)、可用性(Availability)、分區(qū)容錯性(Partition tolerance)這三個要素最多只能同時實現(xiàn)兩點,不可能三者兼顧。分布式系統(tǒng)肯定優(yōu)先保證P,多數(shù)時候是在C和A之間做權(quán)衡選擇!

C:各個節(jié)點查詢的數(shù)據(jù)都一致;

A:所有節(jié)點盡量可用;

P:節(jié)點之間無法通信;

AP架構(gòu)

向一個節(jié)點A寫入數(shù)據(jù)成功后,立刻給客戶端響應(yīng)寫成功的信號。

如果此時集群節(jié)點之間網(wǎng)絡(luò)斷開了,由于其可用性,其他節(jié)點仍然提供服務(wù),但是A節(jié)點的數(shù)據(jù)還未寫入到其他節(jié)點,當訪問除A之外的其他節(jié)點時,就會出現(xiàn)數(shù)據(jù)不一致的問題,當網(wǎng)絡(luò)恢復(fù)后,才會通過心跳保證最終一致性!

CP架構(gòu)

在向一個節(jié)點A寫入數(shù)據(jù)成功后,并不是馬上給客戶端響應(yīng)寫成功的信號,而是等待數(shù)據(jù)同步到其他節(jié)點后(個數(shù)取決于配置),才響應(yīng)客戶端,表示此次寫數(shù)據(jù)成功了!這在一定程度上保證了數(shù)據(jù)一致性。為了防止數(shù)據(jù)混亂,寫數(shù)據(jù)時只允許往Leader節(jié)點寫,讀數(shù)據(jù)時可以從所有節(jié)點讀取!

CP架構(gòu)下具有特殊的Leader - Flower機制,當發(fā)生網(wǎng)絡(luò)分區(qū)時,非Leader分區(qū)下的節(jié)點會變成不可用,重新進入選舉狀態(tài)。

第三題:雙十一秒殺高可靠如何實現(xiàn)?

Sentinel承接了阿里10年的促銷場景,利用:流量控制(通過設(shè)置QPS來控制),容錯(熔斷就是切斷壞路,讓后續(xù)新流量再走這個壞路),降級(備選B角,走了try-cath的機制,),三板斧解決高可靠。熔斷機制:通過滑動時間窗口實現(xiàn)的,對前一段時間的錯誤比例來設(shè)置熔斷點。

第四題:分布式事務(wù)問題如何解決?

Seata:服務(wù)端也是通過安裝和配置來實現(xiàn),使用很簡單,實現(xiàn)了事務(wù)協(xié)調(diào)功能,需要加一個依賴包,然后加一個注解@globalTranscational, AT模式,是最推薦的一種,舉例:Seata如何協(xié)調(diào)訂單和庫存?要求同時成功或者失敗。一階段:訂單和庫存,都先做回滾日志記錄在本地事務(wù)中,二階段:如果有一個失敗,通過回滾日志來回到回到初始。

第五題:nacos和zookeeper是如何防止腦裂的?

集群的腦裂通常是發(fā)生在集群之間通信不可達(分區(qū))的情況下,一個大集群會分裂成不同的小集群,小集群中又各自選舉出自己的master節(jié)點,導(dǎo)致原先的集群出現(xiàn)多個master節(jié)點對外提供服務(wù)的情況!

leader選舉時,要求節(jié)點獲取到的投票數(shù)量 > 總節(jié)點數(shù)量/2,有了這個選舉原則,當發(fā)生網(wǎng)絡(luò)分區(qū)時,無論如何最多只有一個小集群選出leader,避免集群發(fā)生腦裂。

第六題:線程間是怎么通信的,通過調(diào)用幾個方法來交互的?

線程是通過wait , notify等方法相互作用進行協(xié)作通信;

wait()方法使得當前線程必須要等待,直到到另外一個線程調(diào)用notify()或者notifyAll()方法喚醒

wait()和notify()方法要求在調(diào)用時線程已經(jīng)獲得了對象鎖,因此對這兩個方法的調(diào)用需要在 synchronized修飾的方法或代碼塊中。

Wait,notify,notifyAll都必須在synchronized修飾的方法或代碼塊中使用,都屬于Object的方法,可以被所有類繼承,都是final修飾的方法,不能通過子類重寫去改變他們的行為

第七題:SpringMVC工作流程?

1.用戶請求旅程的第一站是DispatcherServlet。

2.收到請求后,DispatcherServlet調(diào)用HandlerMapping,獲取對應(yīng)的Handler。

3.如果有攔截器一并返回。

4.拿到Handler后,找到HandlerAdapter,通過它來訪問Handler,并執(zhí)行處理器。

5.執(zhí)行Handler的邏輯。

6.Handler會返回一個ModelAndView對象給DispatcherServlet。

7.將獲得到的ModelAndView對象返回給DispatcherServlet。

8.請求ViewResolver解析視圖,根據(jù)邏輯視圖名解析成真正的View。

9.返回View給DispatcherServlet。

10.DispatcherServlet對View進行渲染視圖。

11.DispatcherServlet響應(yīng)用戶。

以上就是“最新大廠面試總結(jié),Java架構(gòu)師面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動力節(jié)點Java官網(wǎng)。

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

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产www在线播放 | 亚洲综合插 | 香蕉国产在线观看免费 | 美女网站色视频 | 99久热在线精品视频播放6 | 日韩国产欧美视频 | 天天色天天草 | 伊人久久香蕉 | 91探花在线视频 | 成人国产mv免费视频 | 蜜桃日本一道无卡不码高清 | 国产成人精品2021欧美日韩 | 免费中文字幕在线观看 | 妇女毛片| 欧美日本亚洲国产一区二区 | 亚洲视频网站在线观看 | 婷婷免费视频 | 国内一区亚洲综合图区欧美 | 九九九| 四虎影院在线观看免费 | 国产精品视频全国免费观看 | 亚洲第一区在线 | 成人性生免费视频 | 国产日韩久久久久69影院 | 天天操天天干天天操 | 国产区视频在线观看 | 亚洲午夜日韩高清一区 | 在线97视频| 九九视频只有精品六 | 国产一级毛片大陆 | 精品久久久久久中文字幕 | 亚洲一二区视频 | 日本不卡一区二区 | 国产欧美精品专区一区二区 | 一区二区三区在线播放视频 | 夜夜天天干| 狠狠色伊人亚洲综合第8页 狠狠色综合久久丁香婷婷 狠狠色综合久久婷婷 | 久久99久久成人免费播放 | 国偷盗摄自产福利一区在线 | 久久6精品 | 四虎在线观看免费视频 |