阿里巴巴笔试习题收集贴

1、DOM

DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/),

DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。换句话说,这是一种

表示和处理一个HTML或XML文档的常用方法。

DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中导航寻找特定信息

。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,

因而 DOM 被认为是基于树或基于对象的。

2、utf-8编码字节大小?

utf编码是不定长编码,每一个字符的长度从1-6个字节不等。另外,utf编码自带简单的校验功能。一般来

讲,英文字母都是用一个字节表示,而汉字使用三个字节。

3、网络蜘蛛

4、分布列(概率中的数学期望)
5、搜索查准率和查全率的一个计算

6、索引压缩   http://blog.csdn.net/Java2King/archive/2009/09/23/4585731.aspx

7、cralwer速度的影响

8、信息熵量大小的影响

9、Trie算法的最差时间复杂度

10、HTML

11、HTTP协议

12、信息检索模型

13、分布式通信协议

14、分布式搜索引擎

---------------------------------------------------------------------------------

2009 9-21更新

1、要对语句A>1 OR B <= 3 测试……(不记得了)100%覆盖,至少要多少测试用例

2、典型的针对系统漏洞的Dos攻击?

3、4,2,2,3,6,15,( ?) A,20 B,24 C,25 D,45

4、3升,5升,7升量筒,已知3、5量筒装满水,7量筒为空,问至少要倒多少次才能使其中一个量筒的水为

4升

5、保护邮件安全的软件?

6、普通用户执行超级用户文件的指令

7、软件测试对象

8、软件缺陷生命期

9、OPENAPI平台

10、超长字符串攻击属于?

11、项目的最重要的是()和()

12、可能引起Cross Site Scripting攻击的是?

13、马可夫模型(HMM)的三个基础?(非选择)

14、有序集合a, b,求交集(非选择)
-------------------------------------------------------------------------------------------

2009 9-21更新

4、抽象类与接口有什么不同?

6、写出2乘以17效率最高的算法?

8、简述final、fianlly和finalize的区别?

9、简述ArrayLists和LinkedList的区别?
10、在try的括号里面有return一个值,那是否还执行finally里的代码。是在return前执行还是return后

执行。

设计模式题
简述templates和××××(忘了)的区别?

数据库题
12、创建学生表S,课程表C,学生选课表SC。写出建表的SQL语句。
13、写出返回选了全部课程的学生的SQL语句。
14、写出返回至少选了5门课的学生的SQL语句。

javascript题
15、实现点击页面上的一个链接,然后隐藏这个链接的javascript代码。

测试知识题
16、简述什么是测试驱动开发(TDD)。

补充题
17、说说你希望从阿里巴巴得到什么。用3个名词概括。

------------------------------------------------------------------------------------------

一、IPSec协议
      IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange (IKE)和用于网络认证及加密的一些算法等。IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
     IPSec协议是一个范围广泛、开放的VPN安全协议,工作在OSI模型中的第三层——网络层。
     IPSec协议实际上是一套协议而不是一个单个的协议。
二、隧道技术(Tunneling)
      隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。
  要使数据顺利地被封装、传送及解封装,通信协议是保证的核心。目前VPN隧道协议主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5协议。其中,PPTP和L2TP工作在数据链路层,IPSec工作在网络层,SOCK v5工作在会话层。各协议工作在不同层次,我们应该注意,不同的网络环境适合不同的协议,在选择VPN产品时,应该注意选择。
三、SSL和HTTPS
     SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持;SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL协议提供的服务主要有:认证用户和服务器,确保数据发送到正确的客户机和服务器;加密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变。
      https是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL。
四、GnuPG
       电子邮件和数据加密领域,PGP(Pretty Good Privacy)是最为有名的加密工具之一。从9.0版开始,PGP已经发展成为个人计算机数据保护的一个全面的解决方案。你也不一定非要花上大价钱才能保护邮件内容。GnuPG以实际行动证实了它是开源软件中最好的解决方式之一。它能与绝大多数电子邮件客户程序结合,为其提供强大的加密技术。
      GnuPG进行加密要通过叫作公共密钥基础设施(PKI)的简单原理。每个GnuPG用户都拥有由一个公共密钥和一个私有密钥组成的密钥对。使用公共密钥进行加密的电子邮件只能用对应的私有密钥解码。公共密钥及其对应的电子邮件地址集中储存在GnuPG密钥服务器上的数据库中;私有密钥只有它的主人才知道,且在每次使用时都必须输入密码。要想对一条信息进行加密必须从密钥服务器上获得接收人的公共密钥。
