20xxIT面試筆試題目及參考答案_第1頁
20xxIT面試筆試題目及參考答案_第2頁
20xxIT面試筆試題目及參考答案_第3頁
20xxIT面試筆試題目及參考答案_第4頁
20xxIT面試筆試題目及參考答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

20xxlT面試筆試題目及參考答案20xx年前端面試題目前端MV框架的意義早期前端都是比較簡潔,基本以頁面為工作單元,內(nèi)容以閱讀型為主,也間或有簡潔的表單操作,基本不太須要框架。隨著AJAX的出現(xiàn),Web2.0的興起,人們可以在頁面上可以做比較困難的事情了,然后前端框架才真正出現(xiàn)了。假如是頁面型產(chǎn)品,多數(shù)的確不太須要它,因為頁面中的JavaScript代碼,處理交互的確定遠遠超過處理模型的,但是假如是應用軟件類產(chǎn)品,這就太須要了。長期做某個行業(yè)軟件的公司,一般都會沉淀下來一些業(yè)務組件,主要體現(xiàn)在數(shù)據(jù)模型、業(yè)務規(guī)則和業(yè)務流程,這些組件基本都存在于后端,在前端很少有相應的組織。從協(xié)作關系上講,很多前端開發(fā)團隊每個成員的職責不是很清晰,有了前端的MV框架,這個狀況會大有改觀。之所以感受不到MV框架的重要性,是因為Model部分代碼較少,View的相對多一些。假如主要在操作View和Controller,那當然jQuery這類庫比較好用了。參考《前端MV框架的意義》實現(xiàn)方法很簡潔:選取一個小表,假設是Filel,將其參加join的key抽取出來,保存到文件File3中,F(xiàn)ile3文件一般很小,可以放到內(nèi)存中。在map階段,運用DistributedCache將File3復制到各個TaskTracker上,然后將File2中不在File3中的key對應的記錄過濾掉,剩下的reduce階段的工作與reducesidejoin相同。4、reducesidejoin+BloomFilter在某些狀況下,SemiJoin抽取出來的小表的key集合在內(nèi)存中照舊存放不下,這時候可以運用BloomFiler以節(jié)約空間。BloomFilter最常見的作用是:推斷某個元素是否在一個集合里面。它最重要的兩個方法是:add()和contains。。最大的特點是不會存在falsenegative,即:假如contains。返回false,則該元素確定不在集合中,但會存在確定的truenegative,即:假如contains。返回true,則該元素可能在集合中。因而可將小表中的key保存到BloomFilter中,在map階段過濾大表,可能有一些不在小表中的記錄沒有過濾掉(但是在小表中的記錄確定不會過濾掉),這沒關系,只不過增加了少量的網(wǎng)絡10而已。ActiveMQ面試題及答案1>什么是ActiveMQ?activeMQ是一種開源的,實現(xiàn)了JMS1.1規(guī)范的,面對消息(M0M)的中間件,為應用程序供應高效的、可擴展的、穩(wěn)定的和平安的企業(yè)級消息通信。2、Activemq的瓶頸值依據(jù)網(wǎng)上一般評測文檔上來看,每秒的消息吞吐在2000以上,acticemq也可以集群化部署,也是運用zookeeper■來搭建。3、ActiveMQ服務器宕機怎么辦?這得從ActiveMQ的儲存機制說起。在通常的狀況下,非許久化消息是存儲在內(nèi)存中的,許久化消息是存儲在文件中的,它們的最大限制在配置文件的節(jié)點中配置。但是,在非許久化消息積累到確定程度,內(nèi)存告急的時候,ActiveMQ會將內(nèi)存中的非許久化消息寫入臨時文件中,以騰出內(nèi)存。雖然都保存到了文件里,但它和許久化消息的區(qū)分是,重啟后許久化消息會從文件中復原,非許久化的臨時文件會干脆刪除。那假如文件增大到達了配置中的最大限制的時候會發(fā)生什么?我做了以下試驗:設置2G左右的許久化文件限制,大量生產(chǎn)許久化消息直到文件達到最大限制,此時生產(chǎn)者堵塞,但消費者可正常連接并消費消息,等消息消費掉一部分,文件刪除又騰出空間之后,生產(chǎn)者又可接著發(fā)送消息,服務自動復原正常。設置2G左右的臨時文件限制,大量生產(chǎn)非許久化消息并寫入臨時文件,在達到最大限制時,生產(chǎn)者堵塞,消費者可正常連接但不能消費消息,或者原本慢速消費的消費者,消費突然停止。整個系統(tǒng)可連接,但是無法供應服務,就這樣掛了。具體緣由不詳,解決方案:盡量不要用非許久化消息,非要用的話,將臨時文件限制盡可能的調(diào)大。4、AcitveMQ的作用、原理?(生產(chǎn)者、消費者。p2p、訂閱實現(xiàn)流程)Activemq的作用就是系統(tǒng)之間進行通信。當然可以運用其他方式進行系統(tǒng)間通信,假如運用Activemq的話可以對系統(tǒng)之間的調(diào)用進行解耦,實現(xiàn)系統(tǒng)間的異步通信。原理就是生產(chǎn)者生產(chǎn)消息,把消息發(fā)送給activemq。Activemq接收到消息,然后查看有多少個消費者,然后把消息轉(zhuǎn)發(fā)給消費者,此過程中生產(chǎn)者無需參加。消費者接收到消息后做相應的處理和生產(chǎn)者沒有任何關系5、activemq在項目中如何應用的Activemq在項目中主要是完成系統(tǒng)之間通信,并且將系統(tǒng)之間的調(diào)用進行解耦。例如在添加、修改商品信息后,須要將商品信息同步到索引庫、同步緩存中的數(shù)據(jù)以及生成靜態(tài)頁面一系列操作。在此場景下就可以運用activemqo一旦后臺對商品信息進行修改后,就向activemq發(fā)送一條消息,然后通過activemq將消息發(fā)送給消息的消費端,消費端接收到消息可以進行相應的業(yè)務處理7、rabbitmq如何實現(xiàn)集群高可用?集群是保證服務牢靠性的一種方式,同時可以通過水平擴展以提升消息吞吐實力。RabbitMQ是用分布式程序設計語言erlang開發(fā)的,所以天生就支持集群。接下來,將介紹RabbitMQ分布式消息處理方式、集群模式、節(jié)點類型,并動手搭建一個高可用集群環(huán)境,最終通過java程序來驗證集群的高可用性。RabbitMQ分布式的消息處理方式有以下三種:(l)Clustering:不支持跨網(wǎng)段,各節(jié)點需運行同版本的Erlang和RabbitMQ,應用于同網(wǎng)段局域網(wǎng)。(2)Federation:允許單臺服務器上的Exchange或Queue接收發(fā)布到另一臺服務器上Exchange或Queue的消息,應用于廣域網(wǎng)。(3)Shovel:與Federation類似,但工作在更低層次。RabbitMQ對網(wǎng)絡延遲很敏感,在LAN環(huán)境建議運用clustering方式;在WAN環(huán)境中,則運用Federation或Shovelo我們平常說的RabbitMQ集群,說的就是clustering方式,它是RabbitMQ內(nèi)嵌的一種消息處理方式,而Federation或Shovel則是以plugin形式存在。請簡述盒模型IE6盒子模型與W3C盒子模型。文檔中的每個元素被描繪為矩形盒子。盒子有四個邊界:外邊距邊界margin,邊框邊界bder,內(nèi)邊距邊界padding與內(nèi)容邊界content。CSS3中有個box-sizing屬性可以限制盒子的計算方式,content-box:padding和bder不被包含在定義的width和height之內(nèi)。對象的實際寬度等于設置的width值和bder>padding之和。(W3C盒子模型)bder-box:padding和bder被包含在定義的width和height之內(nèi)。對象的實際寬度就等于設置的width值。(IE6盒子模型)參考《盒模型》請你談談Cookie的弊端a.每個特定的域名下最多生成的cookie個數(shù)有限制IE和Opera會清理近期最少運用的cookie,Firefox會隨機清理cookiecookie的最大大約為4096字節(jié),為了兼容性,一般不能超過4095字節(jié)d.平安性問題。假如cookie被人攔截了,那人就可以取得全部的session信息。閱讀器本地存儲在HTML5中供應了sessionstage和localStageosessionstage用于本地存儲一個會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當會話結(jié)束后數(shù)據(jù)也隨之銷毀,是會話級別的存儲。localstage用于許久化的本地存儲,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是恒久不會過期的。webstage和cookie的區(qū)分a.Cookie的大小是受限的b.每次你請求一個新的頁面的時候Cookie都會被發(fā)送過去,這樣無形中奢侈了帶寬cookie還須要指定作用域,不行以跨域調(diào)用WebStage擁有setitem,getltem等方法,cookie須要前端開發(fā)者自己封裝setCookie,getCookieCookie的作用是與服務器進行交互,作為HTTP規(guī)范的一部分而存在,而WebStage僅僅是為了在本地“存儲〃數(shù)據(jù)而生IE7、IE6中的UserData通過簡潔的代碼封裝可以統(tǒng)一到全部的閱讀器都支持webstage對BFC規(guī)范的理解BFC全稱是BlockFmattingContext,即塊格式化上下文。它是CSS2.1規(guī)范定義的,關于CSS渲染定位的一個概念。BFC是頁面CSS視覺渲染的一部分,用于確定塊盒子的布局及浮動相互影響范圍的一個區(qū)域。BFC的一個最重要的效果是,讓處于BFC內(nèi)部的元素與外部的元素相互隔離,使內(nèi)外元素的定位不會相互影響。利用BFC可以閉合浮動,防止與浮動元素重疊。參考《LearningBFC》線程與進程的區(qū)分a.一個程序至少有一個進程,一個進程至少有一個線程b.線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高c.進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率d.每個獨立的線程有一個程序運行的入口、依次執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必需依存在應用程序中,由應用程序供應多個線程執(zhí)行限制e.多線程的意義在于一個應用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應用,來實現(xiàn)進程的調(diào)度和管理以及資源支配你都運用哪些工具來測試代碼的性能?JSPerf,Dromaeo你遇到過比較難的技術問題是?你是如何解決的?常運用的庫有哪些?常用的前端開發(fā)工具?開發(fā)過什么應用或組件?Hadoop面試題及答案一、什么是Hadoop?Hadoop是一個開源軟件框架,用于存儲大量數(shù)據(jù),并發(fā)處理/查詢在具有多個商用硬件(即低成本硬件)節(jié)點的集群上的那些數(shù)據(jù)。總之,Hadoop包括以下內(nèi)容:HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系統(tǒng)):HDFS允許你以一種分布式和冗余的方式存儲大量數(shù)據(jù)。例如,1GB(即1024MB)文本文件可以拆分為16_128MB文件,并存儲在Hadoop集群中的8個不同節(jié)點上。每個分裂可以復制3次,以實現(xiàn)容錯,以便假如1個節(jié)點故障的話,也有備份。HDFS適用于依次的〃一次寫入、多次讀取〃的類型訪問。MapReduce:一個計算框架。它以分布式和并行的方式處理大量的數(shù)據(jù)。當你對全部年齡18的用戶在上述1GB文件上執(zhí)行查詢時,將會有"8個映射〃函數(shù)并行運行,以在其128MB拆分文件中提取年齡18的用戶,然后"reduce〃函數(shù)將運行以將全部單獨的輸出組合成單個最終結(jié)果。YARN(YetAnotherResourceNagotiator,又一資源定位器):用于作業(yè)調(diào)度和集群資源管理的框架。Hadoop生態(tài)系統(tǒng),擁有15多種框架和工具,如Sqoop,Flume,Kafka,Pig,Hive,Spark,Impala等,以便將數(shù)據(jù)攝入HDFS,在HDFS中轉(zhuǎn)移數(shù)據(jù)(即變換,豐富,聚合等),并查詢來自HDFS的數(shù)據(jù)用于商業(yè)智能和分析。某些工具(如Pig和Hive)是MapReduce上的抽象層,而Spark和Impala等其他工具則是來自MapReduce的改進架構(gòu)/設計,用于顯著提高的延遲以支持近實時(即NRT)和實時處理。二、基于Hadoop的數(shù)據(jù)中心的好處是什么?隨著數(shù)據(jù)量和困難性的增加,提高了整體SLA(即服務水平協(xié)議)。例如,"SharedNothing〃架構(gòu),并行處理,內(nèi)存密集型處理框架,如Spark和Impala,以及YARN容量調(diào)度程序中的資源搶占。1、縮放數(shù)據(jù)倉庫可能會很昂貴:添加額外的高端硬件容量以及獲得數(shù)據(jù)倉庫工具的許可證可能會顯著增加成本?;贖adoop的解決方案不僅在商品硬件節(jié)點和開源工具方面更便宜,而且還可以通過將數(shù)據(jù)轉(zhuǎn)換卸載到Hadoop工具(如Spark和Impala)來補足數(shù)據(jù)倉庫解決方案,從而更高效地并行處理大數(shù)據(jù)。這也將釋放數(shù)據(jù)倉庫資源。2、探究新的渠道和線索:Hadoop可以為數(shù)據(jù)科學家供應探究性的沙盒,以從社交媒體,日志文件,電子郵件等地方發(fā)覺潛在的有價值的數(shù)據(jù),這些數(shù)據(jù)通常在數(shù)據(jù)倉庫中不行得。3、更好的靈敏性:通常業(yè)務需求的變更,也須要對架構(gòu)和報告進行更改?;贖adoop的解決方案不僅可以靈敏地處理不斷進展的模式,還可以處理來自不同來源,如社交媒體,應用程序日志文件,image,PDF和文檔文件的半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。四、簡潔描述如何安裝配置一個apache開源版hadoop,只描述即可,無需列出完整步驟,能列出步驟更好。1>安裝JDK并配置環(huán)境變量(/etc/profi⑹;2、關閉防火墻;3、配置hosts文件,便利hadoop通過主機名訪問(/etc/hosts);4、設置ssh免密碼登錄;5、解壓縮hadoop安裝包,并配置環(huán)境變量;6、修改配置文件($HADOOP_HOME/conf);hadoop-env.shcore-site.xmlhdfs-site.xmlmapred-site.xml;7、格式化hdfs文件系統(tǒng)(hadoopnamenode-format);8、啟動hadoop($HADOOP_HOME/bin/start-all.sh);9、運用jps查看進程。五、請列出正常工作的hadoop集群中hadoop都分別須要啟動那些進程,他們的作用分別是什么,盡可能寫的全面些。1、NameNode:HDFS的守護進程,負責記錄文件是如何分割成數(shù)據(jù)塊,以及這些數(shù)據(jù)塊分別被存儲到那些數(shù)據(jù)節(jié)點上,它的主要功能是對內(nèi)存及10進行集中管理。2、SecondaryNameNode:幫助后臺程序,與NameNode進行通信,以便定期保存HDFS元數(shù)據(jù)的快照。3、DataNode:負責把HDFS數(shù)據(jù)塊讀寫到本地的文件系統(tǒng)。4、JobTracker:負責支配task,并監(jiān)控全部運行的task。5>TaskTracker:負責執(zhí)行具體的task,并與JobTracker進行交互。六、請列出你所知道的hadoop調(diào)度器,并簡要說明其工作方法比較流行的三種調(diào)度器有:默認調(diào)度器FIFO,計算實力調(diào)度器CapacityScheduler,公允調(diào)度器FairScheduler1、默認調(diào)度器FIFO:hadoop中默認的調(diào)度器,接受先進先出的原則。2、計算實力調(diào)度器CapacityScheduler:選擇占用資源小,優(yōu)先級高的先執(zhí)行。3、公允調(diào)度器FairScheduler:同一隊列中的作業(yè)公允共享隊列中全部資源。七、Hive有那些方式保存元數(shù)據(jù)的,各有那些特點。1、內(nèi)存數(shù)據(jù)庫derby,較小,不常用;2、本地mysql,較常用;3、遠程mysql,不常用。八、簡述hadoop實現(xiàn)Join的幾種方法。1>reducesidejoinreducesidejoin是一種最簡潔的join方式,其主要思想如下:在map階段,map函數(shù)同時讀取兩個文件Filel和File2,為了區(qū)分兩種來源的key/value數(shù)據(jù)對,對每條數(shù)據(jù)打一個標簽(tag),比如:tag=0表示來自文件Filel,tag=2表示來自文件File2。即:map階段的主要任務是對不同文件中的數(shù)據(jù)打標簽。在reduce階段,reduce函數(shù)獲得key相同的來自Filel和File2文件的valuelist,然后對于同一個key,對Filel和File2中的數(shù)據(jù)進行join(笛卡爾乘積)。即:reduce階段進行實際的連接操作。2、mapsidejoin之所以存在reducesidejoin,是因為在map階段不能獲

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論