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