天骄研发中心测试题.doc_第1页
天骄研发中心测试题.doc_第2页
天骄研发中心测试题.doc_第3页
天骄研发中心测试题.doc_第4页
天骄研发中心测试题.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天骄研发中心测试题 湖南天骄物流信息科技有限公司目 录1.软件研发工程师41.1.Java测试题41.1.1.问答题41.2.EJB3.0笔试题51.2.1.问答题51Hibernate52. EJB3.053.综合题:(包含数据库设计和代码编写)54.谈谈你对EJB集群的理解61.3.SQL测试题61.3.1.问答题61.4.Html-javaScript测试题71.4.1.基础题71.4.2.问答题81.4.3.智力题81.5.WEB测试题91.5.1.单选题91.5.2.填空题111.5.3.判断题121.5.4.程序填空题121.6.CSS测试题141.6.1.填空题141.6.2.选择题141.6.3.问答题142.软件测试工程师152.1.1.问答题153.集成工程师173.1.服务器集成维护173.1.1.选择题173.1.2.问答题173.2.服务器安全183.2.1.选择题183.2.2.问答题193.3.数据库优化193.3.1.问答题19天骄研发中心测试题1. 软件研发工程师1.1. Java测试题1.1.1. 问答题1、 * String、StringBuffer和StringBuilder他们之间有何区别?String不可变字符序列ava.lang.StringBuffer线程安全的可变字符序列。StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。java.lang.StringBuilder一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。2、* 请观察如下代码并写出运行输出结果:public class test static void A(Integer i) System.out.print(i); static Boolean B(Integer i) System.out.print(i); return (i0?true:false); static void C(Integer i) System.out.println(-i); static void D(Integer i) -i; System.out.print(i);public static void main(String args) Integer i=new Integer(3);for(A(i);B(i);C(i)D(i);-i;For中 A只运行一次 然后运行B 然后循环D 再执行C 然后BDC循环332121010-103、* 请观察如下代码(前提条件9999端口和9999端口以后的端口均未被占用),并写出运行输出结果.import java.io.IOException;import .BindException;import .ServerSocket;public class test public static ServerSocket startServer(int port)ServerSocket ss=null;try ss = new ServerSocket(port);System.out.println(ss.getLocalPort();return ss;catch(BindException e)return startServer(+port);catch (IOException e) e.printStackTrace();finallySystem.out.println(finally);System.out.println(return start);return null;public static void main(String args) throws IOException ServerSocket ss1=startServer(9999);ServerSocket ss2=startServer(9999);ss1.accept();ss2.accept();System.out.println(ss1.getLocalPort();System.out.println(ss2.getLocalPort();4、* Java中纯JDBC访问数据库的步骤是什么,并说明Statement和PreparedStatement之间的区别?1.导入jdbc操作相关包 import java.sql.*; 2. 写好异常捕获结构 trycatch()finally 3. 加载驱动程序 例:Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); 4. 获得连接对象 例:Connection con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=accp,sa,123); 5. 创建sql语句执行对象(预处理语句集对象) 例:PreparedStatement ps=conn.prepareStatement(insert into student values(张三,男); 6. 执行sql命令 int count = ps.executeUpdate(); 注意如果是查询就必须返回结果集:然后从结果集中取数据 ResultSet rs=ps.executeQuery(); while(rs.next() String str1=rs.getString(1);/列下标从1开始int num1=rs.getInt(2); 7.关闭预处理语句集对象和结果集对象rs.close();ps.close(); 8.关闭连接对象conn.close();1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理4.执行许多SQL语句的JDBC程序产生大量的Statement和PreparedStatement对象。通常认为PreparedStatement对象比Statement对象更有效,特别是如果带有不同参数的同一SQL语句被多次执行的时候。PreparedStatement对象允许数据库预编译SQL语句,这样在随后的运行中可以节省时间并增加代码的可读性。5、*Java基本数据类型有哪些,Java中异常和错误的区别?Byte,short,int,char,long,float,boolean,double一共八种基本数据类型一个异常是在一个程序执行过程中出现的一个事件,它中断了正常指令的运行。”一个错误是“偏离了可接受的代码行为的一个动作或一个实例。”6、* 阐述你对J2EE经典设计模式MVC的理解?将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来可以让你设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法. (2) 实现一个模型的多个视图;采用多个控制器;当模型改变时,所有视图将自动刷新;所有的控制器将相互独立工作。只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率 (3)它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码五、在团队开发中的实例 7、* 谈谈你对java序列化的理解?8、*java线程是什么?java线程同步的实现有哪几种?9、*OOP题(请用优先Java编写,如不懂可用其他OOP语言实现):形如a+b=c(四则运算例如2+1=3或2-1=1或2*1=2或2/1=2)请用OOP的思想来实现(请考虑程序的扩展性)10、*OOP题 (java优先)程序运行其对其进行跟踪, 请用OOP思想开发日志处理程序:要求如下1、支持多种日志输出或存储方式(如,控制台输出,文本文件输出,数据库输出);2、支持日志分类与等级;3、采用工厂模式,interface或抽象类等技术;4、符合如下形式:SQLLogger log = X;log.Dest=”DB”;log.Type=log.WARN;log.cataloge =”loggin”log.log(“生警告信息”); 或log.Dest=”DB”;log.Type=log.ERROR;log.cataloge=”事务处理”;log.log(“x事务处理错误”);1.2. EJB3.0笔试题1.2.1. 问答题1Hibernate 1.1请阐述下Hibernate的执行步骤1 读取解析配置文件:Configuration conf=new Configuation().configure();相当于使用DataSource获取连接前读取DataSource的配置文件。2 读取并解析映射信息,创建sessionFactory:SessionFactory sf=conf.buildSessionFactory();相当于创建DataSource对象。3 打开session;Session session=sf.openSession();相当于JDBC获得连接。4 开始一个事物(增、删、改操作必须,查询操作可选)Transaction ts=session.beginTransaction();5 持久化操作Session.save() /session.persist();(增加)Session.update() /session.merge(); (修改)Session.delete() (删除)Session.get()(查)6 提交事物:mit();7 关闭session():session.close();1.2请阐述下Hibernate中Load和get的区别1)当数据库不存在对应ID数据时,调用load()方法将会抛出异常,get()方法将返回null.2)load的方法默认先跟你说好,我要用的时候你再把数据给我。当用到具体与数据库有关的数据时候才查询数据库.而get方法:先把数据放我这儿,用不用由我。直接查询数据库,返回类的实例。3)第三点区别就是:“,get方法首先查询session缓存,没有的话查询二级缓存,最后查询数据库;load方法创建时首先查询session缓存,没有就创建代理,实际使用数据时才查询二级缓存和数据库。”1.3请阐述下Hibernate的缓存机制Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Session的缓存是内置的,不能被卸载,也被称为Hibernate的第一级缓存。SessionFactory的内置缓存和Session的缓存在实现方式上比较相似,前者是SessionFactory对象的一些集合属性包含的数据,后者是指Session的一些集合属性包含的数据。SessionFactory的内置缓存中存放了映射元数据和预定义SQL语句,映射元数据是映射文件中数据的拷贝,而预定义SQL语句是在Hibernate初始化阶段根据映射元数据推导出来,SessionFactory的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此SessionFactory不需要进行内置缓存与映射文件的同步。SessionFactory的外置缓存是一个可配置的插件。在默认情况下,SessionFactory不会启用这个插件。外置缓存的数据是数据库数据的拷贝,外置缓存的介质可以是内存或者硬盘。SessionFactory的外置缓存也被称为Hibernate的第二级缓存。2. EJB3.0 2.1请阐述下EJB3.0的几种Bean类型2.2请阐述下EJB与JAVA BEAN的区别3.综合题:(包含数据库设计和代码编写)如果需要完成这样一个车辆信息平台,车辆,司机,车主信息如下:车辆信息: 车牌号, 发动机号, 车架号, 保险卡号, 营业证书, 期望流向车主信息:车主姓名,性别,出生年月,身份证号,车主照片,车主手机,家庭住址司机信息:司机姓名,性别,出生年月,身份证号,司机照片,司机手机,家庭住址一台车可以有多个司机,一个车主对应一台车,我想达到如下要求:4.1根据车主身份证号码或司机手机查询车辆信息。4.2添加车辆的同时添加司机信息。4.3根据车牌号查询司机的详细信息。(用Hibernate和EJB3.0实现均可)4.谈谈你对EJB集群的理解1.3. SQL测试题1.3.1. 问答题一、 教师号星期号是否有课 有 有 有 有 有 写一条sql语句让它变为这样的表 教师号星期一星期二星期三 各星期下的数字表示:对应的教师在星期几已经排的课数 select 教师号,sum(case 星期号 when1 else 0 end) as 星期一sum(case 星期号 when2 else 0 end) as 星期二. form 表名where 是否有课=有group by 教师号drop table 表名二:一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数。三:表B C1 c2 2005-01-01 1 2005-01-01 3 2005-01-02 5 要求结果数据 2005-01-01 4 2005-01-02 5 合计 9 试用一个Sql语句完成。 四:写出你比较常用的5个ORACLE 函数,并说明它们的作用。五:客户表a(id name address) 登陆流水表b(id time) 购物流水表c(id time productid productnum) 1.求每个客户的最新登陆时间time,姓名name,客户id? 2.查最新登陆并且已经购买商品的客户id,name,登陆的时间time(一条sql语句) 六:一个表student中有班级classid,学号id,成绩grade 1.计算各个班的平均成绩 2.查找比该班平均成绩高的学生的班级classid,学号id,成绩grade七.自定义函数和存储过程的区别是什么,什么情况下只能用自定义函数,什么情况下只能用存储过程?八:问:Oracle的EMP表,查询每个部门工资前三名的员工信息,如何写?EMP:EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPNO7369 SMITH CLERK 7902 1980-12-17 800.00 20.九. Oracle题 :已知某表中某个字段包含“1, 2, 32, 4,22”,请用两条SQL语句查询出该值中“,”和单个(不相连)“2”的总个数?1.4. Html-javaScript测试题1.4.1. 基础题1、关于表格的描述正确的一项是。( )A在单元格内不能继续插入整个表格B可以同时选定不相邻的单元格C粘贴表格时,不粘贴表格的内容D在网页中,水平方向可以并排多个独立的表格2、以下创建mail链接的方法,正确的是( )A管理员B管理员C管理员D管理员3 、在页面中实现滚动文字的标记是_。1.4.2. 问答题1 、请画一个三行三列的细线表格。要求表格在页面中居中对齐,三行三列,其中第一行第一列与第二行第一列合并;第二行第二列与第二行第三列合并。 *2 、简述ajax技术原理。*3 、简述div与span的区别。*.Div是块元素,span是行内元素(内联元素、内嵌元素、行内元素、直进式元素都是一个东西)块元素(block element)和内联元素(inline element)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了css控制以后,块元素和内联元素的这种属性差异就不成为差异了。比如,我们完全可以把内联元素加上display:block这样的属性,让他也有每次都从新行开始的属性即成为块元素,同样我们可以把块元素加上display:inline这样的属性,让他也在一行上排列4 、table标签中border,cellpadding属性,td标签中colspan,rowspan属性分别起什么作用?*5 、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么? *6 、根据一下代码 * var x = 1; var y = 0; function add(n)n=n+1; y = add(x); 求y的值是多少?7 、写一个JavaScript方法,高亮显示页面上表格中匹配的文本。(效果图如下)*如(假设一下内容在一个单元格中,需要考虑大小写全部匹配问题,建议尽量使用正则表达式进行匹配):1.4.3. 智力题1 、有八个200克铁球和一个天平,八个铁球中有一个质量比其他七个轻10克(其他七个质量一样),天平只能使用两次,请找出质量轻的那个球,并阐述步骤。 *2 、 请使用四则运算符(+、*、/、括号)计算3,3,8,8四个数,要求结果为整数且等于24。*1.5. WEB测试题1.5.1. 单选题 注:请在小括号中填写答案。1. 目前在Internet上应用最为广泛的服务是( )。 A.FTP服务 B.WWW服务 C.Telnet服务 D.Gopher服务2. 下列描述正确的是( )。A.JavaScript是一种编译型语言B.JavaScript是一种基于对象和事件驱动的编程语言C.JavaScript中变量声明采用强定义类型D.JavaScript采用静态联编3. 域名系统能够将( )。A.域名转换成主机名B.主机名转换成域名C.主机名转换成IP地址D.域名转换成IP地址4. Internet上使用的最重要的两个协议是( )。 A.TCP和Telnet B.TCP和IP C.TCP和SMTP D.IP和Telnet一个有三个框架的Web页,实际上独立的HTML文件的有( )。A.2个B.3个C.4个D.5个5. 当希望使图片的背景是透明的时候,应该使用的图像格式是( )。A.JPGB.PCXC.BMPD.GIF6. 主机域名 由四个子域组成,其中下列( )项代表主机名。 A www B xtu C edu D cn7. 当鼠标移动到文字链接上时显示一个隐藏层, 这个动作的触发事件应该是( )。 A. onClickB. onDblClickC. onMouseOverD. onMouseOut8. 在网页上显示一个密码框,写法应该是:。A.text B.submit C.password D.button9. 在HTML中,标记的作用是( )。 A.标题标记 B.预排版标记 C.转行标记 D.文字效果标记10. 有如下HTML代码片段,下列( )项总是有效的CSS申明。A) .A1color:red B) A1color:red C) #A1color:red D) DIVcolor:red11. 在超级链接中,如果指定( )框架名称,连接目标总是在链接文本所在的框架页内出现,当前页面被刷新。A) Blank B) SelfC) Parent D) Top12. 是一个( )。A) 文本框 B) 重新填写的按钮C) 下拉菜单 D) 提高给服务器的按钮13. 有如下JS语句,var B=2;var C=3;var A=(B+,C+);,请问A最终值是( )。A)2 B) 3 C)4 D)514. 在HTML中,要定义一个空链接使用的标记是( )。A、 B、 C、 D、15. 对远程服务器上的文件进行维护时,通常采用的手段是( )。A、 POP3 B、FTP C、SMTP D、Gopher16. 在色彩的RGB系统中,32位十六进制数FF0000表示的颜色是( )。A、 黑色 B、红色 C、黄色 D、白色17. 下面说法错误的是( )。A、规划目录结构时,应该在每个主目录下都建立独立的images目录B、在制作站点时应突出主题色C、人们通常所说的颜色,其实指的就是色相D、为了使站点目录明确,应该采用中文目录18. 在HTML中,要定义一个锚点应该使用的语句是 ( )。A.text B.text C.text D.text 19. 在CSS中定义A标签样式,下列( )项不属于正确的伪类:A) :hover B) :active C) :link D) :visit1.5.2. 填空题注:请在下划线上面填写答案。1. 常用的客户端脚本语言有 和 。2. Javascript具备两大特性 和 。3. 请完成如下脚本,最终效果如下界面: 4. 有如下脚本,请问A的值为 :function factorial(n) if (n = 0) return 1; else return n * factorial(n-1);var A=factorial(3);5. 现有一张图片A.JPG,要将此图片作为DIV的背景,请完成如下填空:.AAA 6. 现要求做一个超链接,链接到“百度”,百度的网址为,当用户点击之后在新窗口中打开百度的首页。(注意有两个空)百度1.5.3. 判断题注:请在中括号中打“”或打“”。1. 在JavaScript浏览器对象中,window对象是顶层对象。 2. CSS选择器分为三种:HTML选择器、类选择器、ID选择器,其中类选择器要在CSS名称前加入“#”号,而ID选择器需要加入“.”号。 3. Cookie 是一种可以保存用户特定信息的方法。但是,由于 Cookie 会被发送到浏览器所在的计算机,因此它们容易被假冒或用于其他恶意用途。 4. CSS中,处理间距通常采用Margin和Padding,Margin表示元素与其他元素的间距,而Padding表示元素与其内部元素的间距。 5. typeof 运算符返回一个用来表示表达式的数据类型的字符串。typeof 返回值有六种可能: number, string, boolean, object, function, 和 undefined. 6. Javascript中,日期对象的getMonth 方法返回一个处于 0 到 11 之间的整数,它代表 Date 对象中的月份值。 7. Javascript中Array对象的length 属性返回一个整数值,这个整数比数组中所定义的最高位元素的下标大 1。 8. 有如下Javascript语句:window.setInterval(someFunction(), 5000),表示每5秒执行someFunction函数一次。 9. FRAMESET 元素是 FRAME 元素的容器。HTML 文档可包含 FRAMESET 元素或 BODY 元素之一,而不能同时包含两者。 10. eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :eval(var mydate = new Date();); 1.5.4. 程序填空题注:请在下划线上面填写答案。1. 下面的代码实现了九九乘法表的显示,请填空。function multiplication()var result=;for(var i = 1;i ;i +)for(var j=1;j= ;j+)result += j + * + i + = + ( ) +  result += ;document.write(result);2. 下面的代码实现了表单中用户名的验证,如果用户名没有填写,就在id为usernameMsg的标签中显示“请填写用户名”,否则显示“”,请填空。简易注册表单案例/验证用户名function checkUsername()var username=document. . .value;var usernameMsg=document. (usernameMsg);if(username=) usernameMsg. =请填写用户名; return false;else usernameMsg.innerHTML=; return true;return true; 用户注册表单 用户名: 密码: 1.6. CSS测试题1.6.1. 填空题1、 改变元素的外边距用_,改变元素的内填充用_。2、 对ul li的样式设成无,应该是用什么属性_属性值_。3、 在新窗口打开链接的方法是_。4、 Color:#666666;可缩写为_。1.6.2. 选择题1、下列哪些是格式良好的 XHTML?()A:A short paragraph B:A short paragraph C:A short paragraph2、在以下的 HTML 中,哪个是正确引用外部样式表的方法?()A: B: C:mystyle.css1.6.3. 问答题1.怎么样才能让层显示在FLASH之上呢?2.怎样使一个层垂直居中于浏览器中?2. 软件测试工程师理念:从需求分析开始,测试团队就要加盟;尽可能多的找出所有问题。范围:需求、设计与编码是否一致; 用户体验是否好; 代码产生的成果的稳定性、可靠性、性能等指标; 软件工程规范(特别是代码规范)是否好; .2.1.1. 问答题1.数据库设计的测试(简单)现有如下数据表:会员表:ID/NAME/SEX/IDCARD/QQ 分别表示ID、姓名、性别、身份证号码、QQ银行帐号表:ID/CARD/BANK/ADDERSS 分别表示ID、卡号、开户银行名称、开户银行地址根据自己的想法,从中找出你认为的问题。2.类规范测试(简单)现有如下类:class User int age; string _name; public void User() AddUser(string name) _name; private PrintInfo() printf(_name); printf(age); void main() User u=new User(); u.age=12; u.AddUser(张三); u.PrintfInfo();根据自己的想法,从中找出你认为的问题。3.逻辑测试(中等难度)在三角形计算中,要求三角型的三个边长:A、B和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、找出基本测试路径,对此设计测试用例。4.简述你对测试工作的认识过程、在以后的工作的一些建议。(中等难度)5.CMMI是什么? 分几个等级?简述一下每个等级?(中等难度)6设计测试用例有那些方法,分别说在什么情况下使用这些方法?(中等难度)7. 有如下C语言程序:(中等难度)#include void main()enum body a=1,b=4,c,d,e j;int i;j=c;for(i=3;i=5;i+) if(j=i) break; else continue;printf(“%d”,i);则程序运行后的输出结果是( )(选择一项)A 6 B 5 C 3 D 28.说出黑盒测试与白盒测试的区别?(简单)9. 单元测试、集成测试、系统测试的侧重点是什么?10. 系统测试包括那些方面的内容?3. 集成工程师3.1. 服务器集成维护3.1.1. 选择题1下列数据库管理系统中,只能在Windows平台上运行的是( ) (选择一项)(简单)A.Oracle B.SQLServer C.DB2 D.Sybase2在WindowsServer2003中,DNS区域有三种类型,下列选项中不属于其中的是( )(选择一项)(中等难度)A标准主区域 B标准辅助区域 C 逆向解析区域 D Active Directory集成区域.3.在Linux中,安装Perl模块需要遵循一定的步骤,若要安装AppConfig模块(安装文件为AppConfig-1.55.tar.gz),则下面命令的执行顺序正确的是( ) cd AppConfig-1.55 make test make installtar xzvf AppConfig-1.55.tar.gz perl Makefile.PL makeA B C D4要使一块硬盘中的分区数为5,下面分区方式正确的是( ) (选择一项)(简单)将硬盘分成个主分区将硬盘分成个主分区和个拓展分区将硬盘分成个主分区和个拓展分区将硬盘分成个主分区和个拓展分区5某子网网络号是44 子网掩码是255255.255.240,则该子网中的主机数量是( )(选择一项) (高难度)A 254 B 126 C 62 D 143.1.2. 问答题1请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。(简单)2请你详细地解释一下IP协议

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论