五、linux中怎么查找权限位为S的文件
      两种特殊的文件访问权限分别是SUID(八进制为4000)和SGID(八进制为2000)。设置这两种权限的文件,将使其它用户在执行它们时拥有所有者的权限。也就是说,如果一个设置为SUID的程序,即使是普通用户使用也是作为root来运行的。因此,SUID/SGID文件是安全的隐患。
      find / -type f -perm +6000 -ls | less
      find / -type f -perm +6000 > Suid-Sgid.txt
六、软件缺陷生命周期
      软件缺陷是指系统或系统部件中那些导致系统或部件不能实现其功能的缺陷。软件缺陷的起源:需求、构架、设计、编码、测试、用户。对于每一个软件缺陷都规定了6个生命状态:Open、Working、Verify、Cancel、Close、Defer,它们的基本定义是:
        Open态---缺陷初试状态,软件测试员报告一个缺陷,缺陷生命周期开始;
        Working态---缺陷修改状态,程序员接收缺陷,正在修改中;
        Verify态---缺陷验证状态,程序员修改完毕,等待软件测试员验证;
        Close态---缺陷关闭状态,软件测试员确认缺陷被改正,将缺陷关闭;
        Cancel态---缺陷删除状态,软件测试员确认不是缺陷,将缺陷置为删除状态 (不做物理删除);
        Defer态---缺陷延期状态,管理者确认缺陷需要延期修改或追踪,将缺陷置为延期状态;
        上述Open态、Working态、Verify态,称为缺陷的活动态;
        Close态、Cancel态、Defer态,称为缺陷的终结态。
七、项目最重要的特性
   
     我提一点,根据客户的水平采用不同的过程模型。  
     例如:  
    1、客户如果有一定的项目经验,对计算机比较了解,能给出比较明确的需求,可以采用瀑布模型。  
    2、客户如果对计算机不是太了解,但有过类似项目的经验,并且能积极的给出需求。需求基本正确,可以采用演化式原型开发方法。  
    3、如果客户对计算机能为他做什么没有概念的话。这时就比较适合用废弃式原形开发方法。  
    4、如果客户的主要需求基本稳定,但需求的增长速度和变动频率都比较高,这时就应该用螺旋模型做开发过程模型。
八、HMM
     隐马尔科夫模型(hidden Markov model,缩写为HMM)的提出最初是在语音处理领域。HMM是在Markov链的基础上发展起来的一种统计模型。由于实际问题比Markov链模型所描述的更为复杂,因此在HMM中观察到的事件与状态并不是一一对应,而是与每个状态的一组概率分布相联系。它是一个双重随机过程,其中之一是Markov链,描述状态的转移;另一个描述每个状态和观察值之间的统计对应关系。这样,HMM以概率模型描述观察值序列,具有很好的数学结构,能够比较完整地表达观察值序列的特征。
   评估问题:对于给定模型,求某个观察值序列的概率p(σ|λ) ;
   解码问题:对于给定模型和观察值序列,求可能性最大的状态序列;
   学习问题:对于给定的一个观察值序列,调整参数λ,使得观察值出现的概率p(σ|λ)最大。
    HMM的状态是不确定或不可见的,只有通过观测序列的随机过程才能表现出来;观察到的事件与状态并不是一一对应,而是通过一组概率分布相联系;HMM是一个双重随机过程。

 

----------------------------------------------------------------------------------------------------------

1、JAVA中,有什么办法可以实现数据的快速检索和排序。

2、说说聚类算法k-means的步骤和他的缺点。

下面是记得一些选择题了。

1、81个不一样重量的小球,有一个比其他重,现在给你一个天平,你最少需要多少次就可以找到这个不一样的小球。(答案是4次哟~)

2、P先生和S先生的问题。 http://blog.csdn.net/Java2King/archive/2009/09/26/4596919.aspx

3、Linux中的Shell类型

4、对于final、finally、finalized三个关键字的解释。

5、关于软件缺陷生命周期。

6、软件测试的黑盒、因果图...

7、还有两个看代码,然后确定显示结果的题目就不说了,大体上考的是final变量初始化和for循环。

8、servlet的生命周期。(关于init、services、destroy)

9、redirect和forward的区别。

10、java中的集合类是否安全的讨论。(比如说Vector是安全的,而ArrayList非安全)

11、关于接口interface和抽象类abstract的讨论。(比如接口是否可以继承借口,接口中可以声明什么类型的变量等等)

12、JDBC的事务处理有几级。

13、哪些类是不能被继承的。(全部是java.lang下面的,选项包括:Number、Double、ClassLoader等)

14、Spring提供了哪些功能。

15、JUnit测试的一些问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值