阿里电话面试

1. Java中的string类与stringbuffer类有啥区别?

在Java中有两种字符串的操作:String类和StringBuffer类(缓冲字符串处理类)。
下面先简单的说一下两者的区别。
String类和StringBuffer类都提供了相应的方法实现字符串的操作,但二者略有不同。

(1) String类
该类一旦产生一个字符串,其对象就不可变。String类的内容和长度是固定的。如果程序需要获得字符串的信息需要调用系统提供的各种字符串操作方法实现。虽然通过各种系统方法可以对字符串施加操作,但这并不改变对象实例本身,而是生成一个新的实例。系统为String类对象分配内存,是按照对象所包含的实际字符数分配的。

(2) StringBuffer类

Buffer是缓冲的意思,这个类肯定有缓冲的功能。该类处理可变的字符串。如果要修改一个StringBuffer类的字符串,不需要再创建新的字符串对象,而是直接操作原来的串。该类的各种字符串操作方法与String类提供的方法不相同。系统为StringBuffer类分配内存时,除去当前字符所占的空间外,还提供另外的16个字符大小的缓冲区。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。

ps: StringBuffer类的对象调用toString()方法将转换为String类型; String类没有append方法,StringBuffer类有append方法;StringBuffer类可以直接改变它的内容,不用重新分配地址; String 对象/ 实例  是不可以被改变的;StringBuffer是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象,它只能通过构造函数来建立:

StringBuffer sb = new StringBuffer();

sb.append("hello"); //向StringBuffer中赋值的时候可以通过它的append方法.

字符串连接操作中StringBuffer的效率要比String高:
String str = new String("welcome to ");

str += "here"; 的处理步骤实际上是通过建立一个StringBuffer,然后调用append(),最后再将StringBuffer toSting()(toString方法:StringBuffer类型转化成String类型);

2. mysql中有哪些聚合函数

avg(): 求平均值

count(*) :返回表中满足where条件的行的数量

count(列):返回列值非空的行的数量

mix(): 求最大值

max(): 求最小值

sum(): 求累加和

3. 什么是压力测试?

软件压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。拿自己开发的自动化测试工具来说,我们会测试license generation tool批量生产license文件的一个最大的数量,一次最多可以批量生成多少个license文件,超过某一批量成产的最大值后浏览器会不会崩溃以及成产出来后的文件格式要求等是否正确。

区别于软件性能测试:在交替进行负荷和强迫测试时常用的术语。软件性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试有密切关系。所以压力和强度测试应该于软件性能测试一同进行。软件压力测试是为了发现系统能支持的最大负载,软件性能测试是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。

4.常见的软件测试用例有哪些?

等价类、边界值、错误推测、判定表、因果图、流程分析

5. 计算机网络OSI七层模型:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。

6. 将文件重命名:mv 例如 mv hello1.c hello2.c 把文件hello1.c命名为hello2.c

    改变文件权限:chmod

    改变所属组: chgrp

   此外会的还有:ifconfig、ping、netstat、touch、mkdir、cd、pwd、df、fdisk、ls、find等等


  













    


你可能感兴趣的:(面试)