一般面试都会按照简历当中我们写的技能或者项目进行提问,所以我们在简历当中一定要写自己能说上来的东西和对简历中的项目一定要有准备。另外,如果真的不知道就请坦诚相待,直说“不好意思,这里我不太清楚”就可以了,有的面试官也会当场告诉你答案。
1.自我介绍
虽然简历中都有信息,但是这也是一个必经的流程,不仅是展示个人信息和专业技能,同时也在展示语言组织能力,沟通能力甚至亲和力等等...
2.上一家公司测试和开发有多少人
国内的比例一般是1个测试对应4-5个开发(个别大公司可能对应的开发会到3)
3.介绍一下之前的测试流程
提前拿到需求自己先熟悉和找到疑问、错误的地方-需求评审会议-编写测试点(测试用例)-用例评审-提测后进行测试-提交bug-回归bug-输出测试报告
需求评审会议参与人员:产品、开发、测试
4.挑一个你的项目说一下
描述项目的概述、业务逻辑、功能模块。同时也可以介绍自己在项目中的角色定位,负责的模块,使用的测试方法和工具等.....(面试官也可能会突然多问一个,建议简历中的项目都准备一下)
5.用的什么数据库,版本号是多少。(专业技能上面试官可能会从专业技能的第一条开始提问)
Mysql、达梦、MongDB等等....
版本号请根据你熟悉的数据库描述
6.(我这里以Mysql为例)说一下左连接、右连接和自连接
left join 和 right join 其中left join是查询出左边的所有以及和右表关联的数据,而right join是查询出右表的所有和左表关联的数据。
自连接(inner join):from 表 别名1 表 别名2 where 表1.xx = 表2.xx
7.数据库的增删改
删除命令:delete、drop、truncate
delete :
用于从表中删除满足特定条件的行。
支持 WHERE 子句来指定删除条件。可以触发外键约束。
操作会逐行进行,因此对于大量数据的删除可能比较慢。
操作会记录详细的行更改日志,这有助于恢复数据或审计。
delete from 表名 where 条件
;
drop:
用于删除整个表或数据库对象(如表、视图、索引等)。
使用 DROP 删除表时,表的所有数据、结构和索引都会被删除,且不可恢复。
DROP 操作通常比 DELETE 快,因为它删除整个对象而不是逐行删除。
drop table 表名
;
truncate:
用于快速删除表中的所有行。
不支持 WHERE 子句,它删除表中的所有数据,但保留表结构和索引。
操作非常快,因为它通过删除整个表的数据页来工作,而不是逐行删除。
不能触发外键约束。
truncate table 表名
;
增加命令:insert into (upsert、copy into、insert into.....select 等等大家感兴趣可以自行了解)
insert into 表名 (字段名1, 字段名2, ...)
values (值1, 值2, ...)
修改命令:update()
update 表名
set 字段名1 = 值1, 字段名2 = 值2, ...
where 条件
;
使用limit来限制更新的行数
update 表名
set 字段名1 = 值1
where 条件
limit 数字
;
使用 UPDATE 命令时,务必使用 WHERE 子句精确指定要更新的行,以避免错误地更新整个表的所有行。
8.数据库索引是什么
数据库索引是数据库表中的一种数据结构,用于提高数据检索的效率。它类似于书籍的目录,可以快速定位到数据表中的特定数据行,而不需要扫描整个表。
优点:
显著提高查询速度,特别是对于大量数据。
可以加速排序和分组操作。
缺点:
索引需要额外的存储空间。
插入、删除和更新操作可能会变慢,因为索引本身也需要更新。
创建索引:
create index index_name on table_name (column1, column2)
;
删除索引:
drop index index_name on table_name
;
9.sql注入是什么
是一种安全漏洞利用技术,攻击者通过在Web应用程序的输入字段中注入恶意SQL代码,来试图操纵后端数据库。这种攻击可以导致数据泄露、数据丢失、数据篡改,甚至可以获取数据库的完全控制权。
简单注入:
在输入框中输入 or 1=1 如果应用程序没有过滤或转义,这将导致SQL语句永远为真,从而绕过登录验证。
select * from users where username = 'admin' or '1'='1' and password = '1234'
;
如何防御sql注入:
使用参数化查询:这是最有效预防SQL注入的方法。参数化查询确保用户输入被当作数据而非代码处理。
输入验证:验证所有输入数据,拒绝或转义可能包含SQL代码的输入。
限制数据库权限:应用程序连接数据库的账户应该只有执行必要操作的权限。
使用ORM框架:对象关系映射(ORM)框架通常会自动处理参数化查询。
定期审计和测试:定期对应用程序进行安全审计和渗透测试。
10.常用的linux命令
cd.. 返回上一级目录
cd/ 返回根目录
mkdir 目录名 创建目录
mkdir 目录名1 目录名2 创建两个目录
rmdir 目录名 删除目录名
rm -f file1 删除文件
rm dir1 删除目录
ls 查看目录中的文件
cat file 从第一个字节开始正向查看文件的内容
tac file 从最后一行开始反向查看一个文件的内容
tail -n 5 file 指定显示最后5行内容
tail -n +5 file 指定从第5行开始显示内容
文件搜索命令:find where
chown user1 file 改变一个文件所有人的属性
管道符 | 连接多个命令 命令1 | 命令2
grep 过滤信息
gzip file 压缩一个叫file的文件
查看进程管理: 静态 ps 动态 top
linux中的编辑器: vi vim 自动进入命令行模式
标签:必问,删除,内附,数据库,索引,file,表名,where,软件测试 From: https://www.cnblogs.com/yuanyuanmanman/p/18451612