閱讀屋>筆試> 往年百度筆試真題

往年百度筆試真題

有關往年百度筆試真題

有關往年百度筆試真題1

  一,簡答題(本題共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

有關往年百度筆試真題2

  一,簡答題(本題共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。

有關往年百度筆試真題3

  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 ”,__FILE__);

  printf(”The current line No:%d ”,__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,saturday};

  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) from tableQQ where >

  (4) into tableQQ values(5555,’1234′);

【往年百度筆試真題】相關文章: