面试技巧|软件测试面试题八股文-数据库题库

2680 篇文章 2 订阅
2517 篇文章 14 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3.4k次,点赞86次,收藏15次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

本期主要是一些原理性和实践类问题,如果你有使用数据库的相关经历,面试官大概率会深入问下面这些问题,回答上来是加分项!

小编提醒:理解第一,不要死记硬背哈!可以根据面试题来展开学习相关知识点,会让你进步得更快。

关系型数据库和非关系型数据库的区别?

关系型数据库以表格形式存储数据,遵循严格规则,便于处理结构化数据的复杂查询;非关系型数据库更灵活,适于存储半结构化和非结构化数据,例如文档、图像。

扩展问题-关系型数据库和非关系型数据库你知道的有哪些?

典型的关系型数据库包括MySQL, PostgreSQL, Oracle, SQL Server和SQLite。

非关系型数据库的例子有MongoDB(文档型数据库)、Redis(键值存储)、Cassandra(列族存储)、Neo4j(图形数据库)等。

外键是什么?为什么大公司有时候不建议使用外键?

外键是一个表中的字段,它是另一个表的主键的引用,用于保持数据之间的关联性和一致性。使用外键可以避免数据孤岛,确保数据的参照完整性。

大公司有时会建议不使用外键,主要是出于以下几个原因:

1. 性能考虑:外键约束会在数据插入、更新时增加额外的检查,可能会影响数据库的性能。

2. 拓展性和灵活性:随着数据量的增大,数据库可能需要拆分或者分布式存储,外键会限制数据库的拆分策略,使拓展变得困难。

3. 应用逻辑控制:一些公司倾向于在应用层实现数据的完整性和连贯性,而不是依赖数据库的外键。

扩展问题-有哪些替代外键的方法?

1. 应用层保证数据的参照完整性:通过代码逻辑来确保在插入和删除数据时满足外键约束。

2. 使用缓存来加速数据查找:例如,将一些频繁访问的关联信息保存在缓存中来减少数据库的压力。

3. 数据同步机制:通过消息队列等技术手段,让不同的数据库实例在数据更新时保持一致性。

4. 使用服务层来集中处理数据关系:建立一个服务层来处理不同数据源之间的业务逻辑,而不是直接在数据库层面建立关联。

5. 确保一致性的分布式事务:虽然复杂度高,但可以利用两阶段提交协议等机制来保持跨数据库的数据一致性。

这些方法的选择取决于具体的系统需求和预期的性能指标。

数据库的事务有什么用?什么时候应该使用事务,什么时候不该使用事务?

事务是将多条语句作为一个整体进行操作的功能,确保数据一致性和完整性。

应在需要确保数据操作完整性时使用,例如对多张表的操作必须同时成功或失败。在单条语句或不要求强一致性的操作中可不使用事务。

数据库索引有什么用?什么是联合索引?

索引类似于书籍的目录,可以快速定位到需要查询的数据,大幅提高查询速度,特别是在大量数据的场景下。联合索引是在两个或更多的列上创建的索引。假设有一个用户表,包含了first_name和last_name两列,如果你需要经常查询某个人的全名,你可以创建一个联合索引包括这两列,这样在查询时能更快的找到具体的数据记录。

扩展问题-用mysql创建联合索引的语句是什么?

CREATE INDEX idx_name ON employees(lastname, firstname);

主键适合用自定义ID还是自动ID?

自动ID(通常指自增ID)的好处是简单且能保证唯一性,适用于不需要业务逻辑的主键;而自定义ID可以根据业务需求设定,例如UUID或根据某种逻辑生成的ID,它可以在分布式系统中避免冲突。

总的来说,如果没有特殊业务要求,使用自动ID比较方便和高效。但如果需要全局唯一性或有特别的业务逻辑,自定义ID则更加适合。

索引设置得越多越好吗?索引的优缺点是什么?

索引并不是“越多越好”。每个索引都需要占用一定的存储空间,同时在插入和更新数据时,索引也需要进行更新,这会影响性能。过多的索引还可能导致优化器选择不当。因此,应根据实际情况选择合适的索引。

索引的优点主要有:1.提高查询效率。2. 在有些情况下,索引能够提高数据的聚集程度,减少IO操作。3. 索引可以在查询中使用优化的排序和分组操作。

索引的缺点主要有:1.索引需要占用物理和逻辑存储空间。2. 更新表的操作(如:INSERT、UPDATE、DELETE)会导致索引的更新,进而降低更新性能。3.索引可能会导致优化器选择不当,反而影响查询性能。

为什么会造成数据库死锁?怎么解决?

数据库死锁通常发生在以下情况:

1.多个事务尝试以不同的顺序来锁定资源。

2.有事务在持有一些资源的同时,企图锁定其他已被其他事务锁定的资源。

解决数据库死锁的方法包括:

1.超时和重试机制:设置超时时间,当事务等待超过这个时间还未能获得锁时,自动回滚并重试。

2.死锁检测与救济:数据库系统会定期检测是否有死锁发生,并自动选择一个或多个事务进行回滚来打破死锁。

3.顺序加锁:确保所有事务以相同的顺序请求资源。

4.减少锁粒度:使用更细的锁粒度可以降低死锁的几率。

5.优化事务:减少事务持有锁的时间,并尽可能减少事务所需的锁数量。

数据库设计的三大范式是什么?

数据库设计的三大范式包括:

1.第一范式(1NF):确保每个列的原子性,即表中的每个字段都是不可再分的数据项。

2.第二范式(2NF):在第一范式的基础上,要求表中的所有数据都与该表的主键有完全依赖关系,即没有部分依赖。这通常要求每个表只描述一件事情。

3.第三范式(3NF):在第二范式的基础上,消除非主键列对主键的传递依赖,确保每列都与主键直接相关,而不是通过另一列间接相关。

遵循这三个范式,通常可以得到既有结构性又避免了重复的数据库设计。

为什么要进行分表分库?

进行分表分库的原因主要包括以下几点:

1.提升性能:当一个数据库中的数据量非常巨大时,数据的插入、查询、更新等操作速度会变得很慢。通过分表或分库,可以将数据分散存储到多个表或数据库中,这样可以减轻单个数据库的压力,提高处理速度和效率。

2.容易维护:随着数据量的增加,数据库的备份和恢复需要的时间也会增加,这对日常运维造成挑战。分表分库后,可以单独维护每一个子表或子库,降低维护复杂度和风险。

3.数据安全:通过分表分库,可以将敏感数据和非敏感数据分开存储,增强数据的安全性。

4.扩展性:随着业务的发展,数据量和访问量会不断增加。分表分库可以使系统更容易进行水平扩展,即通过增加更多的服务器来承载更大的访问量和数据量,满足业务发展的需求。

分表分库是处理大规模数据和高并发访问的一种有效手段,能够帮助提高数据库操作的效率,保证系统的稳定性和可扩展性。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值