乐于分享
好东西不私藏

金三银四前临时抱佛脚?软件测试技能突击清单,咔咔猛干!

金三银四前临时抱佛脚?软件测试技能突击清单,咔咔猛干!

阅读本文大概需要 4.9分钟。 

你好,我是小牛。

又到了一年一度的金三银四找工作旺季。

每年这个时候,我的私信就开始炸了。有刚毕业不久想跳槽的,有被裁了正在找工作的,有在功能测试岗位做了两三年想转测试开发的……问题五花八门,问的比较多的问题:

我还没准备好,但机会等不了人,现在抱佛脚还来得及吗?

说实话,这个问题让我想起了当年的自己。

想当年,我在平安做了两年测试开发,开始想着要往大厂走。我就用了大概两三个月时间,系统地梳理了自己的技术短板,补了一遍,然后拿到了京东的offer。

今天这篇文章,我就给大家整理一份测试技能突击清单,帮你在这段时间把刀磨得更快一点。

不废话,直接上干货。

一、自动化框架:从会用工具到独立设计

很多同学简历上写熟悉Selenium、Pytest,但面试一问框架设计,就露馅了。

现在面试官真正想问的不是你会不会用工具,而是:

你的框架支持数据驱动吗?怎么实现的,用Excel、YAML还是MySQL?为什么选这个方案?

失败重试机制怎么做的?怎么区分是真失败还是环境不稳定?重试几次合适?

参数化和关联怎么处理?比如登录后的Token怎么在后续接口中传递?多接口链路测试怎么做依赖管理?

CI/CD集成遇到过什么坑?Jenkins环境和本地环境不一致怎么解决?失败了怎么快速定位是代码问题还是环境问题?

我之前做自动化体系建设的时候,遇到过一个典型问题:接口自动化用例在本地跑通过率95%,到Jenkins上只有70%。

排查了两天才发现是数据库连接池配置问题,Jenkins上并发执行导致连接数不够。后来加了连接池监控和失败重试,通过率才稳定在90%以上。

这种实战经验,才是面试官想听到的。

突击建议:如果你之前搭过框架,这段时间重点梳理架构设计思路、每个模块的作用、遇到的坑和解决方案。如果没搭过,马上动手搭一个。

Python+requests+pytest+Allure+Jenkins这套跑通,重点是能讲清楚为什么这么设计。

二、性能测试:从压测到瓶颈定位

会用Jmeter压测,现在只能算入门。面试官真正想考察的是你的性能分析能力。

TPS上不去怎么排查?这个问题要能答出完整的排查链路:

先看压力机资源够不够,CPU、网络带宽是否打满 再看应用服务器资源,top看CPU、free看内存、vmstat看上下文切换 接着看数据库,慢查询日志、EXPLAIN分析执行计划、show processlist看连接数 还要看中间件,Redis命中率、MQ消息堆积、连接池是否打满

响应时间长怎么分析?不只是看平均值,还要看分位值。TP99是1秒,TP50是200ms,说明有少量请求特别慢,这时候要结合链路追踪定位是哪个环节慢。

内存持续增长怎么定位?jmap dump堆内存,MAT工具分析,看哪个对象占用最大,追踪引用链找到是哪里创建的。

我之前定位过一个内存泄漏问题,发现是某个缓存Map没设置过期策略,最后内存涨到8GB把服务打挂了。

线程死锁怎么排查?jstack dump线程栈,看BLOCKED状态的线程在等什么锁,是哪两个线程互相持有对方需要的锁。

突击建议:性能测试这块水很深,短期突击重点是理清思路。从压测、监控、分析、定位、优化,每个环节的工具和方法要掌握。

如果之前有真实案例,一定要整理成完整的故事:发现什么现象、怎么分析、定位到什么原因、怎么优化、效果如何。

三、数据库优化:不只是会写SQL

SQL这块,单表查询、多表连接是基础,但面试会问得更深。

索引失效有哪些场景?这是高频考点:

like ‘%abc’前导模糊查询不走索引 where条件里对字段做了函数操作,比如where DATE(create_time) = ‘2024-01-01’ 隐式类型转换,varchar字段用数字查询 联合索引不符合最左前缀原则

怎么判断SQL有没有走索引?EXPLAIN看type字段,ALL是全表扫描最差,ref是走了非唯一索引,const是走了主键或唯一索引最好。还要看rows扫描行数,key看用了哪个索引。

