阿里巴巴笔试记
考点(不分先后次序):
C++:1.关于DOM的描述;2.网络蜘蛛系统;3.UTF-8;4.数据库检索:查准率和查全率;5.索引压缩;6.设计cralwer;7.Trie树查询;8.HTML&HTTP协议;9.信息检索模型;10.分布式通信协议;11.分布式搜索引擎;12.双向循环链表;13.快速排序;14.32位系统。
关于DOM的描述:
javascrip里面的dom(文档对象模型)它是一种模型,将格式化文档对象化处理。在xml和html 的处理中广泛应用。 //dom是定义超文本结构的对象及方法,分层次的,有容器类的对象,也有基本元素对象,而这些对象,都包含有相应的属性和对应的操作方法(接口)。
//一般而言,DOM结构准确地反映了HTML文档所包含的内容,也就是说,每个HTML标记表现为一个标记节点(tag node),每个文本项内容表现为一个文本项节点(text node)。//是W3C组织推荐的处理可扩展置标语言的标准编程接口。
2. 网络蜘蛛系统
网络蜘蛛即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。
对于搜索引擎来说,要抓取互联网上所有的网页几乎是不可能的,从目前公布的数据来看,容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。这其中的原因一方面是抓取技术的瓶颈,无法遍历所有的网页,有许多网页无法从其它网页的链接中找到;另一个原因是存储技术和处理技术的问题,
在抓取网页的时候,网络蜘蛛一般有两种策略:广度优先和深度优先(如下图所示)。广度优先是指网络蜘蛛会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络蜘蛛并行处理,提高其抓取速度。深度优先是指网络蜘蛛会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。这个方法有个优点是网络蜘蛛在设计的时候比较容易。两种策略的区别,下图的说明会更加明确。
在网络蜘蛛机器人系统里面,真正起指挥作用的是人工管理系统制定的规则和检索索引数据库。它可以决定什么样的网站抓的勤一点,或者干脆不抓.
3. UTF-8
使用UTF-8编码唯一的好处是,国外的用户如果使用Windows XP英文版,浏览UTF-8编码的任何网页,无论是中文、还是日文、韩文、阿拉伯文,都可以正常显示,UTF-8是世界通用的语言编码,UTF-8的推广要归功于Google的应用,以及Blog开发者。而如果用Windows XP英文版的IE6.0浏览gb2312语言编码的网页,则会提示是否安装语言包。因此,可能会失去很多的国外浏览者。 使用gb2312编码的好处是,因为程序产生的网页文本使用ANSI编码格式,会比UTF-8文本编码节省一些体积,访问速度会稍微快一点点,大约是30:38的比例,也就是30K的ANSI编码,转为UTF-8编码是38K,当然,这个比例并不准确,是会随Unicode字符集区域的不同而变化的。
www.qz26.com
UTF-8(8 位元 Universal Character Set/Unicode Transformation Format)是针对Unicode 的一种可变长度字符编码。它可以用来表示 Unicode 标准中的任何字符,而且其编码中的第一个字节仍与 ASCII 相容,使得原来处理 ASCII 字符的软件无需或只作少部份修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他储存或传送文字的应用中,优先采用的编码。 UTF-8 编码提供了一种简便而向后兼容的方法, 使得那种完全围绕 ASCII 设计的操作系统, 比如 Unix, 也可以使用 Unicode. UTF-8. UTF_8字符集