1、 请列举你常用的Linux指令。
ping 查看网址
ssh + ip地址 连接服务器
/etc/init.d/sshd restart 重启sshd服务
su 用户名 切换用户
cd .
cd ../..
cd ~ 进入root用户的家目录
cd /home 进入普通用户的家目录
cd /
ls
ls -a 列举当前目录下所有的文件和目录(包含隐藏文件)
ll 列举当前目录下所有的文件和目录
ls -l
mkdir 创建目录
mkdir -p a/b/c 创建联级目录
mkdir a b c 创建平级目录
touch 文件名 创建文件
touch a b c
cat 查看文件内容全部显示
less 查看文件内容上下左右翻页显示
more 查看文件内容以百分比显示
cat a>b cat a>>b 覆盖和追加
cat a.txt|grep “Python” ==》在a.txt文件中查询Python字符串
head 文件名 默认查看前10行
tail 文件名 默认查看末尾10行
head -n 5 查看前5行
tail -n 5 查看末尾5行
tail -n +5 从第5行开始
查看文件a.txt的第5到10行
2、 Linux系统中有一个正在改变的日志文件catalina.out,请你将日志文件当前的实时变化输出到另一个新文件test.log中。
1)进入Tomcat的日志目录,执行命令: cd/usr/local/tomcat/logs
2)查看tomcat里面的catalina.out日志
3)查看日志执行命令:
① tail命令:查看文本的结尾内容;
tail catalina.out,查看文本catalina.out;
tail -5 catalina.out,查看文本后5行;
tail -f catalina.out,查看文本实时更新的内容;
② less命令:按照页面显示文本内容;
less catalina.out
pageup 向上翻一页 (向上整翻一页)
pagedown 向下翻一页 (向下整翻一页)
↑ 向上翻一行
↓ 向下翻一行
/关键字 向下搜索该字符
?关键字 向上搜索该字符
q 离开(类似quit退出)
③more命令:less与more相似,按照页面显示文本内容;
more catalina.out
空格键 代表向下翻页 (向下整翻一页)
Enter 下翻一行
/关键字 向下搜索该字符
b 回滚
q 离开
4)查看关键字:
/关键字 向下搜索该字符
?关键字 向上搜索该字符
5)翻页与翻行:
pageup 向上翻一页
pagedown、空格键 向下翻一页
↑ 、n 向上翻一行
↓、Enter 向下翻一行
6)结束查看当前日志:
q(类似quit退出)
3、
4、 在应用服务器上发布了一个名为“promotion”的应用,发布目录为/home/promotion/apache-tomcat/webapps/。
(1) 你知道哪些方法可以判断该应用是否正在运行? ps -ef|grep
(2) 你如何知道该应用发布的端口信息?losf -i
5、 数据库中表employee包含employee_id, employee_name, depart_id, depart_name, salary字段,请写出SQL语句
(1)按部门的字符串顺序排序,查询各部门员工的平均工资(不包含“HR”部门)
(2)查询“张三”所在的部门的每个员工的姓名和员工号
1、SELECT depart_name, AVG(wage)
FROM employee
WHERE depart_name <> 'HR';
2、select employee_name, depart_id from student where employee_name=张三
6、 你是否熟练使用JMeter做接口测试和性能测试?
(1)在编写脚本的过程中你使用过哪些前置处理器和后置处理器?请介绍它们的使用场景。
前置处理器:读取文档变量,在设置环境变量
后置处理器:断言
(2)JMeter中用户定义的变量(User Defined Variables)和用户参数(User Parameters)的区别是什么?
区别:
(1)User Defined Variables导入文档,表格, 用户参数是直接添加
(3)请列举你知道的性能测试指标。
性能测试指标:
响应时间、吞吐量、tps、事务处理数、cpu、网络、内存、i/o、点击率、点击量
(4)请说明性能测试中响应时间和吞吐量的关系。
响应时间是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。响应时间是指执行一个请求从开始到最后收到响应数据所花费的总体时间。
响应时间=发起请求网络传输时间+服务器处理时间+返回响应网络传输时间
吞吐量:单位时间内处理的请求数量(事务/s)(衡量网络)
吞吐量是指单位时间内系统能处理的请求数量,体现系统处理请求的能力,这是目前最常用的性能测试指标。
区别:1、响应时间在处理的结果时间 ,吞吐量:处理能力
7、 请根据以下接口规范及业务流程描述设计相应的接口测试用例
getPaperBookList请求参数
参数名称 |
是否必须 |
类型 |
默认值 |
描述 |
queryWord |
true |
string |
|
搜索词 |
goodsTypeId |
false |
string |
1503 |
商品类型ID,过滤用。目前只有纸书类型1503,后续会增加,默认1503 |
pageSize |
false |
string |
5 |
页长,默认5 |
pageNo |
false |
string |
1 |
页码,默认1 |
getPaperBookList响应数据
参数名称 |
是否必须 |
数据类型 |
描述 |
hasNext |
true |
boolean |
是否有下一页 |
totalCount |
true |
number |
按类型搜索结果的总数量 |
paperBookList |
false |
array[object] |
搜索结果集 |
id |
true |
string |
商品id |
image |
true |
string |
封面 |
name |
true |
string |
书名 |
authorName |
true |
string |
作者 |
cpMark |
true |
string |
来源供应商 |
price |
true |
number |
价格 |
getPaperBookList接口流程描述:
l if (queryWord为空) 返回错误码22003
l 根据请求入参(pageNo默认值为1,pageSize默认值是5,goodsTypeId默认值是1503),取缓存KEY=PAPERBOOK_{queryWord}_{goodsTypeId}_INFO,返回值为对象A
- (A == IS_NULL) 返回成功响应,hasNext=false,totalCount=0
- (A == 纸质书缓存对象) ,根据pageNo和pageSize对A中的图书对象列表进行分页,返回成功响应及分页后的结果
- (A == null)调书城http接口,结果为对象B;
(1)if (B == null) ,存IS_NULL无效缓存,返回成功响应,hasNext=false,totalCount=0
(2)else:根据入参goodsTypeId对B过滤得到对象C;将结果C放入缓存;根据入参pageNo和pageSize对C中的图书对象列表分页,返回成功响应及分页后的结果
getPaperBookList接口流程图
ym_001 |
getPaperBookList获取页面列表接口 |
获取页面列表接口成功 |
KEY=PAPERBOOK_{queryWord}_{goodsTypeId}_INFO B ==NULL |
queryWord:狼图腾 |
hasNext:1 |
ym_002 |
获取页面列表接口__搜索词为空 |
queryWord: 空 |
msg:2003 |
||
ym_002 |
获取页面列表接口__缓存为空 请求成功 |
KEY=PAPERBOOK_{queryWord}_{goodsTypeId}_INFO 为空 |
queryWord: 书名 |
hasNext:false |
|
ym_003 |
获取页面列表接口__缓存存在——分页 请求成功 |
KEY=PAPERBOOK_{queryWord}_{goodsTypeId}_INFO ==纸质书缓存对象 |
queryWord: 书名 |
hasNext: true |
|
获取页面列表接口__缓存为null 分页 |
KEY=PAPERBOOK_{queryWord}_{goodsTypeId}_INFO ==null |
queryWord: 书名 |
hasNext: |
||
获取页面列表接口__ |
hasNext:FALSE |