自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 Python 核心数据类型深度总结

列表是。

2025-05-16 09:36:07 1126

原创 Python 中,元组(tuple)和列表(list)的区别

列表:使用方括号[]定义,元素之间用逗号分隔。例如:python元组:使用圆括号()定义,同样元素间用逗号分隔。例如:python不过,定义只包含一个元素的元组时,必须在元素后添加逗号,如,否则(1)会被认为是一个普通的算术表达式中的括号。而定义单个元素的列表则直接写。

2025-05-15 15:46:45 397

原创 web自动化测试中,如何处理验证码

但 OCR 对复杂验证码(如扭曲、含干扰线、不规则字体)识别准确率较低,通常需对图片进行预处理,如灰度化、二值化、降噪、去除干扰线等,以提高识别率。在上述代码中,先创建 Chrome 浏览器驱动实例并打开目标网站,接着根据手动获取的 Cookie 信息构建。此方法识别准确率较高,但可能涉及付费,且依赖外部平台,存在稳定性风险。刷新页面,使添加的 Cookie 生效,从而绕过验证码进行后续测试。也需根据实际情况填写,以确保 Cookie 能正确生效。使用此方法需开发团队配合提供接口,并注意接口权限和安全性。

2025-05-15 15:42:59 1131

原创 性能优化的方式

【代码】性能优化的方式。

2025-05-13 23:13:34 1134

原创 如果网站突然出现访问速度变慢的问题,你会如何排查和解决?请尽量详细地描述你的排查思路和可能的解决方案。

两种可能的回答。

2025-05-13 23:10:48 719

原创 一条bug 都包含哪些内容?如何提交高质量的软件缺陷?

一条完整的软件缺陷通常包含以下关键内容:

2025-05-13 22:14:32 700

原创 Session 登录实现机制

Session 登录机制是 Web 应用中最传统的身份验证方式,适合对安全性要求较高、数据管理较复杂的场景。在现代应用中,常与 Token(如 JWT)结合使用,以平衡安全性和性能。Session 是一种在 Web 应用中用于跟踪用户状态的技术,常用于实现用户登录状态的保持。下面将详细解释其工作原理和实现方式。

2025-05-13 21:31:07 866

原创 Python 推导式(Comprehension)

是一种简洁且高效的创建数据结构(列表、字典、集合)的语法。它允许你在一行代码内生成序列,替代传统的循环结构,使代码更易读、更优雅。:过度复杂的推导式会降低可读性。建议保持逻辑简单,必要时拆分多行。推导式通常比传统循环更高效,尤其是处理大数据时。列表推导式和其他创建列表的方式相比,有哪些优势?推导式中的表达式可以是复杂的函数调用吗?推导式可以用于集合和字典吗?:代码简洁、执行速度快。在 Python 中,

2025-05-13 11:27:30 527

原创 Python 中lambda 表达式,即匿名函数

(也称为匿名函数)是一种轻量级的、临时定义的函数,用于快速创建简单功能。它通常用于需要函数对象的场景(如高阶函数的参数),但无需显式定义完整的函数。避免为简单功能创建命名函数。:定义一个简单的加法函数。在 Python 中,

2025-05-13 11:19:36 323

原创 Python实用的高级特性——装饰器和迭代器

在 Python 中,装饰器和迭代器是两个非常实用的高级特性,它们分别为代码的复用和高效数据处理提供了强大支持。两者都是 Python 语言的精华,合理使用可以显著提升代码的可读性和性能。,用于增强原函数的功能。本质上,装饰器是一种语法糖,让代码更简洁优雅。生成器是一种特殊的迭代器,使用。装饰器是一种特殊的函数,它可以。

2025-05-13 10:23:32 542

原创 Python 基础之九种基本数据类型

print("tup1 = (50)的数据类型是:", type(tup1)) # 输出 intprint("tup2 = (50,)的数据类型是:", type(tup2)) # 输出 tupleprint("\ntup3 = (“hello”)的数据类型是:", type(tup3)) # 输出 strprint("tup4 = (“hello”,)的数据类型是:", type(tup4)) # 输出 tuple。

2025-05-13 09:31:30 956

原创 数据库设计基石:深入理解三范式

三范式是数据库设计的重要指导原则,从确保列的原子性到消除部分依赖和传递依赖,逐步构建出结构清晰、高效且易于维护的数据库。遵循三范式虽然在某些情况下可能会增加表的数量和关联的复杂性,但它能有效减少数据冗余,提高数据的一致性和完整性,为软件系统提供坚实的数据基础。在实际的数据库设计工作中,深刻理解并灵活运用三范式,是每一位开发者必备的技能。希望通过本文的讲解和代码示例,你对数据库的三范式有了更深入的理解,并能在今后的数据库设计项目中熟练应用。

