首页 > 其他分享 >软件测试面试中常见必问(一)内附答案

软件测试面试中常见必问(一)内附答案

时间:2024-10-08 14:44:33浏览次数:1  
标签:必问 删除 内附 数据库 索引 file 表名 where 软件测试

一般面试都会按照简历当中我们写的技能或者项目进行提问,所以我们在简历当中一定要写自己能说上来的东西和对简历中的项目一定要有准备。另外,如果真的不知道就请坦诚相待,直说“不好意思,这里我不太清楚”就可以了,有的面试官也会当场告诉你答案。

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

相关文章

  • 云南省职业院校技能大赛赛项规程(软件测试)
    赛项名称:软件测试英文名称:SoftwareTesting赛项组别:高等职业教育赛项编号:GZ034目录一、赛项信息二、竞赛目标三、竞赛内容1、本赛项考查的技术技能和涵盖的职业典型工作任务2、专业核心能力与职业综合能力3、竞赛内容结构、成绩比例四、竞赛方式五、竞赛流程六、......
  • 2024年河北省职业院校技能大赛(高职组)软件测试赛项规程
    一、赛项名称赛项名称:软件测试赛项组别:高职组赛项归属产业:电子信息大类二、竞赛目标(一)引领职业院校专业建设与课程改革本赛项竞赛内容以《国家职业教育改革实施方案》为设计方针,以电子信息产业发展的人才需求为依据,以软件测试岗位真实工作过程为载体,全面检验高等职业院......
  • 软件测试工具与技术的详细学习要点
    软件测试工具与技术的详细学习要点和方向涵盖了多个方面,以下是一些关键的学习要点和方向:测试工具学习要点1.自动化测试工具  -Selenium:学习SeleniumWebDriver的使用,包括元素定位、操作浏览器、处理页面元素等。同时,掌握SeleniumGrid的使用,以实现分布式测试。  -......
  • 基于python+flask框架的软件测试智能管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,软件在各行各业中的应用日益广泛,其质量和稳定性直接关系到用户体验和企业的竞争力。然而,软件开发的复杂性不断提升......
  • 干货|CNAS-CL01设备部分解读,透彻掌握软件测试实验室设备关键点
    CNAS-CL01《检测和校准实验室能力认可准则》是软件测试实验室建立符合CNAS标准的质量管理体系必须要贯彻的一部准则,分为五大核心部分:通用要求、结构要求、资源要求、过程要求和管理体系要求。前面的文章中我们为大家分享了通用要求部分、结构要求部分以及资源要求中的人员部分,......
  • 大厂必问 · 如何防止订单重复?
    在电商系统或任何涉及订单操作的场景中,用户多次点击“提交订单”按钮可能会导致重复订单提交,造成数据冗余和业务逻辑错误,导致库存问题、用户体验下降或财务上的错误。因此,防止订单重复提交是一个常见需求。常见的重复提交场景网络延迟:用户在提交订单后未收到确认,误以为订......
  • 聊一聊软件测试的基本原则有哪些
    目录原则1:测试用例中一个必需部分是对预期输出或结果的定义。原则2:程序员应当避免测试自己编写的程序。原则3:编写软件的组织不应当测试自己编写的软件。原则4:应当彻底检查每个测试的执行结果。原则5:测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未......
  • 软件测试基础知识(自用)
    1.软件1.1软件的定义软件是运行在硬件上,一段指令的集合1.2软件的分类系统软件:系统自带的软件应用软件:移动端(APP)软件电脑端(PC)软件平板电脑端(pad)软件前端C/SPCexe--- 指Windows操作系统下的可执行文件APPIPA--- 指iOS应用程序包文件,扩展名为.ipa,包含了iOS应......
  • ISO/IEC/IEEE 29119-1:2022(E) 系统与软件工程软件测试第1部分:概念和定义
    0前言国际标准化组织(ISOtheInternationalOrganizationforStandardization)和国际电工委员会(IECtheInternationalElectrotechnicalCommission)构成了世界标准化的专门体系。作为国际标准化组织或国际电工委员会成员的国家机构通过各自组织设立的技术委员会参与国际标准的......
  • 软件测试学习笔记丨curl命令发送请求
    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32332一、简介cURL是一个通过URL传输数据的,功能强大的命令行工具。cURL可以与ChromeDevtool工具配合使用,把浏览器发送的真实请求还原出来,附带认证信息,脱离浏览器执行,方便开发者重放请求、修改参数调试,编写脚本。也可以单......