版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!IT求職面試時(shí),面試官一般都會(huì)問你一些問題,也可能是通過問卷的形式提問,怎么回答才是最好的呢?這里給大家分享一些2020IT面試筆試題目,希望對大家有所幫助。RabbitMQ面試題及答案一、什么是RabbitMQ?采用AMQP高級消息隊(duì)列協(xié)議的一種消息隊(duì)列技術(shù),最大的特點(diǎn)就是消費(fèi)并不需要確保提供方存在,實(shí)現(xiàn)了服務(wù)之間的高度解耦。二、為什么要使用RabbitMQ?①在分布式系統(tǒng)下具備異步,削峰,負(fù)載均衡等一系列高級功能;②擁有持久化的機(jī)制,進(jìn)程消息,隊(duì)列中的信息也可以保存下來。③實(shí)現(xiàn)消費(fèi)者和生產(chǎn)者之間的解耦。④對于高并發(fā)場景下,利用消息隊(duì)列可以使得同步訪問變?yōu)榇性L問達(dá)到一定量的限流,利于數(shù)據(jù)庫的操作。⑤可以使用消息隊(duì)列達(dá)到異步下單的效果,排隊(duì)中,后臺(tái)進(jìn)行邏輯下單。三、RabbitMQ的使用場景有哪些?①跨系統(tǒng)的異步通信,所有需要異步交互的地方都可以使用消息隊(duì)列。就像我們除了打電話(同步)以外,還需要發(fā)短信,發(fā)電子郵件(異步)的通訊方式。②多個(gè)應(yīng)用之間的耦合,由于消息是平臺(tái)無關(guān)和語言無關(guān)的,而且語義上也不再是函數(shù)調(diào)用,因此更適合作為多個(gè)應(yīng)用之間的松耦合的接口?;谙㈥?duì)列的耦合,不需要發(fā)送方和接收方同時(shí)在線。在企業(yè)應(yīng)用集成(EAI)中,文件傳輸,共享數(shù)據(jù)庫,消息隊(duì)列,遠(yuǎn)程過程調(diào)用都可以作為集成的方法。③應(yīng)用內(nèi)的同步變異步,比如訂單處理,就可以由前端應(yīng)用將訂單信息放到隊(duì)列,后端應(yīng)用從隊(duì)列里依次獲得消息處理,高峰時(shí)的大量訂單可以積壓在隊(duì)列里慢慢處理掉。由于同步通常意味著阻塞,而大量線程的阻塞會(huì)降低計(jì)算機(jī)的性能。④消息驅(qū)動(dòng)的架構(gòu)(EDA),系統(tǒng)分解為消息隊(duì)列,和消息制造者和消息消費(fèi)者,一個(gè)處理流程可以根據(jù)需要拆成多個(gè)階段(Stage),階段之間用隊(duì)列連接起來,前一個(gè)階段處理的結(jié)果放入隊(duì)列,后一個(gè)階段從隊(duì)列中獲取消息繼續(xù)處理。⑤應(yīng)用需要更靈活的耦合方式,如發(fā)布訂閱,比如可以指定路由規(guī)則。⑥跨局域網(wǎng),甚至跨城市的通訊(CDN行業(yè)),比如北京機(jī)房與廣州機(jī)房的應(yīng)用程序的通信。四、RabbitMQ有哪些重要的角色?RabbitMQ中重要的角色有:生產(chǎn)者、消費(fèi)者和代理:①生產(chǎn)者:消息的創(chuàng)建者,負(fù)責(zé)創(chuàng)建和推送數(shù)據(jù)到消息服務(wù)器;②消費(fèi)者:消息的接收方,用于處理數(shù)據(jù)和確認(rèn)消息;③代理:就是RabbitMQ本身,用于扮演“快遞”的角色,本身不生產(chǎn)消息,只是扮演“快遞”的角色。五、如何確保消息正確地發(fā)送至RabbitMQ?如何確保消息接收方消費(fèi)了消息?1、發(fā)送方確認(rèn)模式①將信道設(shè)置成confirm模式(發(fā)送方確認(rèn)模式),則所有在信道上發(fā)布的消息都會(huì)被指派一個(gè)唯一的ID。②一旦消息被投遞到目的隊(duì)列后,或者消息被寫入磁盤后(可持久化的消息),信道會(huì)發(fā)送一個(gè)確認(rèn)給生產(chǎn)者(包含消息唯一ID)。③如果RabbitMQ發(fā)生內(nèi)部錯(cuò)誤從而導(dǎo)致消息丟失,會(huì)發(fā)送一條nack(notacknowledged,未確認(rèn))消息。④發(fā)送方確認(rèn)模式是異步的,生產(chǎn)者應(yīng)用程序在等待確認(rèn)的同時(shí),可以繼續(xù)發(fā)送消息。當(dāng)確認(rèn)消息到達(dá)生產(chǎn)者應(yīng)用程序,生產(chǎn)者應(yīng)用程序的回調(diào)方法就會(huì)被觸發(fā)來處理確認(rèn)消息。2、接收方確認(rèn)機(jī)制①消費(fèi)者接收每一條消息后都必須進(jìn)行確認(rèn)(消息接收和消息確認(rèn)是兩個(gè)不同操作)。只有消費(fèi)者確認(rèn)了消息,RabbitMQ才能安全地把消息從隊(duì)列中刪除。②這里并沒有用到超時(shí)機(jī)制,RabbitMQ僅通過Consumer的連接中斷來確認(rèn)是否需要重新發(fā)送消息。也就是說,只要連接不中斷,RabbitMQ給了Consumer足夠長的時(shí)間來處理消息。保證數(shù)據(jù)的最終一致性。3、下面羅列幾種特殊情況①如果消費(fèi)者接收到消息,在確認(rèn)之前斷開了連接或取消訂閱,RabbitMQ會(huì)認(rèn)為消息沒有被分發(fā),然后重新分發(fā)給下一個(gè)訂閱的消費(fèi)者。(可能存在消息重復(fù)消費(fèi)的隱患,需要去重)②如果消費(fèi)者接收到消息卻沒有確認(rèn)消息,連接也未斷開,則RabbitMQ認(rèn)為該消費(fèi)者繁忙,將不會(huì)給該消費(fèi)者分發(fā)更多的消息。關(guān)于Tomcat的面試題一、什么是Tomcat?Tomcat簡單的說就是一個(gè)運(yùn)行JAVA的網(wǎng)絡(luò)服務(wù)器,底層是Socket的一個(gè)程序,它也是JSP和Serlvet的一個(gè)容器。二、tomcat結(jié)構(gòu)目錄有哪些?①bin:啟動(dòng)和關(guān)閉tomcat的bat文件。②conf:配置文件。③server.xml該文件用于配置server相關(guān)的信息,比如tomcat啟動(dòng)的端口號,配置主機(jī)(Host)。④web.xml文件配置與web應(yīng)用(web應(yīng)用相當(dāng)于一個(gè)web站點(diǎn))⑤tomcat-user.xml配置用戶名密碼和相關(guān)權(quán)限。⑥lib:該目錄放置運(yùn)行tomcat運(yùn)行需要的jar包。⑦logs:存放日志,當(dāng)我們需要查看日志的時(shí)候,可以查詢信息。⑧webapps:放置我們的web應(yīng)用。⑨work工作目錄:該目錄用于存放jsp被訪問后生成對應(yīng)的server文件和.class文件。三、如何配置Tomcat虛擬目錄?1、在server.xml中的節(jié)點(diǎn)下添加如下代碼。path表示的是訪問時(shí)輸入的web項(xiàng)目名,docBase表示的是站點(diǎn)目錄的絕對路徑。2、進(jìn)入到confCatalinalocalhost文件下,創(chuàng)建一個(gè)xml文件,該文件的名字就是站點(diǎn)的名字。四、Tomcat體系結(jié)構(gòu)是怎樣的?瀏覽器->tomcatserver->service->connector->engine(引擎)->host(主機(jī))->web應(yīng)用。五、Web請求在Tomcat請求中的請求流程是怎么樣的?①瀏覽器輸入U(xiǎn)RL地址;②查詢本機(jī)hosts文件尋找IP;③查詢DNS服務(wù)器尋找IP;④向該IP發(fā)送Http請求;⑤Tomcat容器解析主機(jī)名;⑥Tomcat容器解析Web應(yīng)用;⑦Tomcat容器解析資源名稱;⑧Tomcat容器獲取資源;⑨Tomcat響應(yīng)瀏覽器。六、如何在tomcat集群中實(shí)現(xiàn)Session共享Apache集群實(shí)現(xiàn)Tomcat的Session共享配置其實(shí)很簡單,在Tomcat自帶的文檔中有詳細(xì)的說明(/docs/cluster-howto.html),只不過是英語的,所以聯(lián)合下面根據(jù)說下怎么配置吧:1、既然是集群肯定要多準(zhǔn)備幾個(gè)Tomcat來模擬,比如分別為Tomcat01、Tomcat02、Tomcat03。如果各Tomcat程序放在不同的機(jī)器上,那么就不會(huì)有端口的沖用造成的沖突。打開conf文件夾中的server.xml文件,需要修改的端口有:以上port需要修改,至于修改成什么樣子,看你自己了,只要不出現(xiàn)端口沖突就可以了,要保證各個(gè)Tomcat實(shí)例間沒有端口沖突。關(guān)于Zookeeper的面試題一、談下你對ZookeeperZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。二、Zookeeper都有哪些功能?1.集群管理:監(jiān)控節(jié)點(diǎn)存活狀態(tài)、運(yùn)行請求等;2.主節(jié)點(diǎn)選舉:主節(jié)點(diǎn)掛掉了之后可以從備用的節(jié)點(diǎn)開始新一輪選主,主節(jié)點(diǎn)選舉說的就是這個(gè)選舉的過程,使用Zookeeper可以協(xié)助完成這個(gè)過程;3.分布式鎖:Zookeeper提供兩種鎖:獨(dú)占鎖、共享鎖。獨(dú)占鎖即一次只能有一個(gè)線程使用資源,共享鎖是讀鎖共享,讀寫互斥,即可以有多線線程同時(shí)讀同一個(gè)資源,如果要使用寫鎖也只能有一個(gè)線程使用。Zookeeper可以對分布式鎖進(jìn)行控制。4.命名服務(wù):在分布式系統(tǒng)中,通過使用命名服務(wù),客戶端應(yīng)用能夠根據(jù)指定名字來獲取資源或服務(wù)的地址,提供者等信息。三、談下你對ZAB協(xié)議的了解?ZAB協(xié)議是為分布式協(xié)調(diào)服務(wù)Zookeeper專門設(shè)計(jì)的一種支持崩協(xié)議包括兩種基本的模式:崩潰恢復(fù)和消息廣播。當(dāng)整個(gè)Zookeeper集群剛剛啟動(dòng)或者Leader服務(wù)器宕機(jī)、重啟或者網(wǎng)絡(luò)故障導(dǎo)致不存在過半的服務(wù)器與Leader服務(wù)器保持正常通信時(shí),所有服務(wù)器進(jìn)入崩潰恢復(fù)模式,首先選舉產(chǎn)生新的Leader服務(wù)器,然后集群中Follower服務(wù)器開始與新的Leader服務(wù)器進(jìn)行數(shù)據(jù)同步。當(dāng)集群中超過半數(shù)機(jī)器與該Leader服務(wù)器完成數(shù)據(jù)同步之后,退出恢復(fù)模式進(jìn)入消息廣播模式,Leader服務(wù)器開始接收客戶端的事務(wù)請求生成事物提案來進(jìn)行事務(wù)請求處理。四、Zookeeper怎么保證主從節(jié)點(diǎn)的狀態(tài)同步?Zookeeper的核心是原子廣播機(jī)制,這個(gè)機(jī)制保證了各個(gè)server之間的同步。實(shí)現(xiàn)這個(gè)機(jī)制的協(xié)議叫做Zab協(xié)議有兩種模式,它們分別是恢復(fù)模式和廣播模式。1.恢復(fù)模式當(dāng)服務(wù)啟動(dòng)或者在領(lǐng)導(dǎo)者崩潰后,Zab就進(jìn)入了恢復(fù)模式,當(dāng)領(lǐng)導(dǎo)者被選舉出來,且大多數(shù)server完成了和leader的狀態(tài)同步以后,leader和server具有相同的系統(tǒng)狀態(tài)。2.廣播模式一旦leader已經(jīng)和多數(shù)的follower進(jìn)行了狀態(tài)同步后,它就可以開始廣播消息了,即進(jìn)入廣播狀態(tài)。這時(shí)候當(dāng)一個(gè)server加入ZooKeeper服務(wù)中,它會(huì)在恢復(fù)模式下啟動(dòng),發(fā)現(xiàn)leader,并和leader進(jìn)行狀態(tài)同步。待到同步結(jié)束,它也參與消息廣播。ZooKeeper服務(wù)一直維持在Broadcast狀態(tài),直到leader崩潰了或者leader失去了大部分的followers支持。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度化妝品產(chǎn)品代言合同協(xié)議4篇
- 2025年度臨時(shí)餐飲場地租賃服務(wù)協(xié)議8篇
- 二零二五年度水電設(shè)施智能化改造合同3篇
- 二零二五版餐飲企業(yè)廚師招聘與人才輸送協(xié)議3篇
- 二零二四事業(yè)單位員工試用期人才引進(jìn)與培養(yǎng)合作協(xié)議3篇
- 2024石材荒料購銷及石材產(chǎn)品安全檢測服務(wù)合同3篇
- 2024蔬菜種植與農(nóng)產(chǎn)品加工企業(yè)銷售合作協(xié)議范本3篇
- 2024進(jìn)出口食品貿(mào)易合同
- 二零二五版合同法擔(dān)保條款設(shè)計(jì)-企業(yè)風(fēng)險(xiǎn)控制策略3篇
- 二零二五年度在線教育平臺(tái)股權(quán)收購合同3篇
- GB/T 37238-2018篡改(污損)文件鑒定技術(shù)規(guī)范
- 普通高中地理課程標(biāo)準(zhǔn)簡介(湘教版)
- 河道治理工程監(jiān)理通知單、回復(fù)單范本
- 超分子化學(xué)簡介課件
- 高二下學(xué)期英語閱讀提升練習(xí)(一)
- 易制爆化學(xué)品合法用途說明
- 【PPT】壓力性損傷預(yù)防敷料選擇和剪裁技巧
- 大氣喜慶迎新元旦晚會(huì)PPT背景
- DB13(J)∕T 242-2019 鋼絲網(wǎng)架復(fù)合保溫板應(yīng)用技術(shù)規(guī)程
- 心電圖中的pan-tompkins算法介紹
- 羊絨性能對織物起球的影響
評論
0/150
提交評論