我要投稿 投诉建议

阿里巴巴java面试题

时间:2022-07-31 01:30:09 面试试题 我要投稿
  • 相关推荐

阿里巴巴java面试题

  阿里巴巴java人员面试的时候一般会遇到哪些问题呢?来看看他们的亲身经历吧!

  阿里巴巴java面试题一

  1.如何理解自动化测试,用测试工具进行测试等于自动化测试这句话对不对?

阿里巴巴java面试题

  关注点:测试工具的使用是自动化测试的一部分工作,但“用测试工具进行测试”不等于“自动化测试”。自动化测试,模拟手工测试步骤,通过执行程序语言编制的 测试脚本自动地测试软件。 自动化测试,强调借助工具(不仅仅是工具,有时包括策略和工件)来完成测试的执行,也就是用工具来帮助或辅助测试。但是用测试工具进行测试有可能是自动化,半自动化,或者手工测试。

  2. 介绍下比较了解的自动化框架,watir,selenium,QTP…..任选一个说说,这个框架的工作原理是什么?

  随便选取一个,重要的是原理,而不是使用。大家在用这些框架的时候,一定要关注背后的执行原理.看源码是一个比较简单的途径。

  3. 介绍下SoapUI,如果你用着的话。这个框架需要注意什么?

  soapUI是一款桌面应用程序,能够监测、触发、模仿以及测试(功能和负载)基于SOAP/WSDL和REST/EADL的`HTTP网络服务。

  和大多数的工具一样,都是使用HTTPREQUEST对相应的资源进行请求很提取。再得到response之后进行相应的处理,对XML进行XPATH定位。注意的是SOAP方法中包含GET,POST的方法,POST的方法主要使用Application/xml的MIME形式发送相应的POST数据。

  4. 对webservice层面的自动化测试,你认为比较重要的是什么?

  对webservice的测试主要分为两个阶段,首先是对WEB Ui层面的数据XML Response与webservice的schema进行对比测试,其次是web Ui层面的数据与数据库服务器中相应的数据进行验证。

  5. 对持续集成工具有了解过吗?类似于Jenkins(hudsoon)/Bamboo/Teamcity这些持续集成的工具,有了解过这些吗?

  目前比较这几个还算比较流行,阿里主要集中在用hudson。Teamcity在以前的公司了解过。

  6. 桌面自动化测试和WEB 自动化测试的区别?

  驱动方式不同,C/S架构(或者桌面类型)界面自动化测试,采取的方式可以调用操作系统本身的API(windows桌面软件)来构建自动化测试或者可以采用虚拟机内(java swing程序)的事件处理机制来完成了。

  WEB 自动化测试 B/S架构,原理就是依靠JS来进行客户端的操作,然后寻找对象是采用了DOM解析技术,将web方面的节点进行解析定位

  7. 自动化测试碰到比较难解决的问题是什么?如果出现这些问题给出你的解决方案?

  重点引导到测试结果定位准确这个角度上来, 在自动化程度比较高,case很多,就会存在排查失败的case过程。

  解决方案; case错误分类,有效的log日志,异常信息的抓取

  8. IOS支持UI自动化,主要有2种方式,介绍下这2种方式?

  1.苹果官方提供的技术, UI Automation。

  2. 就是在应用中注入测试代码。

  Instrument uiautomation 是苹果官方提供的iPhone手机应用的自动化测试工具。控件元素的识别准确,属性获取,元素操作的API丰富。可以很方便的录制测试脚本、回放和查看运行结果。

  阿里巴巴java面试题二

  1. 首先让应聘人员做自我介绍;

  2. 面试官拿着简历,根据建立中的一个项目,然后让你说出这个技术架构的基本流程;

  3. 画出 STRUTS 框架响应 jsp 的流程图;

  4. 针对上一个问题,做的都是 web 项目,在框架中,servlet 对应的是哪一个部分;

  Servlet对应的是MVC架构中Controller的职能,负责用户请求的控制跳转

  5. 由前两个问题牵引出 web.xml 文件配置中都有哪些属性,以及他的作用;

  web应用发布描述文件(即web.xml文件)是在Servlet规范中定义的。他是web应用的配置文件。web.xml和tomcat容器完全独立。

  为顶层元素,其他所有子元素都必须定义在它的里面,而且要按元素定义的先后顺序不能颠倒。

  下面介绍下它的子元素:

  1. 该web站点的名称

  2. 该web站点的说明

  3. 用来设定该web站点的环境参数(context「配置应用上下文参数」),并初始化它

  ① 参数名称

  ② 参数值

  4. 设定该web站点的过滤器

  ① 过滤器的名称

  ② 指定过滤器的实现类,负责具体的过滤事务

  5. 设定该web站点的过滤器的映射

  ① 过滤器的名称

  ② 指定过滤器负责过滤的URL

  6. 设定该web站点的Servlet的名称和映射

  ① Servlet的名称

  ② 指定Servlet的实现类

  ③ 定义servlet的初始化参数(包括参数名和参数值)

  (1) 指定参数的参数名

  (2) 指定参数的参数值

  ④ 指定当web应用启动时,装载servlet的次序。当值为0或正数时,servlet容器先加载小的;如果值为负数或者没有设定,那么servlet容器将在web客户首次访问这个servlet时加载它。

  {

  Config参数:以相对路径的方式指明struts应用程序的配置文件的位置,如果不设置,则默认值为/WEB-INF/struts-config.xml

  Debug参数:社会自servlet的debug级别,空值日志记录的详细程度。默认为0,记录相对最少的日志信息。

  Detail参数:设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。

  }

  7. 设定该web站点的Servlet的映射

  ① Servlet的'名称

  ② 指定访问这个Servlet的URL。这里只需给出对于整个web应用的相对URL路径

  8. 设定该web站点的httpSession的生命周期(单位:分钟)

  ① 指定该httpSession得有效时间。

  9. 设定该web站点的欢迎文件列表

  ① 指定欢迎文件名称。

  10. 设定该web站点所使用的taglib

  ① 设定taglib的唯一标识符,在web应用中将根据这一标识符来引用tablib。

  ② 指定和taglib对应的tld文件的位置。

  11. 设定该web站点所应用的资源

  ① 对所引用资源的说明

  ② 指定所引用资源的JNDI名字

  ③ 指定所引用资源的类名字

  ④ 指定管理所引用资源的Manager,它有两个可选值:Container和Application。Container表示由容器来创建和管理Resource,Application表示由web应用来创建和管理Resource。

  12. 设定该web站点对应Tomcat的tomcat-users.xml中设置的角色名

  ① 对应Tomcat的tomcat-users.xml中设置的角色名

  13. 设定该web站点四种认证类型

  ①BASIC:HTTP规范,Base64

  BASIC

  ②DIGEST:HTTP规范,数据完整性强一些,但不是SSL

  DIGEST

  ③CLIENT-CERT:J2EE规范,数据完整性很强,公共钥匙(PKC)

  CLIENT-CERT

  ④FORM:J2EE规范,数据完整性非常弱,没有加密,允许有定制的登陆界面。

  FORM

  /login.jsp

  /error.jsp

  14. 设定该web站点的错误页面

  404

  NotFoundRuntimeException.html

  java.lang.Throwable

  InternalServerErrorRuntimeException.html

  15.配置监听器:

  ……..

  com.jj.MyServletContextListener

  ……..

  16.EJB相关和MIME映射:

  ……

  ejb/customer

  Entity

  com.jj.CustomerHome

  com.jj.Customer

  ejb/LocalCustomer

  Entity

  com.jj.CustomerHome

  com.jj.Customer

  rates/discountRate

  java.lang.Integer

  10

  mpg

  video/mpeg

  ……

  6. 对 spring 了解吗?

  7. spring 的依赖注入方式有哪几种?(注意不是 spring 的注入方式是依赖注入)

  Set 注入

  构造器注入

  静态工厂的方法注入

  实例工厂的方法注入

  8. 有关事物的问题,做项目中做到哪些与事物有关的,事物是怎么控制的,怎么去写?

  通俗的说,事务(Transaction)就是对数据执行的一组操作,这些操作钭数据从一种状态更改为另一种状态,他们必须为一个单元运行。事务最主要的功能就是确保多个连续的操作必须全部执行成功,否则回复到未执行任何数据操作的最初状态。也就是说事务的结果只有两种状况:事务完成(Transactioncommit), 事务失败(Transaction abort)当事务失败或异常中断时,事务就会回滚(Transactonroolback),回复至数据的初始状态。

  9. 项目开发中,如果遇到一个问题,你自己也不知道该用什么技术去解决,怎么去解决,该如何去查?

  目前IT解决方案都比较成熟了,一般所遇到的问题都应该有相应的解决方案,例如性能、通信、数据处理等,都应该有相应的开源解决方案,可以先到网上查询相关的开源解决方案,借鉴对方的解决思路或者引入对方的工具进行解决。如果是故障类的,可以通过搜索引擎或产品的文档、源码进行解决。

  10. 你有三年项目开发经验,觉得自己比别人有优势的地方在哪?

  11. 最后会问对他们公司有什么要了解的

【阿里巴巴java面试题】相关文章:

瞬联java面试题09-25

java线程面试题汇总08-08

2016高薪Java面试题08-05

java工程师面试题09-25

2016年Java开发岗位面试题08-05

java培训心得04-13

Java实习总结05-10

java培训心得05-06

java实习心得05-08

Java面试技巧08-04