1、Java语言和C/C++语言相比有何异同点?
相似之处:
1)语法类似:由于Java是从C++发展而来的,因此Java与C/C++语言的语法比较类似,比如流程控制语句:if else、for循环等语法
2)Java有自身的JDK类库,C语言则有标准库。都有函数或方法,我们可以使用这些API进行编程。
不同之处:
1)Java能够自动垃圾回收,程序员只需new分配对象空间,使用完毕JVM的GC会自动回收。
C/C++语言则不同,空间自己分配的需要自己回收。
2)C语言是面向过程的语言,C++引入了面向对象特性,Java语言更是面向对象语言,相比C++取消了许多复杂的、
容易出错的语法,比如取消了指针语法,保证程序员不容易出现底层错误,当然Java的底层还是C++,底层肯定
用到了指针,只是程序员不用关注。
3)C++中允许类的多继承,Java取消了类的多继承,保证了结构的简单性,同时使用了接口变相达到多继承的语法。
2、Java语言的数据类型有哪些?
主要分为两大类:基本类型 和 引用类型
1)基本类型就8种,而且都是关键字,分别为:byte short int long char float double boolean
其底层结构是以字节为单位,来存储数据。基本类型也称为简单类型、原生类型。
2)引用类型主要有类、接口、数组等形式,可以自定义,也有不少API可以使用。
其底层结构是使用引用变量,来保存对象的内存地址,从而管理对象中的属性等资源。
引用类型也称为复杂类型、对象类型。
3、程序的流程有哪些?
1)顺序语句:像流水账一样,由前往后逐步向下执行,直到执行结束。
2)分支语句:根据不同条件,执行不同的分支,能满足具体业务中具体问题具体分析的情况。
常用的分支语句有:if else、switch case
3)循环语句:在具体业务中,如果需要反复执行同样的或者类似的代码,可以使用循环。
循环具备4个要素: 初始化语句、循环条件、循环体和步进语句。
常用的循环语句有:for循环、while循环、do while循环,不同语言关键字有所区别。
4、面向过程编程 和 面向对象编程的区别?
我们在程序设计和开发过程中,可以采用面向过程的或者面向对象的编程思想。
由于程序=数据结构+算法,所以不同的思想其出发点是不同的:
1)面向过程:先考虑算法,后考虑数据结构。也就是先考虑每一步的实现策略,之后将这些步骤
连成整个完整的程序。
2)面向对象:先考虑数据结构,后考虑算法。面向对象重点是结构设计,也就是先关注整个程序需要有
几个类共同组成,每个类中都有哪些成员,比如有哪些属性、方法、构造方法,设计好这些类,就能够
搭建起整个软件的核心架构,之后再考虑不同的方法使用什么算法来实现,具体如何实现。
面向对象思想拉近了现实世界和计算机世界之间的距离,便于我们向分析现实生活问题的方式来分析和
实现计算机问题,同时面向对象中又离不开面向过程,毕竟程序是需要实现业务流程的,业务流程需要结合
面向过程的思想,其中也离不开使用到各种类和对象来编程。所以面向对象和面向过程在Java中是你中有我,
我中有你,互相渗透,相得益彰的。
5、谈谈你对被测系统的理解?
被测系统SUT/AUT,表示正在被测试的系统。软件架构主要有C/S和B/S架构。
我们目前测试的主流是B/S架构的软件,也就是浏览器/服务器架构,这样的被测系统一般由两部分组成:
被测系统 = 应用服务器 + 数据库服务器。所以我们关注的不仅包括应用服务器中的软件功能和性能,
也包括数据库服务器中的功能和性能,在性能测试过程中,大部分的问题出现在数据库服务器端。
6、谈谈数据库中常用的函数?
以Oracle数据库为例:
<1>单行函数 针对一个值返回一个结果
1)字符函数,针对char、varchar2类型:
length 求字符串长度
upper 小写转大写
lower 大写转小写
substr 求子串
2)数值函数,针对number类型:
round 四舍五入
trunc 截取
abs 求绝对值
3)日期函数,针对date类型:
sysdate 获取当前系统时间
to_char 将date类型->char类型,目的是提取日期类型的信息
to_date 将char类型->date类型,目的是获取日期类型的数据
add_months 加几个月
last_day 一个月的最后一天
trunc 针对日期类型的截取 可以截取到日、月、年
4)其它
nvl