百度笔试题及答案

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

百度笔试题及答案

百度java笔试题(含答案)更多面试题,百度面试笔试题解答答案专家回答:第一题简评百度的主要业务是搜索,搜索的基本原理如下1.编写爬虫程序到互联网上抓取网页海量的网页。

2.将抓取来的网页通过抽取,以一定的格式保存在能快速检索的文件系统中。

3.把用户输入的字符串进行拆分成关键字去文件系统中查询并返回结果。

由以上3点可见,字符串的分析,抽取在搜索引擎中的地位是何等重要。

因此,百度的笔试面试题中,出现这样的题就变得理所当然了。

以下是该题的java实现,代码如下:程序代码程序代码import .*;import java.io.*;import java.util.*; /** * @author tzy * 在j2sdk1.4.2下测试通过*/ public class FileNameStat{private String srcPath;//要统计的文件路径private Map statMap;//用于统计的map public FileNameStat(String srcPath){this.srcPath=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.getPath();int index=0;if ((index=stIndexOf("/"))!=-1){fileName=filePath.substring(index+1

);else{fileName="";}}catch(MalformedURLException e){}return fileName;} /*统计指定文件名的个数*/public void stat(String filename){Integer count=null;if(statMap.get(filename)!=null){count=(Integer)statMap.get(file name);count=new Integer(count.intValue()+1);}else{count=new Integer(1);}statMap.put(filename,count);} /*统计的主方法*/public void start() throws FileNotFoundException,IOException{BufferedReader bfin=new BufferedReader(new FileReader(this.srcPath));String temp=null;while((temp=bfin.readLine())!=null){stat(getFileName(temp)); }} /*输出统计结果*/public void result(){Iterator it=statMap.entrySet().iterator();while(it.hasNext()){Map.Entry

entry=(Map.Entry)(it.next());System.out.println((entry.getKey().equals("")? "空文件名":entry.getKey()) + "的个数是" + entry.getValue()); }}public static void main(String[] args) throws Exception{FileNameStat fns=new FileNameStat("src.txt");//指定成待统计文件fns.start();fns.result();}} 第二题简评:这道题也与百度的业务有关,百度现在除了搜索外,还有贴吧,知道,博客等重要产品。

同时也在积极的探索社区化,包括前不久宣布进军电子商务领域,搜索之外的这些产品,其主要功能的实现主要是对数据库的操作。

因此,想进入百度,也需要对数据库有一定的认识。

实现思路及数据库设计:1,该论坛主要有两个实体对象,用户和帖子;对于帖子对象,有一个问题:回复的帖子是否应该跟主题帖

子存放在同一个表里? 考虑到每天更新10万帖子,说明帖子数比较多,为了方便主题的呈现,我一般都把主题贴和回帖分别放在不同的表中,把主题贴和回帖分开可以提高查询效率(300万的访问量每天)。

2,按照1中的思路,该论坛由两个对象(用户和帖子)变成三个实体对象,分别是用户,主题帖子,回复帖子;3,上述三个对象存在三个关系,分别是:用户--主题帖,一个用户可以发0个或多个帖子,一个帖子对应一个用户(一对多关系),主题帖--回复帖:一个主题有0个或多个回复帖子,一个回复帖子对应一个主题(一对多关系); 用户--回复贴:一个用户可以回0个或多个帖,一个帖子对应一个用户(一对多关系)。

还存在对回复贴的回复,这个考虑用fatherId来表示。

4,由于三个关系用户--主题帖,主题帖--回复帖,用户--回复贴都是一对多关系,根据表设计一般原则,可以将这两个关系独立建立表,也可以不另外建表而将一对多的关系体现在实体表中;然而,表间的连接查询是非常耗资源的,所以应尽量减少表间连接,那么对三个关系不应该分别建表,而是把用户的id作为主题表和回帖表的外键,把主题贴id作为回帖表的外键。

5,鉴于以上考虑,该论坛的三个表如下所示表名:t_user_info (用户信息表) 字段名类型缺省值中文含义约束备注id Int 用户编号PRI Auto_incrementName Varchar(30) 用户名Email Varchar(50)Phone Varchar(30) Addr Varchar(200) 其他字段

相关文档
最新文档