有關(guān)往年百度筆試真題
考試包括筆試、面試,部分職位在面試階段組織專業(yè)能力測(cè)試。報(bào)考人員筆試成績(jī)、面試成績(jī)占綜合成績(jī)比例各為50%。下面小編給大家分享有關(guān)往年百度筆試真題內(nèi)容,希望能夠幫助大家!
往年百度筆試真題
一,簡(jiǎn)答題(本題共30分)
1. 當(dāng)前計(jì)算機(jī)系統(tǒng)一般會(huì)采用層次結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù),請(qǐng)介紹下典型的計(jì)算機(jī)存儲(chǔ)系統(tǒng)一般
分為哪幾個(gè)層次,為什么采用分層存儲(chǔ)數(shù)據(jù)能有效提高程序的執(zhí)行效率?(10分)
2. Unix/Linux系統(tǒng)的僵尸進(jìn)程是如何產(chǎn)生的?有什么危害?如何避免?(10)
3. 簡(jiǎn)述Unix/Linux系統(tǒng)中使用socket庫編寫服務(wù)器程序的流程,請(qǐng)分別用對(duì)應(yīng)的socket
通信函數(shù)表示。
二,算法與程序設(shè)計(jì)題(本題共45分)
1, 使用C/C++語言寫一個(gè)函數(shù),實(shí)現(xiàn)字符串的反轉(zhuǎn),要求不能用任何系統(tǒng)函數(shù),且時(shí)間復(fù)
雜度最小。函數(shù)原型是:char __reverse_str(char __str)(15分)
2, 給定一個(gè)如下輸入格式的字符串,(1,(2,3),(4,(5,6),7))括號(hào)內(nèi)的元素可以是
數(shù)字,也可以另一個(gè)括號(hào),請(qǐng)實(shí)現(xiàn)一個(gè)算法消除嵌套的括號(hào)。比如把上面的表達(dá)式變成:(1,2,3,4,5,6,7),如果表達(dá)式有誤請(qǐng)報(bào)錯(cuò)。(15分)
3, 相似度計(jì)算用于衡量對(duì)象之間的相似程度,在數(shù)據(jù)挖據(jù),自然語言處理中使一個(gè)基礎(chǔ)性
計(jì)算,在廣告檢索服務(wù)中往往也會(huì)判斷網(wǎng)民檢索Query和廣告Adword的主題相似度。假設(shè)Query或者Adword的主題屬性定義為一個(gè)長度為10000的浮點(diǎn)數(shù)據(jù)Pr[10000](稱之為主題概率數(shù)組),其中Pr[i]表示Query或者Adword屬于主題Id為i的概率,而Query和Adword的相似度簡(jiǎn)化定義為兩者主題概率數(shù)組的內(nèi)積,即sim(Query,Adword)=sum(QueryPr[i]__AdwordPr[i])(0<==i<10000).在實(shí)際應(yīng)用場(chǎng)景中,由于大多數(shù)主題的概率都為0,所以主題概率數(shù)組往往比較稀疏,在實(shí)現(xiàn)時(shí)會(huì)以一個(gè)緊湊型數(shù)組topic_info_t[]的方式保存,其中100<=數(shù)組大小<=1000,并按照topic_id遞增排列,0<=topic_id<10000,0
現(xiàn)在給出Query的topic_info_t數(shù)組和N(N>=5000)個(gè)Adwords的 topic_info-t數(shù)組,現(xiàn)要求出Query與Adwords的相似度最大值,即max(sim(Query,Adword[i])(0<=i& query_topic_info, Const vector adwords_topic_info[], Int adwords_number);
編寫代碼求時(shí)間復(fù)雜度最低的算法,并給出時(shí)間復(fù)雜度分析。(15分)
三,系統(tǒng)設(shè)計(jì)題(本題共25分)
在企業(yè)中,對(duì)生產(chǎn)數(shù)據(jù)進(jìn)行分析具有很重要的意義。但是生產(chǎn)數(shù)據(jù)通常不能直接用于數(shù)據(jù)分析,通常需要進(jìn)行抽取,轉(zhuǎn)換和加載,也就是業(yè)界常識(shí)的ETL
歷年百度筆試題
一,簡(jiǎn)答題(本題共30分)
1. 當(dāng)前計(jì)算機(jī)系統(tǒng)一般會(huì)采用層次結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù),請(qǐng)介紹下典型的計(jì)算機(jī)存儲(chǔ)系統(tǒng)一般
分為哪幾個(gè)層次,為什么采用分層存儲(chǔ)數(shù)據(jù)能有效提高程序的執(zhí)行效率?(10分)
2. Unix/Linux系統(tǒng)的僵尸進(jìn)程是如何產(chǎn)生的?有什么危害?如何避免?(10)
3. 簡(jiǎn)述Unix/Linux系統(tǒng)中使用socket庫編寫服務(wù)器程序的流程,請(qǐng)分別用對(duì)應(yīng)的socket
通信函數(shù)表示。
二,算法與程序設(shè)計(jì)題(本題共45分)
1, 使用C/C++語言寫一個(gè)函數(shù),實(shí)現(xiàn)字符串的反轉(zhuǎn),要求不能用任何系統(tǒng)函數(shù),且時(shí)間復(fù)
雜度最小。函數(shù)原型是:char __reverse_str(char __str)(15分)
2, 給定一個(gè)如下輸入格式的字符串,(1,(2,3),(4,(5,6),7))括號(hào)內(nèi)的元素可以是
數(shù)字,也可以另一個(gè)括號(hào),請(qǐng)實(shí)現(xiàn)一個(gè)算法消除嵌套的括號(hào)。比如把上面的表達(dá)式變成:(1,2,3,4,5,6,7),如果表達(dá)式有誤請(qǐng)報(bào)錯(cuò)。(15分)
3, 相似度計(jì)算用于衡量對(duì)象之間的相似程度,在數(shù)據(jù)挖據(jù),自然語言處理中使一個(gè)基礎(chǔ)性
計(jì)算,在廣告檢索服務(wù)中往往也會(huì)判斷網(wǎng)民檢索Query和廣告Adword的主題相似度。假設(shè)Query或者Adword的主題屬性定義為一個(gè)長度為10000的浮點(diǎn)數(shù)據(jù)Pr[10000](稱之為主題概率數(shù)組),其中Pr[i]表示Query或者Adword屬于主題Id為i的概率,而Query和Adword的相似度簡(jiǎn)化定義為兩者主題概率數(shù)組的內(nèi)積,即sim(Query,Adword)=sum(QueryPr[i]__AdwordPr[i])(0<==i<10000).在實(shí)際應(yīng)用場(chǎng)景中,由于大多數(shù)主題的概率都為0,所以主題概率數(shù)組往往比較稀疏,在實(shí)現(xiàn)時(shí)會(huì)以一個(gè)緊湊型數(shù)組topic_info_t[]的方式保存,其中100<=數(shù)組大小<=1000,并按照topic_id遞增排列,0<=topic_id<10000,0
現(xiàn)在給出Query的topic_info_t數(shù)組和N(N>=5000)個(gè)Adwords的 topic_info-t數(shù)組,現(xiàn)要求出Query與Adwords的相似度最大值,即max(sim(Query,Adword[i])(0<=i& query_topic_info, Const vector adwords_topic_info[], Int adwords_number);
編寫代碼求時(shí)間復(fù)雜度最低的算法,并給出時(shí)間復(fù)雜度分析。(15分)
三,系統(tǒng)設(shè)計(jì)題(本題共25分)
在企業(yè)中,對(duì)生產(chǎn)數(shù)據(jù)進(jìn)行分析具有很重要的意義。但是生產(chǎn)數(shù)據(jù)通常不能直接用于數(shù)據(jù)分析,通常需要進(jìn)行抽取,轉(zhuǎn)換和加載,也就是業(yè)界常識(shí)的ETL
往年騰訊筆試題目及答案
1. 1-20的兩個(gè)數(shù)把和告訴A,積告訴B,A說不知道是多少,B也說不知道,這時(shí)A說我知道了,B接著說我也知道了,問這兩個(gè)數(shù)是多少?
答案:2和3
2 爸爸,媽媽,妹妹,小強(qiáng),至少兩個(gè)人同一生肖的概率是多少?
1-12__11__10__9/12__12__12__12 = 1-55/96 = 41/96
3, 計(jì)算 a^b << 2
答案:
運(yùn)算符優(yōu)先級(jí):括號(hào),下標(biāo),->和.(成員)最高;
單目的比雙目的高;
算術(shù)雙目的比其他雙目的高;
位運(yùn)算 高于 關(guān)系運(yùn)算;
關(guān)系運(yùn)算 高于 按位運(yùn)算(與,或,異或);
按位運(yùn)算 高于 邏輯運(yùn)算;
三目的只有一個(gè) 條件運(yùn)算,低于邏輯運(yùn)算;
賦值運(yùn)算僅比 , (順序運(yùn)算)高。
在此題中,位左移”<<” 優(yōu)先級(jí)高于按位異或”^”,所以b先左移兩位(相當(dāng)于乘以4),
再與a異或。
例如: 當(dāng) a = 6; b = 4 時(shí); 則 a^b<<2 = 22
4 如何輸出源文件的標(biāo)題和目前執(zhí)行行的行數(shù)?
答案: printf(”The file name: %d\n”, __FILE__);
printf(”The current line No:%d\n”, __LINE__);
ANSI C標(biāo)準(zhǔn)預(yù)定義宏:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__ 當(dāng)要求程序嚴(yán)格遵循ANSI C標(biāo)準(zhǔn)時(shí)該標(biāo)識(shí)符被賦值為1
__cplusplus__ 當(dāng)編寫C++程序時(shí)該標(biāo)識(shí)符被定義
5 a[3][4]哪個(gè)不能表示 a[1][1]: __(&a[0][0]+5) __(__(a+1)+1) __(&a[1]+1) __(&a[0][0]+4)
答案: __(&a[1]+1)
a是數(shù)組的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。
6 fun((exp1,exp2),(exp3,exp4,exp5))有幾個(gè)實(shí)參?
答案:兩個(gè)。
形式參數(shù):在聲明和定義函數(shù)時(shí),寫在函數(shù)名后的括號(hào)中的參數(shù)。
實(shí)參是調(diào)用參數(shù)中的變量,行參是被調(diào)用函數(shù)中的變量。
7. 希爾 冒泡 快速 插入 哪個(gè)平均速度最快?
答案:快速排序
快速排序、歸并排序和基數(shù)排序在不同情況下都是最快最有用的。
8. enum的聲明方式
答案:enum 枚舉類型名 {
枚舉常量1,
枚舉常量2,
…
枚舉常量n
};
For example:
enum weekday { sunday, monday, tuesday, wednesday, thursday, friday, saturda
y};
enum weekday week_day;//week_day 就是一個(gè)枚舉類型變量
9. 頻繁的插入刪除操作使用什么結(jié)構(gòu)比較合適,鏈表還是數(shù)組?
答案:鏈表
10. __p=NULL __p=new char[100] sizeof(p)各為多少?
答案:都為4。因?yàn)槎际侵羔橆愋?,所占存?chǔ)空間必然為4。
11. 順序查找的平均時(shí)間
答案:(1+2+3+…+n)/n = (n+1)/2
12. for(i=0,sum=0; i<10; ++i,sum+=i);的運(yùn)行結(jié)果
答案:sum = 55
13. 不能做switch()的參數(shù)類型是:
答案:switch的參數(shù)不能為浮點(diǎn)型。
14.不使用其他變量,交換兩個(gè)整型a,b的值
答案:x = x+y; y = x-y; x = x-y
15. 寫出float x 與“零值”比較的if語句。
if(x>=0.000001 && x<=-0.000001)(x不為0的比較)
float: 6位精度
double: 16位精度
16. 有個(gè)表tableQQ,有整型的ID項(xiàng)和字符類型的Nickname項(xiàng),這兩個(gè)項(xiàng)都不允許為空
(1)寫出建立該表的SQL語句
(2)找出Nickname為QQ的用戶,按ID降序排列的SQL語句
(3)寫出刪除ID為1234用戶記錄的SQL語句
(4)寫出添加ID為5555,Nickname為’1234′的SQL語句
答案:
(1) CREATE TABLE tableQQ
(
ID NUMBER(12) NOT NULL,
Nickname Varchar2(30) NOT NULL
);
(2) select __ from tableQQ where Nickname = ‘QQ’ order by ID desc;
(3) delete from tableQQ where >
(4) insert into tableQQ values(5555,’1234′);