2025-05-12 21:46:42 390

原创 测试工程师如何避免漏测事故?

作为测试开发工程师,要避免漏测事故,需从测试流程、技术运用、团队协作等多个方面入手:

2025-05-09 17:59:05 643

原创 经典必备:在浏览器中输入url被按下后车之后会发生什么?

当在浏览器中输入URL并按下回车键后,会触发一系列复杂的网络操作。首先,浏览器会进行域名解析,依次检查浏览器缓存、系统DNS缓存,并向本地DNS服务器查询,必要时进行递归查询以获取目标IP地址。接着,浏览器通过三次握手与服务器建立TCP连接,确保双方序列号的同步和连接的可靠性。连接建立后,浏览器构建并发送HTTP请求报文,服务器接收并处理请求,生成响应报文返回给浏览器。浏览器解析响应内容,构建DOM树和渲染树,最终将页面绘制到屏幕上。数据传输完成后,通过四次挥手关闭TCP连接。三次握手的设计确保了连接的可靠

2025-05-09 14:59:18 784

原创 测试工程师必备的十大原则

2025-05-08 18:03:28 1161

原创 产品马上要上线了,但是开发还没开发完,又不能推迟上线时间,开发影响我们的测试时间怎么办?

在这种棘手的情况下,需要从多个方面积极应对,以尽量保证产品按时上线且质量可控:

2025-05-08 17:58:16 488

原创 用Postman 和 JMeter 来做接口测试和性能测试

Postman 的测试脚本环境是基于 JavaScript 引擎的,它提供了一系列用于编写断言和执行测试逻辑的 JavaScript API,像。Postman 自身的断言是基于 JavaScript 编写的,不能直接使用 Python 来写断言。通过以上几种方式,你可以灵活地将 Postman 和 Python 结合使用,充分发挥两者的优势。如果你希望使用 Python 来进行接口测试和断言,可以借助 Python 的第三方库,如。如果你只需要部分 Postman 的功能,也可以使用 Python 的。

2025-05-08 17:52:42 992

原创 大疆测试岗一面面经复盘

大疆测试岗一面涉及内容广泛,从基础交流到专业测试知识,再到项目相关及拓展问题。通过对这些问题的深入分析,我们可以更有针对性地进行面试准备,提升自己在面试中的表现,增加获得心仪岗位的机会。希望大家都能在求职路上顺利前行,收获理想的工作。

2025-05-08 17:21:26 73

原创 科大讯飞测试岗一面面经复盘

科大讯飞测试岗一面考查范围较广,涵盖基础沟通、网络知识和测试专业技能。通过对这些问题的解析,希望大家能更好地掌握相关要点,在面试中从容应对,顺利拿到心仪 offer。

2025-05-08 17:18:01 35

原创 蔚来测试开发一面面经复盘与技术要点解析

这次蔚来的测试开发一面,涵盖了编程基础、Web 知识以及数据库和测试相关的诸多内容。通过对这些问题的复盘和技术要点解析,我们不仅回顾了面试中可能遇到的知识点,也加深了对这些技术的理解。希望大家在求职过程中能充分准备,顺利通过面试,拿到心仪的 offer。

2025-05-08 17:07:13 51

原创 分享一篇测试开发工程师面经20250508

定义:测试用例是为特定的测试目标而设计的一组测试输入、执行条件和预期结果的集合,用于验证软件是否满足需求。简单来说,就是详细描述如何对软件的某个功能或特性进行测试的文档。基本要素用例编号:唯一标识每个测试用例,方便管理和引用。用例名称:简洁明了地概括测试用例的目的,如 “用户登录功能测试 - 正确用户名和密码登录”。测试目的:明确该用例要验证的软件功能或特性,如验证登录功能的正确性。测试前提:执行该测试用例需要满足的条件,比如系统已正确安装、网络连接正常等。测试输入。

2025-05-08 15:41:32 496

原创 牛客:合并区间

本题可先对区间数组按照区间起点进行排序,然后遍历排序后的区间数组,依次判断相邻区间是否重叠,若重叠则进行合并,最终得到合并后的区间数组。数据范围:区间组数 0≤n≤2×1050≤n≤2×105,区间内 的值都满足 0≤val≤2×1050≤val≤2×105。要求:空间复杂度 O(n)O(n),时间复杂度 O(nlogn)O(nlogn)进阶:空间复杂度 O(val)O(val),时间复杂度O(val)O(val)给出一组区间,请合并所有重叠的区间。int start;

