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);
-
沃尔玛笔试分享
Wal-Mart笔试刚从沃尔玛笔试回来立马抱了电脑上床了头痛……上午是说明会和填表在我看来有点多余主要就是在宣扬他家的企业文化下午分组笔试我是第一组1:30--2:30正是最瞌睡的时候做完出来只觉得头痛欲裂恶心想吐题目倒也不难,中译英,英译中,25道英文...
-
华为的笔试题目
让对这个寓言发表见解,呵呵,挺老套的。管理寓言:一无所知的老海象下面的情形如何?老海象端坐在海边的一块巨岩上,大声发问。他期待着听到好消息。岩石下的一群小海象嘀咕了一会儿,事情一点都不妙,但没有哪只海象愿意告诉这位老祖宗真相。他是海象群中年龄最大也最聪明...
-
欧司朗笔试因祸得福
欧司朗笔试题目要求一小时搞定,主要包括:英语题目,专业题考什么是光电效应,LED发光的原因,还有几道画图的。都是电子的基础题吧,可是我都不会做,唉!谁叫我过去不努力呢!胡乱写些就过去了。前后不到10分钟,然后就是问答题,英语回答,英语提问。第一题是中译英,顺便跟自己做下...
-
思科(CISCO)笔试题目
以下问题来源于网络收集,感谢网友们的笔试经验分享!第一类:1.为什么"ethic"对于一个销售人员来说很重要?ethic能起到什么作用?2.假设一个场景:你去见一个客户,同时遇到了你的竞争对手之一,有恰巧有一个机会他离开片刻,把Notebook留在桌上,你有足够的时间去browse,这会使你...