测试工程师多年面试问题整理

一、sql相关
1.mysql存储过程与普通的sql语句区别
存储过程就是多条sql语句的集合,由于它是在数据库端得sql语句,所有执行起来很快

2.sql的常用语句:
1.新增: insert into 表名 values(值1, 值2...)
2.修改:update 表名 set 字段名 = 新值 where 字段名 = 旧值
3.删除:delet from 表名 where 字段名 = 值       删表:drop     清空表中数据:truncate
4.排序:select 字段1,字段2 from 表名 order by 字段1  《asc升序;desc降序》
5.规定返回数目:select * from 表名 limit 数量
6.去重:select distinct * from table(表名) where (条件)
7.联表查询:selec * from a,b (as A) left join c,d (as B) on A.a(主键)=B.c(主键)      左连接(以左表为主)、右连接(以右表为主)、内连接(两表重合部分)、外连接(两表加上重合部分)
8.where和having的区别:where是一个约束声明,使用where来约束来自数据库的数据,where是在结果返回之前起作用的,where中不能使用聚合函数;having是一个过滤声明,在查询返回结果集以后,对查询结果进行的过滤操作,在having中可以使用聚合函数。where和having的执行顺序:where 早于 group by 早于 having。
9.聚合函数和group by:聚合函数就是例如SUM, COUNT, MAX, AVG等;对一组(多条)数据操作的函数,需要配合group by 来使用。(select sum from 表名 group by XX )

3.索引
因为索引是一种优化查询的数据结构,比如MySQL中的索引是B+树实现的,而B+树就是一种数据结构,可以优化查询速度,可以利用索引快速查找数据,所以能优化查询。常见数据结构有哈希表、完全平衡二叉搜索树、B树、B+树等等

4.深拷贝与浅拷贝的区别
假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力

=============================
二、压测相关
1.Linux系统命令:
启动:nohup java -jar 包名(.jar)&(获取编号)
查看:ps -ef| grep 包名      
终止:kill -9 进程号   
运行jmeter脚本:jmeter -n -t jmeter文件存放地址 -l hz002(缓存地址每次换一下名字) -e -o 压测报告存放地址    
查看进程占用系统资源:top
查看网络流量:nload
查看磁盘IO:iostat -d -x -k 1
查看磁盘已占用资源大小:df
统计日志相关纪录数;iftop
查看日志:tail -n 10 test.log(查看最后10行日志)/head -n 10 test.log(查看前10行日志)/cat -n test.log|grep "关键字"(查询关键字日志)/cat test.log|grep "关键字" -A 10(-A:关键字前/-B:关键字后/-C:关键字前后)
查看CPU占用进程:ps -ef(查看所有进程)
显示当前工作目录:pwd
列出目录:ls -a(列出所有文件)/-d(列出目录)/-i(列出每

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值