版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!IT求職面試時,面試官一般都會問你一些問題,也可能是通過問卷的形式提問,怎么回答才是最好的呢?這里給大家分享一些2020IT面試筆試題目,希望對大家有所幫助。RabbitMQ面試題及答案一、什么是RabbitMQ?采用AMQP高級消息隊列協(xié)議的一種消息隊列技術(shù),最大的特點就是消費并不需要確保提供方存在,實現(xiàn)了服務(wù)之間的高度解耦。二、為什么要使用RabbitMQ?①在分布式系統(tǒng)下具備異步,削峰,負(fù)載均衡等一系列高級功能;②擁有持久化的機(jī)制,進(jìn)程消息,隊列中的信息也可以保存下來。③實現(xiàn)消費者和生產(chǎn)者之間的解耦。④對于高并發(fā)場景下,利用消息隊列可以使得同步訪問變?yōu)榇性L問達(dá)到一定量的限流,利于數(shù)據(jù)庫的操作。⑤可以使用消息隊列達(dá)到異步下單的效果,排隊中,后臺進(jìn)行邏輯下單。三、RabbitMQ的使用場景有哪些?①跨系統(tǒng)的異步通信,所有需要異步交互的地方都可以使用消息隊列。就像我們除了打電話(同步)以外,還需要發(fā)短信,發(fā)電子郵件(異步)的通訊方式。②多個應(yīng)用之間的耦合,由于消息是平臺無關(guān)和語言無關(guān)的,而且語義上也不再是函數(shù)調(diào)用,因此更適合作為多個應(yīng)用之間的松耦合的接口?;谙㈥犃械鸟詈?不需要發(fā)送方和接收方同時在線。在企業(yè)應(yīng)用集成(EAI)中,文件傳輸,共享數(shù)據(jù)庫,消息隊列,遠(yuǎn)程過程調(diào)用都可以作為集成的方法。③應(yīng)用內(nèi)的同步變異步,比如訂單處理,就可以由前端應(yīng)用將訂單信息放到隊列,后端應(yīng)用從隊列里依次獲得消息處理,高峰時的大量訂單可以積壓在隊列里慢慢處理掉。由于同步通常意味著阻塞,而大量線程的阻塞會降低計算機(jī)的性能。④消息驅(qū)動的架構(gòu)(EDA),系統(tǒng)分解為消息隊列,和消息制造者和消息消費者,一個處理流程可以根據(jù)需要拆成多個階段(Stage),階段之間用隊列連接起來,前一個階段處理的結(jié)果放入隊列,后一個階段從隊列中獲取消息繼續(xù)處理。⑤應(yīng)用需要更靈活的耦合方式,如發(fā)布訂閱,比如可以指定路由規(guī)則。⑥跨局域網(wǎng),甚至跨城市的通訊(CDN行業(yè)),比如北京機(jī)房與廣州機(jī)房的應(yīng)用程序的通信。四、RabbitMQ有哪些重要的角色?RabbitMQ中重要的角色有:生產(chǎn)者、消費者和代理:①生產(chǎn)者:消息的創(chuàng)建者,負(fù)責(zé)創(chuàng)建和推送數(shù)據(jù)到消息服務(wù)器;②消費者:消息的接收方,用于處理數(shù)據(jù)和確認(rèn)消息;③代理:就是RabbitMQ本身,用于扮演“快遞”的角色,本身不生產(chǎn)消息,只是扮演“快遞”的角色。五、如何確保消息正確地發(fā)送至RabbitMQ?如何確保消息接收方消費了消息?1、發(fā)送方確認(rèn)模式①將信道設(shè)置成confirm模式(發(fā)送方確認(rèn)模式),則所有在信道上發(fā)布的消息都會被指派一個唯一的ID。②一旦消息被投遞到目的隊列后,或者消息被寫入磁盤后(可持久化的消息),信道會發(fā)送一個確認(rèn)給生產(chǎn)者(包含消息唯一ID)。③如果RabbitMQ發(fā)生內(nèi)部錯誤從而導(dǎo)致消息丟失,會發(fā)送一條nack(notacknowledged,未確認(rèn))消息。④發(fā)送方確認(rèn)模式是異步的,生產(chǎn)者應(yīng)用程序在等待確認(rèn)的同時,可以繼續(xù)發(fā)送消息。當(dāng)確認(rèn)消息到達(dá)生產(chǎn)者應(yīng)用程序,生產(chǎn)者應(yīng)用程序的回調(diào)方法就會被觸發(fā)來處理確認(rèn)消息。2、接收方確認(rèn)機(jī)制①消費者接收每一條消息后都必須進(jìn)行確認(rèn)(消息接收和消息確認(rèn)是兩個不同操作)。只有消費者確認(rèn)了消息,RabbitMQ才能安全地把消息從隊列中刪除。②這里并沒有用到超時機(jī)制,RabbitMQ僅通過Consumer的連接中斷來確認(rèn)是否需要重新發(fā)送消息。也就是說,只要連接不中斷,RabbitMQ給了Consumer足夠長的時間來處理消息。保證數(shù)據(jù)的最終一致性。3、下面羅列幾種特殊情況①如果消費者接收到消息,在確認(rèn)之前斷開了連接或取消訂閱,RabbitMQ會認(rèn)為消息沒有被分發(fā),然后重新分發(fā)給下一個訂閱的消費者。(可能存在消息重復(fù)消費的隱患,需要去重)②如果消費者接收到消息卻沒有確認(rèn)消息,連接也未斷開,則RabbitMQ認(rèn)為該消費者繁忙,將不會給該消費者分發(fā)更多的消息。關(guān)于Tomcat的面試題一、什么是Tomcat?Tomcat簡單的說就是一個運行JAVA的網(wǎng)絡(luò)服務(wù)器,底層是Socket的一個程序,它也是JSP和Serlvet的一個容器。二、tomcat結(jié)構(gòu)目錄有哪些?①bin:啟動和關(guān)閉tomcat的bat文件。②conf:配置文件。③server.xml該文件用于配置server相關(guān)的信息,比如tomcat啟動的端口號,配置主機(jī)(Host)。④web.xml文件配置與web應(yīng)用(web應(yīng)用相當(dāng)于一個web站點)⑤tomcat-user.xml配置用戶名密碼和相關(guān)權(quán)限。⑥lib:該目錄放置運行tomcat運行需要的jar包。⑦logs:存放日志,當(dāng)我們需要查看日志的時候,可以查詢信息。⑧webapps:放置我們的web應(yīng)用。⑨work工作目錄:該目錄用于存放jsp被訪問后生成對應(yīng)的server文件和.class文件。三、如何配置Tomcat虛擬目錄?1、在server.xml中的節(jié)點下添加如下代碼。path表示的是訪問時輸入的web項目名,docBase表示的是站點目錄的絕對路徑。2、進(jìn)入到confCatalinalocalhost文件下,創(chuàng)建一個xml文件,該文件的名字就是站點的名字。四、Tomcat體系結(jié)構(gòu)是怎樣的?瀏覽器->tomcatserver->service->connector->engine(引擎)->host(主機(jī))->web應(yīng)用。五、Web請求在Tomcat請求中的請求流程是怎么樣的?①瀏覽器輸入URL地址;②查詢本機(jī)hosts文件尋找IP;③查詢DNS服務(wù)器尋找IP;④向該IP發(fā)送Http請求;⑤Tomcat容器解析主機(jī)名;⑥Tomcat容器解析Web應(yīng)用;⑦Tomcat容器解析資源名稱;⑧Tomcat容器獲取資源;⑨Tomcat響應(yīng)瀏覽器。六、如何在tomcat集群中實現(xiàn)Session共享Apache集群實現(xiàn)Tomcat的Session共享配置其實很簡單,在Tomcat自帶的文檔中有詳細(xì)的說明(/docs/cluster-howto.html),只不過是英語的,所以聯(lián)合下面根據(jù)說下怎么配置吧:1、既然是集群肯定要多準(zhǔn)備幾個Tomcat來模擬,比如分別為Tomcat01、Tomcat02、Tomcat03。如果各Tomcat程序放在不同的機(jī)器上,那么就不會有端口的沖用造成的沖突。打開conf文件夾中的server.xml文件,需要修改的端口有:以上port需要修改,至于修改成什么樣子,看你自己了,只要不出現(xiàn)端口沖突就可以了,要保證各個Tomcat實例間沒有端口沖突。關(guān)于Zookeeper的面試題一、談下你對ZookeeperZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。二、Zookeeper都有哪些功能?1.集群管理:監(jiān)控節(jié)點存活狀態(tài)、運行請求等;2.主節(jié)點選舉:主節(jié)點掛掉了之后可以從備用的節(jié)點開始新一輪選主,主節(jié)點選舉說的就是這個選舉的過程,使用Zookeeper可以協(xié)助完成這個過程;3.分布式鎖:Zookeeper提供兩種鎖:獨占鎖、共享鎖。獨占鎖即一次只能有一個線程使用資源,共享鎖是讀鎖共享,讀寫互斥,即可以有多線線程同時讀同一個資源,如果要使用寫鎖也只能有一個線程使用。Zookeeper可以對分布式鎖進(jìn)行控制。4.命名服務(wù):在分布式系統(tǒng)中,通過使用命名服務(wù),客戶端應(yīng)用能夠根據(jù)指定名字來獲取資源或服務(wù)的地址,提供者等信息。三、談下你對ZAB協(xié)議的了解?ZAB協(xié)議是為分布式協(xié)調(diào)服務(wù)Zookeeper專門設(shè)計的一種支持崩協(xié)議包括兩種基本的模式:崩潰恢復(fù)和消息廣播。當(dāng)整個Zookeeper集群剛剛啟動或者Leader服務(wù)器宕機(jī)、重啟或者網(wǎng)絡(luò)故障導(dǎo)致不存在過半的服務(wù)器與Leader服務(wù)器保持正常通信時,所有服務(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é)點的狀態(tài)同步?Zookeeper的核心是原子廣播機(jī)制,這個機(jī)制保證了各個server之間的同步。實現(xiàn)這個機(jī)制的協(xié)議叫做Zab協(xié)議有兩種模式,它們分別是恢復(fù)模式和廣播模式。1.恢復(fù)模式當(dāng)服務(wù)啟動或者在領(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)。這時候當(dāng)一個server加入ZooKeeper服務(wù)中,它會在恢復(fù)模式下啟動,發(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工傷代表委托3篇
- 文藝演出技術(shù)服務(wù)咨詢合同3篇
- 新版購銷合同條款3篇
- 房屋買賣家政服務(wù)合同3篇
- 擠密樁灰土施工合同3篇
- 醫(yī)院門衛(wèi)招聘合同范文
- 城市綠化景觀改造與提升合同
- 藝術(shù)廣場幕墻裝飾施工協(xié)議
- 馬術(shù)俱樂部保潔員聘用合同
- 轉(zhuǎn)口貿(mào)易合同中爭議解決方式
- 2024年山東省政府采購專家入庫考試真題(共五套 第一套)
- 2024年全國《考評員》專業(yè)技能鑒定考試題庫與答案
- 實驗室安全準(zhǔn)入學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 切爾諾貝利核電站事故工程倫理分析
- 國開電大-工程數(shù)學(xué)(本)-工程數(shù)學(xué)第4次作業(yè)-形考答案
- 冀人版科學(xué)(2017)六年級上冊期末測試卷及答案
- 消防部隊干部競爭上崗答辯題1
- 增服葉酸預(yù)防神經(jīng)管缺陷理論知識考核試題及答案
- 施工現(xiàn)場臨水施工方案完整
- 單證管理崗工作總結(jié)與計劃
- 人教版九年級上冊數(shù)學(xué) 21.3 實際問題與一元二次方程(傳播問題)專題練習(xí)(Word版含答案)
評論
0/150
提交評論