1.Java和c++的不同之处,至少三个。
00、Java不再支持指针。这可能是C++和Java之间的最大不同。
【注】既然JAVA中不存在指针,那么也不存在->操作符。
01、Java不再支持操作符重载。
02、Java不再包含结构或者联合。在可以完全包含它们的类出现后,这些结构成为冗余部分。
03、Java不再包括预处理,也不再支持预处理指令。
04、Java不支持自动的类型转换,必须显示强制执行类型转换。
05、在Java中的代码必须封装在一个或者多个类中。
【注】因此Java中不再包含所谓的全局变量或者全局函数。
06、Java不再允许默认参数。
07、Java不支持多继承,即不允许一个子类继承多个父类。
08、虽然Java支持构造函数,但是不再支持析构函数。但是Java增加了finalize( )函数。
09、Java不再支持typedef。
10、Java中不再可能声明无符号整数。
11、Java不再支持goto语句。
12、Java不再有delete操作符。
13、Java中的<>不再重载I/O操作。
14、Java中,对象只能由引用传递,C++中对象可由值或引用传递。
00、多线程。Java允许两个或者多个相同的线程并发运行。这是一种在语言级支持的并发机制。C++中没有类似的机制,或者说C++采用的是单线程的体系结构。如果需要并发执行一个C++程序,必须利用操作系统的功能手工启动。虽然这两种方法都可以同时执行两个或者多个线程,但是Java的方法清楚而且便于使用。
01、C++中没有可以与Java包对应的特性。最近似的是用一个公用头文件的一组库函数。然而,在C++中构建和使用库函数与在Java中构建包和使用包是完全不同的。
02、Java的接口与C++的抽象类相似(C++中的抽象类是包括至少一个纯虚函数的类)。例如,C++的抽象类和Java的接口都不能创建实例。两者都用于指定一个子类实现的一致接口。两者之间最大的不同之处在于接口更清晰的表明了这个概念。
03、Java提供一个流线型的内存分配机制(即系统自动回收内存机制)。与C++类似,Java支持new这个关键字。但是,不支持delete关键字。当对象的最后一个引用撤销时,对象本身被自动地删除,并进行内存垃圾回收。再考虑到Java没有指针,这使得Java语言安全性能更强。
04、Java丢弃了C++的标准库,将它替换成自己的API类集合。它们功能上有相似之处,但是名字和参数有显著的不同。同时,因为所有的Java API库都是面向对象的,而C++库只有部分是,所以库例程调用的方式不同。
05、Java增强了break和continue语句以接收标记。
06、Java中的char类型是国际通用的16位Unicode字符集,所以能自动表达大多数国家的字符。这与C++中的wchar_t型相似。使用Unicode字符增强了代码的可移植性。
07、Java增加了>>>操作,完成无符号的右移。
08、除支持单行和多行的注释之外,Java增加了第三种注释方法:文档注释。文档注释以结尾。
09、Java包含一个内置的字符串类型叫做String。String在某种程度上和C++提供的标准string类很相似。当然C++中的string只有在程序中声明后方可使用,它并不是内置的类型。
2.测试用例的设计方式,至少三个。
等价类,边界值 ,因果图,错误推测,路径覆盖,功能图 ,正交试验设计法,场景设计方法
3.测试的方法,至少五个
黑盒测试,白盒测试,回归测试,负载测试,压力测试,安全性测试、Ui测试,功能测试。。。。。。。。。。。。。其实我不是很懂到底要问什么,怎么变成测试的种类去了???
4.写测试用例。假设x的取值有1、2、3,Y的取值有a、b、c,通常来说要测试所有z=x+y的可能,需要3*3=9个case。那么假设x和y的取值各有100个,case数量级会很大。要如何去简化case数量呢?
边界加等价类划分?0,负数,小数?无效等价类?
5.对于网易邮箱的登录框,测试的时候要考虑哪些方面呢?(不是真的写case,是考虑测试方向)
回答了:功能上的,并发时的性能和压力,安全性(get方式可能会泄露用户名+密码),还有浏览器的兼容性问题。
8.写一个建表的sql语句
create table cs
(
id char(10) NULL,
name char(10) NULL,
score integer NULL,
primary key(id)
);
然后修改已有表的属性,比如添加新属性,删除旧属性的:
alter table cs add newOne integer NULL;
alter table cs drop newOne;
10.说进行项目测试的流程
a.参与需求分析,pm、开发、qa一起讨论,确定产品细节,生成项目文档;
b.进行开发。qa期间根据项目文档来写测试case,和开发人员沟通测试时应重点关注的问题;
c.提测,进行准入测试(冒烟测试)。if (false),打回,返回b;else,ok,进入d;
d.根据b中的case和重点,进行测试,包括功能的,安全的,兼容性的,性能,压力等等。发现bug,先进行定位,和开发人员进行沟通,记录。
e.开发人员解决bug,再次提测。bug未解决或衍生出新bug,返回d;bug解决了,进入f;
f.测试通过,批准上线;
g.上线后进行回归测试,线上发现问题根据重要优先级记录下来,后期追加修复。
11.准入测试的衡量标准是什么
1 测试准入标准 1) 开发人员编码结束,并已完成自测试; 2) 需求说明书规定的功能或程序员提交的功能说明书的功能均已实现; 3) 基本流程可以走通,界面上功能均已实现,符合设计文档规定的功能; 4) 开发人员向测试部提交《测试申请单》和配置文件。
14.列举一些常用的linux命令
mv cp rm vim等等
15.怎么cp一个目录?mv有哪两种作用?
cp -r ...... 移动文件,重命名。
3.写大浮点数相加的函数
char * add (char * d1, char * d2)
4.写一个函数,满足以下功能。给定一个2的倍数的整数n(不用考虑n是否错误了,假定n一定正常),比如n=8,那么对于数列1 2 3 4 5 6 7 8,函数调整一次后变为 1 5 2 6 3 7 4 8. 先写一次调整的,然后如果是k次调整呢?
5.使用grep命令。找出a.txt文件中每一行第一个字为数字的内容。
[]
匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。
grep ^[1-9] a.txts
找出已u开头的行内容
[root@localhost test]# cat test.txt |grep ^u
ubuntu
ubuntu linux
输出非u开头的行内容
[root@localhost test]# cat test.txt |grep ^[^u]
hnlinux
peida.cnblogs.com
redhat
Redhat
linuxmint
[root@localhost test]#
输出以hat结尾的行内容
[root@localhost test]# cat test.txt |grep hat$
redhat
Redhat
[root@localhost test]#
6.显示文件最后100行
tail -100 fileName
7.查看本机的负载、性能等
9.做测试的话,是怎么个计划?钻研一个细方向?
测试的一个好处是可以了解整个系统的框架,模块交互,而不是局限于一个小模块的功能。在这个基础上,选择例如性能测试、压力测试作为主要专注领域吧。
1、两根不均匀分布的木棍,每根点完的时间都是一个小时,请问您如何确定一个45分钟的时间。
一根:两头同时烧
二根:和他一起烧,烧完后30分钟,一根剩一半,再两头同时烧,结束45分钟
2、TCP\IP五层结构,TCP、IP分别在哪层
传输层。网络层
3、HTTP中请求GET、POST的区别
4、软件测试的目的
5、对测试计划的理解,测试计划应包括哪些内容
6、缺陷跟踪系统是否了解,说明其中的bug流程
7、若早上上班发现上不了网了,如何定位解决