2007年百度招聘在線筆試真題解答$百度$
面試筆試7.38K
問題:
一、 一個文本文件有多行,每行為一個URL。請編寫代碼,統計出URL中的文件名及出現次數。
a) 文件名不包括域名、路徑和URL參數,例如中的文件名是rs。
b) 部分URL可能沒有文件名,例如,這類統計為“空文件名”。
c) 出現在不同URL中的相同文件名視為同一文件名,例如和為同一文件名
文件內容示例如下:
二、 一個簡單的論壇系統,以數據庫儲存如下數據:
用户名,email,主頁,電話,聯繫地址,發帖標題,發帖內容,回覆標題,回覆內容。
每天論壇訪問量300萬左右,更新帖子10萬左右。
請給出數據庫表結構設計,並結合範式簡要説明設計思路。
三、 現有兩個文件,
a)數據文件A,格式為:關鍵詞、IP地址、時間,記錄條數為1000萬左右,該文件是無序排列的。
b)數據文件B是關鍵詞ID到關鍵詞的對應表文件,格式為:ID、關鍵詞,記錄條數在100萬左右,也是無序排列的。該對應表中的記錄是一一對應的,不存在ID或者關鍵詞重複的情況。
要求將數據文件A對應的關鍵詞替換為B中的ID,生成新的數據文件C,數據文件C的格式為:關鍵詞ID、IP地址、時間。
請設計一個程序,實現上述功能,並分析時間複雜度和空間複雜度。運行程序所使用的服務器的內存為1G,硬盤足夠大。(至少要給出關鍵算法和設計思路)
專家回答:
第一題 簡評 百度的主要業務是搜索,搜索的基本原理如下 1.編寫爬蟲程序到互聯網上抓取網頁海量的網頁。 2.將抓取來的網頁通過抽取,以一定的格式保存在能快速檢索的文件系統中。 3.把用户輸入的字符串進行拆分成關鍵字去文件系統中查詢並返回結果。 由以上3點可見,字符串的分析,抽取在搜索引擎中的地位是何等重要。 因此,百度的筆試面試題中,出現這樣的題就變得理所當然了。 以下是該題的java實現,代碼如下:
import .*;
import .*;import .*; /** * @author tzy * 在j2sdk1.4.2下測
試通過 */public class FileNameStat{ private String srcPath;//要統計
的文件路徑 private Map statMap;//用於統計的map public
FileNameStat(String srcPath) { ath=srcPath
; statMap=new TreeMap(); } /*獲得要統
計的URL的文件名*/ public String getFileName(String urlString)
{ URL url=null; String filePath=null;
String fileName=null; try {
url=new URL(urlString); filePath=url
ath(); int index=0; if (
(index=IndexOf("/"))!=-1) {
fileName=tring(index+1);
} else {
fileName=""; } }
catch(MalformedURLException e) { }
return fileName; } /*統計指定文件名的
個數*/ public void stat(String filename) { Integer
count=null; if((filename)!=null)
{ count=(Integer)(filename);
count=new Integer(alue()+1); }
else { count=new Integer(1);
一、 一個文本文件有多行,每行為一個URL。請編寫代碼,統計出URL中的文件名及出現次數。
a) 文件名不包括域名、路徑和URL參數,例如中的文件名是rs。
b) 部分URL可能沒有文件名,例如,這類統計為“空文件名”。
c) 出現在不同URL中的相同文件名視為同一文件名,例如和為同一文件名
文件內容示例如下:
二、 一個簡單的論壇系統,以數據庫儲存如下數據:
用户名,email,主頁,電話,聯繫地址,發帖標題,發帖內容,回覆標題,回覆內容。
每天論壇訪問量300萬左右,更新帖子10萬左右。
請給出數據庫表結構設計,並結合範式簡要説明設計思路。
三、 現有兩個文件,
a)數據文件A,格式為:關鍵詞、IP地址、時間,記錄條數為1000萬左右,該文件是無序排列的。
b)數據文件B是關鍵詞ID到關鍵詞的對應表文件,格式為:ID、關鍵詞,記錄條數在100萬左右,也是無序排列的。該對應表中的記錄是一一對應的,不存在ID或者關鍵詞重複的情況。
要求將數據文件A對應的關鍵詞替換為B中的ID,生成新的數據文件C,數據文件C的格式為:關鍵詞ID、IP地址、時間。
請設計一個程序,實現上述功能,並分析時間複雜度和空間複雜度。運行程序所使用的服務器的內存為1G,硬盤足夠大。(至少要給出關鍵算法和設計思路)
專家回答:
第一題 簡評 百度的主要業務是搜索,搜索的基本原理如下 1.編寫爬蟲程序到互聯網上抓取網頁海量的網頁。 2.將抓取來的網頁通過抽取,以一定的格式保存在能快速檢索的文件系統中。 3.把用户輸入的字符串進行拆分成關鍵字去文件系統中查詢並返回結果。 由以上3點可見,字符串的分析,抽取在搜索引擎中的地位是何等重要。 因此,百度的筆試面試題中,出現這樣的題就變得理所當然了。 以下是該題的java實現,代碼如下:
import .*;
import .*;import .*; /** * @author tzy * 在j2sdk1.4.2下測
試通過 */public class FileNameStat{ private String srcPath;//要統計
的文件路徑 private Map statMap;//用於統計的map public
FileNameStat(String srcPath) { ath=srcPath
; statMap=new TreeMap(); } /*獲得要統
計的URL的文件名*/ public String getFileName(String urlString)
{ URL url=null; String filePath=null;
String fileName=null; try {
url=new URL(urlString); filePath=url
ath(); int index=0; if (
(index=IndexOf("/"))!=-1) {
fileName=tring(index+1);
} else {
fileName=""; } }
catch(MalformedURLException e) { }
return fileName; } /*統計指定文件名的
個數*/ public void stat(String filename) { Integer
count=null; if((filename)!=null)
{ count=(Integer)(filename);
count=new Integer(alue()+1); }
else { count=new Integer(1);
-
花旗商行筆試
花旗商行筆試發信站:北大未名站(2005年12月06日18:46:48星期二),轉信看有人問,説一下吧先是numericalreasoning,和shl的題感覺不太相同,時間稍緊一些不許使用計算器,總體來説還沒什麼問題然後是groupdiscussion,一組九個人,15min看案例(5頁英文)30min英文討論,最後要有...
-
盛大筆經(經歷而不是經驗)
1)髮捲子速度慢。。。恩2)公共卷是些邏輯,填數列,圖形填空什麼的iq題,難度一般(我就前兩個數列題卡住了。。。0,10,24,68,?)==3)遊戲軟件工程師的專業題有些選做題是分兩個方向的,要麼選做socket要麼選directx,想都不用想就選了前者=.=題目難度還可以,就是有些指針,內存...
-
阿里巴巴一個筆試題
A,B頭上各有一頂帽子,帽子上各有一個大於0的整數,已知這兩個整數相差1。A,B能看見對方的帽子,但是看不見自己。這時候:C問A:你知道你頭上的數字是多少嗎?A説:不知道C問B:你知道你頭上的數字是多少嗎?B説:不知道C又問A:你知道你頭上的數字是多少嗎?A説:不知道C又問B:你知道你頭...
-
我的第一次筆試-麥德龍儲備幹部 中大 2006-12-10
我的第一次筆試-麥德龍儲備幹部中大2006-12-106日晚上12點,打算查查郵件,然後上牀睡覺,竟然驚喜的發現麥德龍發了一份郵件給我,邀請我去參加9日在中大的筆試,雖然在500強企業精英學子見面會投簡歷的時候,我就覺得去麥德龍實習的機會是有的,那個可愛的HRJJ還問了我寒假...