数据库死锁怎么产生的?两个事务互相持有对方需要的锁。比如事务A锁了订单表某一行,等着锁库存表;

事务B锁了库存表某一行,等着锁订单表,就死锁了。怎么避免?统一加锁顺序,或者用乐观锁。

事务隔离级别有什么区别?读未提交会脏读,读已提交会不可重复读,可重复读会幻读,串行化性能最差。

MySQL默认可重复读,通过MVCC解决了大部分幻读问题。

突击建议:找几个SQL优化的真实案例,把EXPLAIN分析、加索引、优化前后的性能对比都整理清楚。数据库死锁、事务隔离级别这些概念题也要能讲清楚原理,不只是背答案。

四、Linux命令:不只是查日志

很多人说会Linux,其实只会tail -f看日志、grep过滤关键字。但面试会问得更深。

性能排查必备命令:

top看哪个进程CPU高,top -Hp看哪个线程CPU高 vmstat看上下文切换次数,cs列太高说明线程切换频繁 iostat看磁盘IO,util接近100%说明磁盘是瓶颈 netstat看网络连接,TIME_WAIT太多要调整参数

三剑客的应用场景:

grep过滤日志,但要会用正则:grep -E “ERROR|WARN” app.log 

awk做统计分析:awk ‘{sum+=$10} END {print sum/NR}’ access.log算平均响应时间 

sed做替换:sed -i ‘s/old/new/g’ config.properties批量替换配置

经典问题定位:

某个接口偶尔超时,用grep “timeout” app.log | awk ‘{print $5}’ | sort | uniq -c统计哪个接口超时最多 CPU突然飙到100%,用top找到进程PID,再用top -Hp PID找到线程TID,printf “%x\n” TID转16进制,jstack PID | grep -A 50 十六进制TID找到线程在执行什么代码

突击建议:别死记命令,找几个真实场景练。比如分析Nginx访问日志,统计访问量最高的接口、平均响应时间、404错误数等,用三剑客写出来。这种实战经验比背100个命令有用。

五、中间件测试:Redis和MQ的深度考察

中间件这块,面试不只是问概念,更多是问实战。

Redis缓存穿透、击穿、雪崩怎么测试?

穿透:恶意请求不存在的key,绕过缓存直接查数据库。测试方法是大量请求不存在的数据,看数据库压力。解决方案是布隆过滤器或者缓存空值。

击穿:热点key过期瞬间,大量请求打到数据库。测试方法是模拟热点key过期,瞬间大并发请求。解决方案是热点数据永不过期或者用互斥锁。

雪崩:大量key同时过期。测试方法是批量设置相同过期时间的key,到期后观察数据库压力。解决方案是给过期时间加随机值。

消息队列怎么测试消息丢失?

生产者发送消息到MQ,MQ还没持久化就挂了,消息丢了。测试方法是发送消息后立即kill MQ进程,看消息是否丢失。

消费者消费消息,业务处理失败但ACK了,消息丢了。测试方法是消费者处理时抛异常,看消息是否会重新投递。

消息顺序性怎么保证?单个队列单个消费者可以保证,但这样性能差。一般用业务ID hash到固定队列,同一业务的消息进同一队列。

测试时发送一组有顺序要求的消息,看消费顺序是否正确。

突击建议:Redis和MQ的概念题要掌握,但更重要的是实战怎么测。如果你的项目用到了这些中间件,一定要整理出测试策略和发现过的问题。

六、编程能力:代码必须手写

手写代码是越来越多公司的必考环节,有的公司直接用牛客网在线编程。

常考算法不难,但要有手感:

排序算法:冒泡、快排要能不看资料写出来 

字符串操作:反转字符串、查找最长不重复子串、判断回文 

数组操作:数组去重、找出现次数最多的元素、两数之和 链表操作:反转链表、判断链表有环、合并两个有序链表

Python高级特性要能讲清楚应用场景:

装饰器:在不修改原函数的情况下增加功能,比如日志、性能统计、重试机制 

生成器:处理大数据量时节省内存,比如读取大文件逐行处理 

迭代器:自定义遍历逻辑 多线程vs多进程:IO密集型用多线程,CPU密集型用多进程,Python的GIL限制了多线程并发执行