2025-05-08 12:05:09 38

原创 python数据库模块常用的10个脚本

以 MySQL 为例,使用。

2025-05-07 08:54:11 184

原创 python3 和python2 的区别

这些区别体现了 Python 3 在设计上更加现代化、简洁和一致,也更符合国际化和内存优化的需求。在实际开发中,建议使用 Python 3 以获得更好的编程体验和性能。

2025-05-06 22:07:00 806

原创 leetcode 141 :判断链表是否有环

给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。pos。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。以下是使用 Python 实现判断链表中是否有环的代码,同时给出对应的测试用例。python。

2025-05-06 21:55:26 381

原创 leetcode 121:买卖股票的最佳时机

给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。这代码实现了计算股票最大利润的功能,其核心逻辑是使用两层嵌套循环遍历所有可能的买卖组合,然后计算并更新最大利润。不过,此算法的时间复杂度为 O(n2),当输入的股票价格列表较长时,运行效率会比较低。

2025-05-06 21:39:55 186

原创 leetcode 118:杨辉三角

杨辉三角,又称帕斯卡三角,是二项式系数在三角形中的一种几何排列。每行数字左右对称:由 1 开始逐渐变大,然后变小,回到 1。第 n 行(从 0 开始计数)的数字个数为 n + 1 个:例如第 0 行有 1 个数字,第 1 行有 2 个数字,以此类推。每个数(不在两端的数字)是它左上方和右上方的数的和:这是构建杨辉三角的核心规则,通过这个特性,我们可以从已有的行推导出下一行的数字。以杨辉三角的前 5 行为例:11 11 2 11 3 3 11 4 6 4 1。

2025-05-06 20:45:31 381

原创 leetcode 88:合并两个有序数组

注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。,5,6] ,其中斜体加粗标注的为 nums1 中的元素。最终,合并后数组不应由函数返回,而是存储在数组。需要合并 [1,2,3] 和 [2,5,6]。需要合并的数组是 [] 和 [1]。个元素表示应合并的元素,后。需要合并 [1] 和 []。中,使合并后的数组同样按。合并结果是 [1]。合并结果是 [1]。

2025-05-06 16:47:28 383

原创 leetcode 70: 爬楼梯

假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?n = 22有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶n = 33有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶这是一个典型的动态规划问题,我们可以通过分析每一步的状态来找到爬到第n阶楼梯的不同方法数。

2025-05-06 15:07:21 539

原创 leetcode 13 : 罗马数字转整数

字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II。示例 5: 输入: s = "MCMXCIV" 输出: 1994 解释: M = 1000, CM = 900, XC = 90, IV = 4.示例 4: 输入: s = "LVIII" 输出: 58 解释: L = 50, V= 5, III = 3.罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

2025-05-06 14:58:00 255

原创 leetcode 28 : 找出字符串中第一个匹配项的下标

在 Python 中,可以使用内置的字符串方法来解决这个问题。

2025-05-06 14:49:10 139

原创 详解数据库三范式与 SQL 示例​

遵循三范式设计数据库表结构,能有效减少数据冗余,提升数据的一致性和完整性,降低数据更新、删除时出现异常的风险,同时也便于数据库的维护与扩展。同时,也需要根据具体的业务需求和性能要求,灵活权衡范式与反规范化的策略,以达到最佳的设计效果。假设存在一个订单表,主键由 “订单编号” 和 “商品编号” 组成,但 “商品名称” 只依赖于 “商品编号”,这就产生了部分依赖,违反了 2NF。以员工表为例,若 “部门名称” 通过 “部门编号” 间接依赖于 “员工编号”(主键),就形成了传递依赖,违背了 3NF。

2025-04-29 00:26:12 421

原创 测试用例编写全攻略

比如,在对一个大型企业管理系统进行测试时,若当前阶段重点关注财务模块的核心功能,那么测试范围就可聚焦于财务核算、报表生成、预算管理等功能,而其他如人力资源管理、供应链管理等模块可在后续阶段再进行测试。对于上述 1 - 100 取值范围的输入框,除了选取等价类中的数据,还应重点测试边界值,如 1、100,以及临近边界的值 0、101 等。例如,对于文字处理软件的文档保存功能,正常场景下,用户编辑文档后点击保存按钮,选择保存路径和文件名,文档应成功保存到指定位置,且再次打开时内容完整、格式正确。

