东软培训及员工考试试题内部资料
- 格式:doc
- 大小:144.50 KB
- 文档页数:6
大连东软题库○数据管理技术的产生与发展:人工管理阶段、文件系统阶段、数据库系统阶段○2据库系统阶段特点:数据的集成性、数据的高度共享性与低冗余性、数据独立性高、数据的管理和控制能力○3数据库管理系统的主要功能:数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能,其它功能○4数据库系统的体系结构:二级映像与数据独立性:1外模式/模式映像;数据的逻辑独立性2模式/内模式映像;数据的物理独立性○5关系的完整性:实体完整性、参照完整性、用户定义的完整性(具体含义:1.实体完整性规则:关系中元组的主属性值不能为空2.参照完整性:参照完整性是基于外键的,如果表中存在外键,则外键的值必须与主表中的某个记录的主键值相同,或者外键的值必须全部为空。
3.用户自定义的完整规则:由用户或数据库管理员说明的额外规则。
)○6SQL的特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供多种使用方式、语言简洁,易学易用○7创建数据库:create database 创建表:create table 创建索引:create index创建视图:create view 插入数据:insert 修改数据:update 删除:delete 数据查询:selec t○8视图的作用:简化用户的操作、使用户能以多种角度看待同一数据、简化数据查询语句、提供了一定程度的逻辑独立性、提高了数据的安全性○9关系模式存在的问题:(不进行规范化产生的问题)数据冗余、插入异常、删除异常、更新异常○10事务的特性:原子性、一致性、隔离性、持续性○11事务定义:是用户定义的一个数据库操作序列,这些操作要么全做,要么不做,是一个不可分割的工作单位。
○12并发操作存在的问题:丢失修改、读“脏”数据、不可复读○13数据库设计的基本步骤:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行和维护○14数据字典:(1)数据项(2)数据结构(3)数据流(4)数据存储(5)处理过程|封锁协议:封锁是实现并发控制的一个主要技术。
东软软件测试工程师20套笔试题及参考答案问题:东软软件测试工程师20套笔试题及参考答案-测试基础(1)回答:试述软件的概念和特点?软件复用的含义?构件包括哪些?瀑布模型和螺旋模型的主要区别是什么?软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则净室软件工程的策略是什么?软件配置管理的作用?软件配置包括什么?什么是软件质量?软件包是什么?目前主要的测试用例设计方法是什么?软件的安全性应从哪几个方面去测试?参考答案:答案如下:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件答案如下:参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。
考虑弹性、风险、成本,等几个方面。
答案如下:软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为生命周期模型(Life Cycle Model)。
答案如下:使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
1,下列选项中正确的有:(E)A Boolean b = null;B char c = "a";C int i = 257;D float f = 1.7;E int a=10;2,选择输出结果正确的是:()package Test;public class CeShi {public static void main(String[] args) {System.out.println(args[2]);}}C:出现异常:ng.ArrayIndexOutOfBoundsException: 23,对线性表,在下列哪种情况下应当采用链表表示( B )。
A)经常需要占据一片连续的存储空间B)经常需要进行插入和删除操作C)经常需要随机地存取元素D)表中元素的个数不变4,一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35,队列的--插入--操作时在队列的---队尾----进行,--删除--操作是在队列的---队首--进行;6,二叉树第 k 层最多有 2的k-1次方个节点7,下面排序算法中,待排序数据已有序时花费时间最少的是(A)排序A插入 B冒泡 C快速 D选择8,有关Servlet的生命周期说法正确错误的有 (A)A. Servlet的生命周期由Servlet实例控制B. init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象C. service()方法响应客户端发出的请求D. destroy()方法释放Servlet实例9,在a.jsp中有代码片断如下:<form action =”b.jsp” method =”POST”name=”form1”>loginName:<input type=”text”name=”loginName”/><input type=”submit” name=”submit”/></form>在b.jsp中加入下列()代码,可以输出在a.jsp页面上输入的loginName的值(多选)A. <%=request.getParameter(“loginName”)%>B. <%=request.gerAttribute(“loginName”)%>C. <%Stringname=request.getParameter(“loginname”);out.println(name); %>D. <% Stringname=request.getAttribute(“loginname”); out.println(name); %>正确答案为:AC10,给定一个 Servlet 的doGet方法中的代码片段,如下:request.setAttribute(“name”,”zhang”);response.sendRedirect(“http://localhost:8080/servlet/MyServlt”);那么在 MyServlet中可以使用(D)方法把属性 name的值取出来。
东软培训考核试题答案(内部资料)⼀、单选题(共20分,每题1分)1、快速排序的时间复杂度_____。
A)B) O(n*n); C)O(n*n/2); ; D)O(log(n));2、计算程序执⾏完的结果:short a;char *p;a = 1234;p= (char *)&a*p = 56;请问题变量a的数值为______。
A)1234; B) 3456; C)5634;3、判断程序的结果:char * p = “Hello World”;*p = “A”;程序执⾏后的结果_______。
A) p指向的字符串为“Aello World”;“H ello World”;C)D) 结果未知;4、请问这个结构体所占的空间⼤⼩是______。
Typedef {Int a;Char b,Short c,Short d,}AA_t;A)16byte; B) 9 byte; D)85、有下列程序段char a[3],b[]=”China”;a = b;printf(“%s”,a);则______。
A)运⾏后将输出China Ch;C)运⾏后将输出Chi6、若有语句int * point,a =4 ;和point = &a______。
7 、语句int (*ptr)();的含义是______。
A)ptr是指向⼀维数组的指针变量;D)ptr是⼀个函数名,该函数的返回值是指向int类型的指针;8、若有以下定义和语句:struct student{int age;int num;};struct student stu[3] = {{1001,20},{1002,19},{1003,21}};main(){struct student *p;p = stu;...}则以下不正确的引⽤是______。
A)(p++)->num; B)p++; C)(*p).num;9、请正确指出下列指针的最确切的含义,int (*ptr)[3]、int *(*ptr)[4]、void* (*ptr)(void*)______。
东软软件测试工程师20套笔试题及参考答案(1)Please translate the following words or sentences to En glish.a)手机鼠标双击窗口对话框键盘日历呼叫转移电话会议压力测试照相机录音机b)单击工具栏上的一个按钮,一个错误消息弹出;发送10条消息后,手机自动重起;作为一名测试员,你应该对测试工作十分耐心;无法将超过1MB的图片插入彩信,并发送出去。
Please tran slate the followi ng words or senten ces or senten ces to Chin ese.a) BIOS OS GUI GSM GPRS ROMPOP SMTP java script ACPI ASAP RAMIf OK button is clicked, this window will be closed.The USB com muni catio n is lost whe n the new USB deviceis connected.The COM1 port is still occupied even if user removes the COM1Whe n user in puts an in correct password, the software cannot forbid user to logi n. About Requireme ntsA requireme nts docume nt should be complete, con siste nt, correct, and unambiguous. One step is to validate the requirementsagainst the project/product objectives (i.e. thestateme nt of why the project is being don e).This en sures that the rightset of functions is being defined.Don t forget the User!Developers often desig n for what they know, not what the users know. This age-old problem occurs in many others areas of software developme nt, such as test ing, docume ntatio n, and the like. It is eve n more perni cious in the in terface because it immediately makes the user feel in capable of using the product. Avoid this error dilige ntly. 考察点:汉译英,易用性对应知识点:英语,高效测试用例一家女鞋成产商,他们希望能够抓住每一个潜在客户。
东软软件测试工程师综合笔试题、判断题(第1、3题每题2分,其他题每题1分12分,正确的V,错误的X)1.软件测试的目的是尽可能多的找出软件的缺陷。
0 这个观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能。
但是只从字面意思理解可能会产生误导,认为发现错误是唯一目的。
软件是否符合用户需求是判断软件质量的重要标准,检验软件的可靠性也是软件测试目的之一。
测试是项目验收测试的一种,主要发现项目中存在的重要缺陷。
0Beat测试和验收测试是两种不同的测试。
验收测试的目的是为了以发现“未实现的需求“为目的,以评估“适合使用“为目标,该类测试的不是以发现缺陷为主要目的。
beta测试是一模拟真实的使用环境从而发现缺陷的一种测试。
所以两者之间的是非包容关系。
验收针对的项目;A lpha, Beta针对的是产品。
最好不要出这样的题。
X3.验收测试是由最终用户来实施的。
()上面说到了验收测试的目的和目标,所以验收测试也可是是软件生产的企业内部人员来实施。
例如产品经理。
当软件以项目的形式出现,那么验收测试由最终用户来实施的情况是比较长见的。
但是对于产品形式的软件,生产企业内部的验收测试会更多。
4.代码评审是检查源代码是否达到模块设计的要求。
()代码审查是一种静态技术,从这个意义上说代码复查是需要和其他的一些动态测试技术配合才能检查代码是否符合设计的要求X5.自底向上集成需要测试员编写驱动程序。
0这道题目大家看下top-down和down-top的集成测试示意图就能得出明确的答案。
这里需要了解的是什么是驱动测试程序,什么是桩程序。
如果集成组件数量众多,多关系层次,那么不论是什么类型的集成测试。
驱动程序和桩程序都是需要开发的。
V6.负载测试是验证要检验的系统的能力最高能达到什么程度。
0关于负载测试和压力测试在论坛中的帖子中有详细的解释,大家可以去看一下就能得出正确的答案7.测试人员要坚持原则,缺陷未修复完坚决不予通过。
大连东软信息学院软件测试考题题库白盒测试方法习题及答案1.计算环路复杂度方法有哪三种,答:(1)V(G)=判定节点数+ 1 ;(2)V(G) = E-N+2 ;(3)V(G)=区域数+ 12.白盒测试有几种方法,白盒测试方法分为两大类:静态测试方法和动态测试方法。
答:静态测试方法:检查软件的表示和描述是否一致,没有冲突或者没有歧义。
动态测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
4.比较白盒测试和黑盒测试,答:使用白盒测试方法时,测试根据程序的内部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能设计测试用例的。
5.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。
int test(int A,int B){if((A>1) AND (B<10)) thenX=A-B;if((A=2) OR (B>20)) thenX=A+B;return x;}答:语句覆盖测试用例:A=2,B=0;判定覆盖测试用例:A=3,B=0;A=2,B=20;条件覆盖测试用例:A=2,B=0;A=0,B=21;6. 为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。
void DoWork (int x,int y,int z) {int k=0,j=0;if ( (x>3)&&(z<10) ){ k=x*y-1;j=sqrt(k);} //语句块1if ( (x==4)||(y>5) ){ j=x*y+10; } //语句块2j=j%3; //语句块3}答:语句覆盖测试用例:x=4、y=5、z=5;判定覆盖测试用例::x=4、y=5、z=5;x=2、y=5、z=5;条件覆盖测试用例:x=4、y=6、z=5 ;x=2、y=5、 z=15 ; 8.看代码程序: void Sort ( int iRecordNum, int iType )1 {2 int x=0;3 int y=0;4 while ( iRecordNum> 0 )5 {6 If ( iType==0 )7 x=y+2;8 else9 If ( iType==1 ) 10 x=y+10; 11 else12 x=y+20;13 }14 }要求(1)给以上代码画出控制流图(2)控制流图的环复杂度V(G),写出独立路径。
选择题(共30题,每题2分,满分60分)1、(数据结构)对图中的二叉树,按先根次序遍历得到的结点序列为A、ABCDHEIFGB、ABDHIECFGC、HDIBEAFCGD、HIDBEFGAC2、(数据结构)设线性表(a1,a2,a3,...,a500)中所有元素的值由小到大排列,对一个给定的值K,用二分法查找表中与K相等的元素,在查找不成功的情况下,至多需要比较次。
A、8B、9C、10D、113、(数据结构)二叉树的查找有深度优先和广度优先,深度优先包括A、前序遍历、后序遍历、中序遍历B、前序遍历、后序遍历、层次遍历C、前序遍历、中序遍历、层次遍历D、中序遍历、后序遍历、层次遍历4、(数据结构)关于事务的故障与恢复,下列叙述正确的是A、事务日志用来记录事务执行的频度B、采用增量备份,数据的恢复可以不使用事务日志文件C、系统故障的恢复,只需要进行重做(redo)的操作D、对日志文件建立检查点的目的是为了使数据恢复效率提高5、(数据结构)人们把平均检索长度最短的二叉排序树称作最佳二叉排序树,最佳二叉排序树在结构上的特点是A、除最下二层可以不满外,其余都是充满的B、除最下一层可以不满外,其余都是充满的C、每个结点的左右子树的高度之差的绝对值不大于1D、最下层的叶子必须在左边6、(数据结构)在数据结构中,结点及结点间的相互关系是数据的逻辑结构,数据结构按逻辑关系的不同,通常可分为两类A、动态结构和表态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构7、(数据结构)队列是一种常用的数据结构,其元素的入队与出队遵循原则。
A、先进先出B、先进后出C、随机进、顺序出D、顺序进、随机出8、(数据结构)与单向链表相比,双向链表的优点之一是A、更节省存储空间B、便于进行随机访问C、更容易访问相邻结点D、可以省略头指针和尾指针9、(操作系统)在文件存储设备管理中,有三类常用字的空闲块管理方法,即位图向量法,空闲块链表法和A、级目录法B、多级目录法C、分区法D、索引法10、(操作系统)在进程管理中,当时,进程从阻塞状态变为就绪状态。
《C语言编程》课程考试笔试试卷总分:100分时间:60分钟姓名:班级:身份证号:一:简答:(20分)1 . 头文件中的ifndef/define/endif 起什么用?(4分)编译过程中防止代码段被重复包含。
2. 以下为Windows NT下的VC6开发环境下程序,请计算sizeof的值(8分)char str[] = “Hello” ;char *p = str ;int n = 10;请计算sizeof (str ) = 6sizeof ( p ) = 4sizeof ( n ) = 4void *p = malloc( 100 );请计算sizeof ( p ) = 43.解释一下什么是内存栈创建、堆分配(4分)内存栈创建是指在程序运行过程中申请内存栈区的一段空间的过程,堆分配则是程序在内存堆空间内申请一段空间的过程。
4.下面的代码输出是什么,为什么?(4分)void foo(void){unsigned int a = 6;int b = -20;(a+b > 6) ? printf("> 6") : printf ("<= 6");}>6二.选择:(40分)1.下面程序段的运行结果是【A】a =1;b=2;c=2;while (a<b<c){t = a; a = b; b = t; c--;}printf(“%d,%d,%d”,a,b,c);A) 1,2,0 B) 2,1,0 C) 1,2,1 D) 2,1,12.下面的程序输出是【B】。
typedef union{ double x[2]; int y[4]; char z[8];} MYTYPE;MYTYPE them;main(){ printf("%d\n",sizeof(them));}(A) 32 (B) 16 (C) 8 (D)243.在一个单链表中,已知q所指结点是p结点的前驱结点,若在q和p之间插入结点,则执行【C】A)s->next = p->next;p->next = s;B) p->next = s->next; s->next = p;C) q->next = s; s->next = p;D) p->next = s; s->next = q;4. typedef enum {PLAYMODE =0,PAUSEMODE,STOPMODE =5,TRACKRPTMODE,MIXMODE}Status_t;上述枚举定义中,元素MIXMODE的数值为【D】A. 4B. 5C. 6D. 75 下列do-while循环的次数为【D】int i=5;do{printf(“%d\n”, i--);i--;}while(i != 0);A . 0 B.1 C. 5 D. 无限6. 按照标识符的要求,【A】符号不能组成标识符。
A . 连接符 B.下划线 C. 大小写字母 D. 数字符号7. 在将两个字符串连接起来组成一个字符串时,选用(C )函数。
A. strlen( )B.strcpy( )C. strcat( )D.strcmp( )8. 下列函数中,【D】是对文件进行写操作。
A . get( ); B. read( ); C. seek ( ); D. put( )三、写出程序运行结果(第1、2小题各6分,第3小题8分总计20分)1.阅读下面代码,写出运行结果。
#include "stdio.h"struct student{int no;char name;};void ModifyStudent(struct student b){b.no=20;='y';}main(){struct student a;a.no=3;='a';ModifyStudent (a);printf("%d,%c",a.no, );}在控制台显示: __3,a__2. 阅读下面代码,写出运行结果。
#include <stdio.h>void main(){int s;for (int i=1,s=0;i<20;i++){if(i%2==0 || i%3==0)continue;printf(“%d ”, i);s+=i;}printf(“%d”, s);}在控制台显示: __1 5 7 11 13 17 19 73__3.阅读下面代码,写出运行结果。
#include <stdio.h>void f2(int** x, int** y){int z=**x;**x = **y;**y = z;}void f3(int* x, int* y){int z=*x;*x=*y;*y=z;}void main(){int x=10,y=26;int *p1 = &x;int *p2 = &y;printf("x,y=%d%d", x, y);f2(&p1,&p2);printf("x,y=%d%d", x, y);f3(&x,&y);printf("x,y=%d%d", x, y);x++;y--;f2(&p1,&p2);printf("x,y=%d%d", x, y);}运行结果:__x,y=1026X,y=2610X,y=1026x,y=2511__四.编程题(20分)歌星大奖赛在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。
请编写一个程序实现。
(10分)#include <stdio.h>#include <stdlib.h>#include <time.h>#define SUCCEED 0#define TEACHERS 10#define AVAILTEACHER 8int DelMin(int aiArray[], int iLength){int iTemp;int iDelMinVar;for (iDelMinVar = 1; iDelMinVar < iLength; iDelMinVar++){if(aiArray[iDelMinVar] < aiArray[0]){iTemp = aiArray[iDelMinVar];aiArray[iDelMinVar] = aiArray[0];aiArray[0] = iTemp;}}aiArray[0] = 0;return SUCCEED;}int DelMax(int aiArray[], int iLength){int iTemp;int iDelMaxVar;for (iDelMaxVar = 1; iDelMaxVar < iLength; iDelMaxVar++) {if(aiArray[iDelMaxVar] > aiArray[0]){iTemp = aiArray[iDelMaxVar];aiArray[iDelMaxVar] = aiArray[0];aiArray[0] = iTemp;}}aiArray[0] = 0;return SUCCEED;}void main(){// int iScores;int iMainVar;int iTotaScor = 0;float fFinaScor;int iChairMan[TEACHERS];srand((unsigned)time(NULL));for (iMainVar = 0; iMainVar < TEACHERS; iMainVar++) {iChairMan[iMainVar] = rand()%101;}DelMin(iChairMan, TEACHERS);DelMax(iChairMan, TEACHERS);for (iMainVar = 0; iMainVar < TEACHERS; iMainVar++) {iTotaScor += iChairMan[iMainVar];}fFinaScor = (float)iTotaScor/(float) AVAILTEACHER;printf("%f", fFinaScor);}。