我当年面试的时候,被要求现场写一个自动重试的装饰器,三次重试,每次间隔时间递增。这种题考的是你对装饰器的理解和实际应用能力。

突击建议:每天在牛客网刷2-3道题,保持手感。重点不是刷多少题,而是基础题要秒出思路,代码要能一次写对。Python高级特性要结合实际场景理解,不要只背概念。

七、简历包装:技术有了,还得会表达

技术补完了,简历写不好,面试机会都没有。

技能描述要具体,不要泛泛而谈:

不要写:熟悉自动化测试,会使用Selenium、Pytest 

要写:独立搭建Python+pytest+requests接口自动化框架,支持Excel/YAML多种数据驱动方式,集成失败重试、日志系统和Allure报告,对接Jenkins实现CI/CD,P0接口覆盖率100%,提升回归效率80%

不要写:熟悉性能测试,会使用Jmeter 

要写:具备完整性能测试能力,从Jmeter分布式压测、Prometheus+Grafana监控体系搭建、到CPU/内存/SQL瓶颈定位分析。实际定位过数据库慢查询、Redis缓存击穿等性能问题,协助开发优化后TPS提升1倍

项目职责要体现深度:

不要写:负责XX系统测试,编写用例,执行测试,提交bug 

要写:独立负责XX核心系统测试,设计复杂业务场景用例,发现3个P0级bug避免资损风险。独立开发Python+Flask测试工具模拟第三方服务,解决跨团队依赖问题,推广到2个项目组,降低沟通成本,提升测试效率40%

数据化你的成果:接口覆盖率多少、效率提升多少、发现多少核心bug、工具推广到几个团队、优化后性能提升多少倍,这些数字让简历有说服力。

金三银四机会很多,但竞争也很激烈。

我一直觉得,最难的不是技术学不到位,而是很多人搞不清楚面试真正考什么,把时间浪费在背八股文上。

面试考的不是你会多少工具,而是你能不能解决实际问题。所以突击的重点不是广度,而是深度。

与其把自动化、性能、中间件每个都学一点皮毛,不如深挖一两个方向,能讲出真实案例,能现场手写代码,能分析定位问题。

我当年从平安跳京东,面试被问了很多性能测试的问题。幸好我之前真实做过压测和性能分析,从监控搭建、瓶颈定位、到协助开发优化,整个链路都能讲清楚。

所以,这段时间抓紧补短板,把之前做过的项目好好梳理,能讲出深度来。没做过的,抓紧找个项目实践一遍,哪怕是自己搭个环境练手。

技术这条路,没有捷径,但有方法。按照清单扎实过一遍,该拿到的机会不会少,干就完了!

——————————-

最后,欢迎加入小牛的高薪测试就业训练营直播交付,适合任何阶段的同学,早学早就业,即便按照月薪一万计算,每天的时间机会成本至少500块,小牛会提供:

  1. 小牛一人负责上课答疑,不搞助理,全程直播,不整录播!

  2. 跟你在B站自学或者跟着培训班不一样的是,从上课第一节课开始就会讲世界500强保险项目,贯穿全程,整个是一套完整的知识体系!

  3. 无论是看直播还是录播,过程中你有任何疑问可以随时私信,你有问题一定第一时间解决!直到讲明白为止。

  4. 每位学生找工作前都会进行模拟面试,也不需要你找项目,为项目简历发愁,直接给你简历内容,以及Boss找工作话术,20K标准简历输出,简历通过率非常高。

  5. 一次付费,终身服务制只要你成为我的学生,基本就是师徒制,不仅帮你渡过试用期,后续有任何困惑都可以私信。

  6. 后续跳槽找工作也可以免费找我做简历,面试辅导,这是国内任何一家学习机构都不可能做到的!

  7. 额外赠送测试小牛正在运营的软件测试面试题库知识星球学一年,目前已经有超过900同学加入学习!

    最后,欢迎报名小牛的高薪就业特训营,详情加我微信ceshixiaoniu或扫下方二维码,并备注训练营,或者查看更多课程详情点击右边训练营

推荐阅读:
拼了一个月,拿了几个40万测试offer,赢麻了
亲自下场,面试了几家全球Top级公司……
平安科技大厂内编测开面经,卷麻了……
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 金三银四前临时抱佛脚?软件测试技能突击清单,咔咔猛干!

评论 抢沙发

3 + 9 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