2025-04-28 22:37:39 361

原创 深入理解 Bug 的 Priority 与 Severity:高效缺陷管理的核心​

又如,某直播平台在一场重要的线上直播活动中,弹幕发送功能出现异常,观众发送的弹幕无法正常显示,严重影响了观众的互动体验和直播氛围,这种情况下,该 Bug 需要紧急处理,以保证直播活动的顺利进行。例如,软件中的某个报表统计功能存在轻微的计算误差,虽然目前对业务的影响较小,但随着数据量的增加,误差可能会逐渐放大,因此需要在合适的时间进行修复,避免后续产生更大的问题。比如,软件的一个帮助文档中存在一处不太重要的表述错误,在不影响用户理解的情况下,可根据项目的时间和资源情况,决定是否进行修改。

2025-04-28 22:13:16 308

原创 深入剖析常用白盒测试方法:从理论到实践​

常用的白盒测试方法各有优势和适用场景,逻辑覆盖测试专注于代码逻辑路径的覆盖,基本路径测试强调程序核心路径的探索,代码审查依靠人工经验进行细致检查,静态分析提供代码的静态质量评估,动态分析则深入洞察程序运行时的状态。同时,还能发现一些逻辑错误和潜在的性能问题,如过度复杂的算法、资源泄漏风险等。例如,对于一个包含循环和分支结构的程序,通过基本路径测试,可以清晰地梳理出程序的核心执行路径,针对这些路径设计测试用例,能够有效检测出因路径执行错误导致的问题,如循环次数错误、分支跳转异常等。

2025-04-28 20:57:07 845

原创 黑盒测试:解锁常用测试方法的奥秘

在软件测试的广阔领域中,黑盒测试犹如一位神秘的 “盲盒探索者”,无需知晓软件内部的复杂构造,仅从外部功能出发,便能挖掘出潜藏的问题。今天,就让我们一同深入了解常用的黑盒测试方法,揭开它们的神秘面纱。​。

2025-04-28 20:53:14 780

原创 TCP和UDP如何实现可靠的传输

请求端:首先在UDP数据报定义一个首部,首部包含确认序列号和时间戳,时间戳是用来计算RTT(数据报传输的往返时间),计算出合适的RTO(重传的超时时间)。当时间超时,本端重传数据报,同时RTO扩大为原来的两倍,重新开始计时。响应端:接受到一个数据报之后取下该数据报首部的时间戳和确认序列号,并添加本端的确认数据报首部之后发送给对端。UDP不是面向连接的协议,因此资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。

2025-04-28 08:47:30 439

原创 TCP 的三次握手和四次挥手

如果有第三次握手,客户端会忽略服务器之后发送的对滞留连接请求的连接确认,不进行第三次握手,因此就不会再次打开连接。⽆法防⽌历史连接的建⽴,会造成双⽅资源的浪费,也⽆法可靠的同步双⽅序列号;客户端发送的连接请求如果在网络中滞留,那么就会隔很长一段时间才能收到服务器端发回的连接确认。「四次握⼿」:三次握⼿就已经理论上最少可靠连接建⽴,所以不需要使⽤更多的通信次数。服务器端收到连接请求报文,如果同意建立连接,则向客户端发送连接确认报文,第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。

2025-04-28 08:42:18 330

原创 TCP和UDP的区别

传输控制协议 TCP(Transmission Control Protocol)用户数据报协议 UDP(User Datagram Protocol)个包的发送,是有边界的,但可能会丢包和乱序。是流式传输,没有边界,但保证顺序和可靠。向连接的传输层协议,传输数据前先要建。量控制机制,保证数据传输的安全性。个字节,并且是固定不变的,开销较。区别主要体现在下面几个方面吧。是不需要连接,即刻传输数据。是可靠交付数据的,数据可以。交付,不保证可靠交付数据。对多、多对多的交互通信。常拥堵了,也不会影响。

2025-04-28 08:39:25 274

原创 SQL及索引优化原则

核心总结:数据库优化需从索引、查询、架构、硬件、缓存、监控等多维度综合实施,结合具体场景选择最优方案。- 强制使用索引:避免`SELECT *`、`OR`、`!- 避免过长字段索引,使用前缀索引(如TEXT/BLOB字段)。- 高频查询表、排序字段、连接字段优先建索引。- 联合索引:按字段顺序使用索引。- 减少多表关联(≤2表)。- 分库分表分散IO压力。- 避免大事务操作。

2025-04-28 08:03:07 238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除