三:系统设计题
网络上所有的链接都可以用以下的三元素进行描述:
From_url(链接所在页面的URL)
to_url(链接所指向的URL)
anchor(链接在页面上所显示的内容)
现在假设所有的网页链接信息(from_url \ to_url \anchor)按from_url为轴都存储在M个(M:1k以内)巨型数据库中:
1, 链接存储形式:from_url to_url anchor;
2, 一个from_url的所有的to_url都存储在同一个数据库中;
3, 假设每个数据库存储的数据量相同
4, 要求设计一个获取所有链接分发程序,将这些数据均匀分发到N个远程数据库中(N:100以内)要求做到:1所有to_url相同的链接需要分到同一个远程数据库,2所有to_url的站点相同的需要分发到同一个远程数据库,3每个远程数据库获取的链接总数要尽量均匀,4每台数据库完成时间尽量保持一致5,获取网页的速度尽量快(从数据库中)
说明:对于url:http://mp3.baidu.com/m tn=baidump3,其中mp3.baidu.com属于站点信息。
2008-9-24百度笔试题(第二套题)
一:算法题
有一段文本,由英文字母、阿拉伯数字、GB2312编码的中文字符和一些常用标点符号(假设只包含全/半角的逗号和句子)组成。请写出程序,统计这段文本中每个字的出现次数,对“字”的定义如下:1,连续的英文字母或者阿拉伯数字,例如ab3或123,但最长不超过32个字符;2,包含不超过一个半角句点的两段连续数字,例如2.34,但最长不超过32个字符3,单个汉字
二:开放性题目
ORMapping是进行快速web开发经常使用到的技术,请设计一个简单的ORMapping框架,请首先说明设计思路,然后给出设计和Mapping部分的编码,并指出实现ORMapping所用到的编程语言的关键语言特性,要求:1,实现简单对象到关系的映射2,完成一对多关系到对象的映射。
三:数据库题
设计一个游戏积分系统,能够实现以下功能:1,用户在客户端结束游戏后,能够通过相应接口将积分进行上传;2,服务端保存结果并能展示该游戏的积分排行情况,分数按照从高到低排列,相同分数下按照提交时间的先后排定顺序;3,排行榜只展现排名前200的用户;4,同一个用户多次提交的情况下,只取分数最高的一次记录;5,系统要有一定的扩展性,能够灵活的增加、删除一个游戏。
要求:1,阐述客户端和服务端如何进行交互,交互流程是怎样的,设计合理的交互过程及接口。2,设计服务端存储系统,阐述采用的存储方案,如果是使用数据库,详细说明表的结构索引等。3,系统要求有很强的防作弊功能,能够屏蔽用户自己伪造数据提交成其他的spam行为。4,在满足功能的前提下,能够尽量提高整套系统的效率,例如:降低负载、缩短响应时间等。5,同时在线游戏的用户有百万级,因此单机很可能承受不了这么大的浏览压力,在设计系统的时候要考虑多台服务器如何部署,怎样保证负载均衡
说明:1,用户的登录信息系统可以直接获取到,设计的时候不用考虑这个问题2,要求中第5条为附加功能,在满足功能的前提下再考虑多服务器的部署问题3:客户端与服务器的交互采用简单的HTTP协议即可,不用考虑其他交互方式。
四:设计题
历史操作信息分页显示设计。现有一系统,需要保存用户6个月内的操作信息以提供给用户查询,由于历史操作的数据量特别大,采用每个月的操作信息保存在一张数据表的形式存储。设计实现用户查询操作信息时候的分页显示的实现算法,相关要求如下:需要向用户显示总的符合查询条件的记录数以及总的页数2,以上系统采用WEB形式实现。
2008-9-24百度笔试题(第三套题)
提示:写出你认为最优的答案,若写不出具体代码,也请写明解题思路。
1 名词解释:WEB前端开发指依托于浏览器的HTML/CSS、java script脚本和Flash等开发。
1, 2 请问一份标准的HTML文档有哪几个必须的HTML标签?
2, 3 java script脚本为Array对象添加一个去除重复项的方法?
3, 4 请问在java script中如何调用以下几个CSS属性:font-size,border-top-width, -moz-user-select
4, 5 java script脚本如何对一个对象进行深度Clone?
5, 6 有一个宽度补丁高度不定的圆角框图,先要切成网页,请写出HTML+CSS代码?
6, 7 用java script写一个图片跑马灯程序,图片从右向左动态无缝移动
7, 8 如何对网页的加载进行性能优化?
8, 9 [Linux]利用命令find查找当前目录下的名称尾为.C的文件,并将结果输出到标准输出的命令是_____________.
9, 10 [Flash附加题]请简要叙述:ActionScript与java script如何进行交互?请用简要的代码说明。
2008-9-24百度笔试题(第四套题)
一:编程题
现有一组共计N个固定的集合(N为万量级),每个集合有个从0开始递增的集合ID,每个集合包含1~M个TERM(M为0~100的量级),希望设计一个程序能够持续对外服务,输入是一个TERM数组,输出其中任意一个集合ID(如果该TERM数组包含该集合的所有TERM),如果找不到输出-1。要求:
1 时间复杂度最优,能够在短时间内对大量输入逐个输出
2 实现具体的代码(可以是伪代码),其中常用的数据结构可以采用标准库。
3 给出时间复杂度和空间复杂度。
TERM组合集合的文件格式举例:
TERM_1 空格 TERM_2
TERM_1 空格 TERM_3
TERM_1 空格 TERM_3 TERM_4
输入的为TERM数组(说明:TERM为一个词,可能是中文,固定字符串表示)
二:算法题
你现在有一个文件,文件中顺序存有N个记录,R1,R2,…,RN,这些记录不是有序的,但是你知道一个整数M,这些记录满足R1
1,设计一个算法或编写一个程序,将文件中的记录排序为R1′
2,设计一个算法或编写一个程序,将文件中的记录排序为R1′
三:设计题
1,