版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2022年騰訊面試題(后臺(tái)開發(fā)崗位)第1題: 一、不定項(xiàng)選擇 將一組無(wú)序的數(shù)據(jù)重新排列成有序序列,其方法有() A 拓?fù)渑判?B 快速排序 C 堆排序 D 基數(shù)排序 答案:BCD 解析:在圖論中,由一個(gè)有向無(wú)環(huán)圖的頂點(diǎn)組成的序列,當(dāng)且僅當(dāng)滿意下列條件時(shí),稱為該圖的一個(gè)拓?fù)渑判颍ㄓ⒄Z(yǔ):Topological sorting)。 每個(gè)頂點(diǎn)消失且只消失一次;若A在序列中排在B的前面,則在圖中不存在從B到A的路徑。也可以定義為:拓?fù)渑判蚴菍?duì)有向無(wú)環(huán)圖的頂點(diǎn)的一種排序,它使得假如存在一條從頂點(diǎn)A到頂點(diǎn)B的路徑,那么在排序中B消失在A的后面 第2題: 某服務(wù)懇求經(jīng)負(fù)載均衡設(shè)備安排到集群A、B、C、D進(jìn)行
2、處理響應(yīng)的概率分別是10%、20%、30%和40%。已知測(cè)試集群所得的穩(wěn)定性指標(biāo)分別是90%、95%、99%和99.9%?,F(xiàn)在該服務(wù)器懇求處理失敗,且已排解穩(wěn)定性以外的問題,那么最有可能在處理該服務(wù)懇求的集群是_。 A、A B、B C、C D、D 答案:A B 解析:選中該集群,并且處理失敗了的概率為:10%*10%、20%*5%、30%*1%、40%*0.1%。A與B的概率最高。 第3題: 下列說法正確的有( ) A 環(huán)境變量可在編譯source code時(shí)指定 B 在編譯程序時(shí),所能指定的環(huán)境變量不包括class path C javac一次可同時(shí)編譯數(shù)個(gè)Java源文件 D javac.e
3、xe能指定編譯結(jié)果要置于哪個(gè)名目(directory) 答案:A C D 第4題: 下列說法錯(cuò)誤的有( ) A 數(shù)組是一種對(duì)象 B 數(shù)組屬于一種原生類 C int number=31,23,33,43,35,63 D 數(shù)組的大小可以任意轉(zhuǎn)變 答案:B C D 解答:Java把數(shù)組當(dāng)作一個(gè)java類來(lái)處理 java是純面對(duì)對(duì)象的語(yǔ)言,他的數(shù)組也是一個(gè)對(duì)象。 第5題: 下列說法錯(cuò)誤的有( ) A 能被java.exe勝利運(yùn)行的java class文件必需有main()方法 B J2SDK就是Java API C Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件 D 能被Applet
4、viewer勝利運(yùn)行的java class文件必需有main()方法 答案:B C D 解析如下: B選項(xiàng)中J2SDK是編程工具,不是API. C選項(xiàng)中 Appletviewer.exe 就是用來(lái)解釋執(zhí)行java applet應(yīng)用程序的,簡(jiǎn)潔理解就是沒有main函數(shù)的繼承applet類的java類。 D選項(xiàng)中 能被Appletviewer勝利運(yùn)行的java class文件沒有main()方法 第6題: 卡方分布的方差為2倍的自由度為? A n B 1 C 2n D 4n 答案:C 注解: 分布的均值為自由度 n,記為 E() = n。 分布的方差為2倍的自由度(2n),記為 D() = 2n。
5、 第7題: 如何削減換頁(yè)錯(cuò)誤? A 進(jìn)程傾向于占用CPU B 訪問局部性(localityofreference)滿意進(jìn)程要求 C 進(jìn)程傾向于占用I/O D 使用基于最短剩余時(shí)間(shortestremainingtime)的調(diào)度機(jī)制 答案:B 解析如下: 換頁(yè)錯(cuò)誤又稱缺頁(yè)錯(cuò)誤,當(dāng)一個(gè)程序試圖訪問沒有映射到物理內(nèi)存的地方時(shí),就會(huì)消失缺頁(yè)錯(cuò)誤, 這時(shí)操作系統(tǒng)就要去虛擬內(nèi)存中加載這塊內(nèi)存頁(yè)。 百度了一下,削減換頁(yè)錯(cuò)誤的方法,即降低缺頁(yè)中斷率: 1、內(nèi)存頁(yè)框數(shù)。增加作業(yè)分得的內(nèi)存塊數(shù)。2、頁(yè)面大小。頁(yè)面劃分越大,中斷率越低。3、替換算法的優(yōu)劣影響缺頁(yè)中斷次數(shù)4、程序局部性。程序局部性好可削減缺頁(yè)中斷
6、(為什么?)。 那么B是對(duì)的,而對(duì)于D,最短剩余時(shí)間調(diào)度是CPU調(diào)度就緒進(jìn)程的方式,與頁(yè)面置換算法無(wú)關(guān),不要搞混淆了。 第8題: Please choose the right statement about constusage: A const int a; /const integer B int const a; /const integer C int const *a; /a pointer which point to const integer D const int *a; /a const pointer which point to integer E int const
7、 *a; / a const pointer which point to integer 答案:ABC 解析如下: 對(duì)于A和B,int const 和 const int 可以顛倒位置,意義不變 CDE都表示指向const int 的指針,而int *const a 才表示指向int的const指針 第9題: 下列定義語(yǔ)句中,錯(cuò)誤的是 A int px*; B char*acp10; C char(*pac)10; D int(*p)(); 答案:A 第10題: 對(duì)類成員訪問權(quán)限的掌握,是通過設(shè)置成員的訪問掌握屬性實(shí)現(xiàn)的,下列不是訪問掌握屬性的是() A 公有類型 B 私有類型 C 愛護(hù)類型
8、 D 友元類型 答案:D 解析如下: C+中有三種權(quán)限掌握類型,分別是共有類型public,私有類型private,愛護(hù)類型protected. 友元是聲明一個(gè)類外的方法具有類方法同樣的訪問權(quán)限,目的是讓類外的方法可以訪問類內(nèi)部的屬性,不是訪問掌握屬性。 第11題: 給出以下定義,下列哪些操作是合法的? const char *p1 = “hello”; char *const p2 = “world”; A p1+; B p12 = w; C p22 = l; D p2+; 答案:A 解析如下: p1是指向字符常量的指針,p1本身不是常量,所以p1+合法,A正確。 p2本身是指針常量,可以指
9、向特別量的字符。但是hello這樣聲明的字符串是存儲(chǔ)在只讀存儲(chǔ)區(qū)的,不行修改,所以B,C,D都錯(cuò)誤。 第12題: 以下集合對(duì)象中哪幾個(gè)是線程平安的?( ) A ArrayList B Vector C Hashtable D Stack 答案:BCD 解析如下: 在集合框架中,有些類是線程平安的,這些都是jdk1.1中的消失的。在jdk1.2之后,就消失許很多多非線程平安的類。 下面是這些線程平安的同步的類: vector:就比arraylist多了個(gè)同步化機(jī)制(線程平安),由于效率較低,現(xiàn)在已經(jīng)不太建議使用。在web應(yīng)用中,特殊是前臺(tái)頁(yè)面,往往效率(頁(yè)面響應(yīng)速度)是優(yōu)先考慮的。 statck
10、:堆棧類,先進(jìn)后出 hashtable:就比hashmap多了個(gè)線程平安 enumeration:枚舉,相當(dāng)于迭代器 除了這些之外,其他的都是非線程平安的類和接口。 第13題: 若下列所用變量均已經(jīng)正確定義,一下表達(dá)式中不合法的是 A x3 B +j C a=xy?x:y D x%=4 答案:B 解析如下: A ,x右移三位 B,+j是j自增1,+j是不合法的,編譯出錯(cuò) C,這是一個(gè)三目運(yùn)算符,(exp1)?(exp2):(exp3) 當(dāng)exp1為true時(shí)個(gè)表達(dá)式結(jié)果為exp2 當(dāng)exp1為false時(shí)整個(gè)表達(dá)式結(jié)果為exp3 D,取余運(yùn)算,等價(jià)于x=x%4 第14題: test.c文件中包
11、括如下語(yǔ)句: #define INT_PTR int* typedef int* int_ptr; INT_PTR a,b; int_ptr c,d; 文件中定義的四個(gè)變量中,哪個(gè)變量類型不是指針類型? A a B b C c D d E 都是指針 F 都不是指針 答案:B 解析如下: #define INT_PTR int* 這是宏定義,編譯預(yù)處理階段要進(jìn)行宏替換,INT_PTR a,b會(huì)變成 int* a,b 所以b不是指針類型typedef int* int_ptr; 這是自定義類型,也就是把int_ptr定義為 int型指針,編譯階段會(huì)把c,d都識(shí)別為指針 第15題: 不屬于馮諾依曼體
12、系結(jié)構(gòu)必要組成部分是: A CPU B Cache C RAM D ROM 答案:B 第16題: 二、問答題 有1000億條記錄,每條記錄由url,ip,時(shí)間組成,設(shè)計(jì)一個(gè)系統(tǒng)能夠快速查詢以下內(nèi)容 1.給定url和時(shí)間段(精確到分鐘)統(tǒng)計(jì)url的訪問次數(shù)2.給定ip和時(shí)間段(精確到分鐘)統(tǒng)計(jì)ip的訪問次數(shù) 答:首先,1000億條記錄全部放到內(nèi)存確定不夠,那就是分成小文件了,然后整合; 公共的時(shí)間段,由于精確到分鐘,我們把這每一分鐘建成一個(gè)小文件,每個(gè)小文件確定會(huì)有很多重復(fù)的ip,url;現(xiàn)在統(tǒng)計(jì)每個(gè)小的文件中url的訪問量和ip的訪問次數(shù),方法就是建立索引;(建立索引的目的是為了削減查詢次數(shù),
13、但是隨著索引級(jí)數(shù)增多也會(huì)造成花更多的時(shí)間在建立索引上);建立url的索引,假如是./question,可以分別給.和question建立索引,那么來(lái)了一條url,先看一級(jí)索引是不是匹配,匹配再看二級(jí)索引,相同的話就是我們要的url目標(biāo);ip的索引也是一樣,ip分成4段建立索引;所以這里影響效率的就是在索引建立這塊,索引建立好那就是查詢的事了的,就會(huì)變得特別快。假定給定了某個(gè)時(shí)間段,找出url的訪問量,那么先找到給定的時(shí)間段,對(duì)應(yīng)著剛開頭分割的小的文件(每一個(gè)分鐘)中搜尋,通過索引找到相同的url之后,開頭統(tǒng)計(jì),直到搜尋完全部的給定時(shí)間段內(nèi)的全部的小的文件;求ip的訪問次數(shù)也是一樣,根據(jù)給定的時(shí)
14、間段,找到對(duì)應(yīng)的小的文件,通過索引找到相同的ip后統(tǒng)計(jì),直到搜尋完了給定時(shí)間段內(nèi)的全部的小的文件。 第17題: 實(shí)現(xiàn)一個(gè)簡(jiǎn)化的搜尋提示系統(tǒng)。給定一個(gè)包含了用戶query的日志文件,對(duì)于輸入的任意一個(gè)字符串s,輸出以s為前綴的在日志中消失頻率最高的前10條query。 由于是分布式系統(tǒng),假設(shè)至少有26臺(tái)機(jī)器,每個(gè)機(jī)器存儲(chǔ)以26個(gè)字母開頭的query日志文件(如機(jī)器1存的是a字母開頭的,機(jī)器2存的是以b字母開頭的) 每個(gè)機(jī)器上維護(hù)著一張哈希表,對(duì)于每條query, 在哈希表表中存放其地址(哈希地址為鏈?zhǔn)降模?,并?duì)其進(jìn)行排序,按頻率由高到低進(jìn)行排序。 當(dāng)用戶進(jìn)行搜尋時(shí),可以很快定位到某臺(tái)機(jī)器,并依據(jù)
15、哈希表,返回消失頻率最高的前10條query。 提示: 1、可以預(yù)處理日志 2、假設(shè)query不超過10億條,每個(gè)query不超過50字節(jié)。 3、考慮在大查詢量的狀況下如何實(shí)現(xiàn)分布式服務(wù) 系統(tǒng)前臺(tái): 用JS監(jiān)控input輸入框的內(nèi)容變化,用戶輸入或者刪除字符(輸入串的發(fā)生變化)就觸發(fā)異步Javascript提交輸入內(nèi)容到后臺(tái),引發(fā)后臺(tái)查詢。然后再講查詢結(jié)果消失頻率最高的前10條query呈現(xiàn)給用戶提示。 系統(tǒng)后臺(tái): 首先有26臺(tái)服務(wù)器分別存儲(chǔ)26個(gè)字母開頭的query。所以首先要設(shè)計(jì)一個(gè)接收用戶懇求的服務(wù)器,這臺(tái)服務(wù)器可以依據(jù)用戶懇求的首字母將查詢懇求分發(fā)給對(duì)應(yīng)26臺(tái)服務(wù)器中的一個(gè)(相當(dāng)于查詢
16、懇求的路由功能)。 然后就是這26臺(tái)查詢服務(wù)器如何設(shè)計(jì)的問題了。 假設(shè)query不超過10億條,每個(gè)query不超過50字節(jié)。也就是query文件不超過50G,分在26臺(tái)機(jī)器上也就是每臺(tái)機(jī)器上的query文件不超過2G。 每個(gè)機(jī)器上維護(hù)著一張哈希表,對(duì)于每條query, 在哈希表表中存放其地址。收到每個(gè)query做hash運(yùn)算可以找到query對(duì)應(yīng)的地址。對(duì)應(yīng)每個(gè)query存儲(chǔ)兩項(xiàng)信息,即query本身和被查詢次數(shù),也就是類似query:times這樣的存儲(chǔ)格式。 下面做預(yù)處理:26臺(tái)機(jī)器都對(duì)自身存儲(chǔ)的query進(jìn)行遍歷,分別找出a到z開頭query消失頻率最高的top10,這樣的查詢一次遍歷
17、就能找到,時(shí)間簡(jiǎn)單度為O(N)。然后對(duì)找到的top10在內(nèi)存中構(gòu)建一個(gè)最小堆。其他非top10的query無(wú)需做排序處理。到這里預(yù)處理完成。 然后說查詢過程,查詢分為兩類, 1,以給出搜尋提示的異步Javascript提交的查詢,這種查詢直接返回最小堆中的10個(gè)query詞條即可。 2,用戶最終提交的查詢(即用戶輸入完畢點(diǎn)擊搜尋按鈕提交的查詢),這種查詢的query是用戶最終查詢的詞條,這樣的查詢應(yīng)當(dāng)引起后臺(tái)存儲(chǔ)的對(duì)應(yīng)query頻率的變化。當(dāng)一個(gè)query到達(dá)的時(shí)候,先用hash運(yùn)算找到他的位置和對(duì)應(yīng)的頻率,hash操作時(shí)間簡(jiǎn)單度是O(1),然后對(duì)應(yīng)的次數(shù)+1,然后用這個(gè)+1的次數(shù)與最小堆中首
18、個(gè)元素比較,假如大于最小堆首個(gè)元素,與最小堆中首個(gè)元素交換,然后最小堆做更新操作,保證最小堆的特性。否則不操作。這樣最小堆中維護(hù)的10個(gè)query始終是這臺(tái)機(jī)器上頻率最高的,查詢時(shí)返回這10個(gè)query詞條即可。 第18題: 小米公司內(nèi)部每個(gè)員工都會(huì)有一個(gè)專屬的工作郵箱,郵箱的前綴是員工姓名的拼音全拼,例如張強(qiáng)的郵箱是zhangqiang,但同時(shí)公司里有許多同名的人,為了避開大家相互之間發(fā)錯(cuò)郵件,工程師們想了個(gè)規(guī)章來(lái)解決這個(gè)問題,即在這些同命人中,入職最早的郵箱前綴為姓名的拼音全拼,其次個(gè)入職的郵箱前綴為姓名的拼音全拼后面加“_a”,第三個(gè)入職的為姓名的拼音全拼后面加“_b”,以次類推,請(qǐng)按這個(gè)規(guī)章,假如公司里同時(shí)有3位名叫張強(qiáng)的員工,則他們的郵箱分別是zhangqiang,zhangqiang_a,zhangqiang_b.郵箱前綴是員工在公司里的重要標(biāo)識(shí)之一,問題來(lái)了:現(xiàn)在小米要進(jìn)行一次全員野外拉練活動(dòng),要求全部員工必需排成一隊(duì)出去,并且,有的員工要求他必需排在某人的前面或后面,作為組織者的你,收到
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 分校校長(zhǎng)聘用合同范例
- 冷庫(kù)門簾售賣合同范例
- 養(yǎng)殖溫控系統(tǒng)采購(gòu)合同模板
- 大豆土地流轉(zhuǎn)合同范例
- 員工簽合同模板
- 合同范例漢英雙語(yǔ)
- 別墅審計(jì)合同范例
- 借用股票帳戶合同模板
- pcb外包合同范例
- 會(huì)議要求采購(gòu)合同范例
- 教科版三年級(jí)科學(xué)上冊(cè)《第1單元第1課時(shí) 水到哪里去了》教學(xué)課件
- 國(guó)際貿(mào)易術(shù)語(yǔ)2020
- 國(guó)網(wǎng)新安規(guī)培訓(xùn)考試題及答案
- 2024至2030年中國(guó)節(jié)流孔板組數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 黑龍江省哈爾濱市師大附中2024-2025學(xué)年高一上學(xué)期10月階段性考試英語(yǔ)試題含答案
- 第六單元測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 【課件】Unit4+Section+B+(Project)課件人教版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 青少年法治教育實(shí)踐基地建設(shè)活動(dòng)實(shí)施方案
- 綠化養(yǎng)護(hù)續(xù)簽合同申請(qǐng)書范文
- 教科(2024秋)版科學(xué)三年級(jí)上冊(cè)2.6 我們來(lái)做“熱氣球”教學(xué)設(shè)計(jì)
- 追要工程款居間合同范本2024年
評(píng)論
0/150
提交評(píng)論