大家好,我是温大大
欢迎加入面试群,公众号:测试猿温大大
- 1 面试前
- 1.1 简历问题
- 2 面试中
- 2.1 业务层面
- 2.2 技术层面
- 2.3 职位规划
- 2.4 HR 层面
- 3 面试后
- 3.1 复盘面试
- 3.2 后续职业发展
- 1 面试前
1.1 简历问题
收到她简历的时候,我发现存在以下问题:
1、项目问题1: 每个项目介绍太冗余 且 缺少数据化成绩,应该精简介绍:职责 + 成绩,职责说清楚自己的负责业务以及自己通过什么工具 + 方法做哪些方面的质量保证,成绩说最终的效果:发现多少问题,提升了多少测试效率,输出了哪些东西? 例: 职责: 我负责结算系统的质量保证,通过梳理测试需求结合postman / jmeter测试工具对系统进行了功能 / 性能方面的质量保证。
成绩: 在Q1-Q2阶段发现问题 80个,其中1类问题30个,同时结合postman工具编写了接口测试脚本,自动化脚本占比20%,节约了 0.2人/天。
2、项目问题2: 项目做了很多(业务有:结算 + 零售 + 点餐,对应系统:结算系统 + web + app + 小程序),但缺少深入的沉淀,需要突出某个你最拿手的项目,重点写这个项目里面运用到的技术+业务。
3、技术问题:简历里面缺少特别突出的专项能力,例:业务能力、自动化测试能力、性能测试能力。
4、薪资问题:没有填写期望的薪资,甚至连面议也没写。
6、岗位问题:没有明确目标岗位,建议写:自动化测试工程师
7、学历问题:2017.7-2018.7 这1年期间是空白的,没有工作也没有学习,这里需要写清楚一点,不然很容易被hr 问到。
8、其他细节1:项目经验 与 公司 应该对应起来,但我这没看出这3个项目与2个公司的对应关系.
9、其他细节2: 工作经历应该把最近的工作排最上面。
2 面试中
2.1 业务层面
问:请深入讲一下结算系统的测试场景设计。
答:结算系统需要考虑的东西有很多也很复杂,所以需要巨细无遗的讲清楚,支付分类、功能测试、接口测试、安全测试
接口测试:明确整个支付流程所需要调用的接口,分清楚商家和第三方平台的接口以及参数的请求方式,包括对接口特定参数的加密,使用异常单号模拟支付,对服务端的检验。
安全测试:支付都会涉及到金额,那么就需要考虑安全测试这个方面,支付请求的伪造,金额的恶意篡改,恶意模拟第三方接口来调用商家接口等,均是我们需要考虑清楚的问题。
点评:能把以上的思考讲出来,说明你在结算这块上面做到了深入,面试+分的,如果能把支付的系统与系统之间的交互画出来,这个也能+分,很多同学做了10个项目,还不如做1个项目的同学,差距其实是对项目全面 + 深入的理解
问:看简历里面有提到你对需求进行分析,说说你如何分析的?
答:分为2个纬度来回答,1个是识别需求,1个是确定该需求是必须做的?
1、识别需求:
- 从GB/T16260.1定义的软件质量子特性角度出发,确定所对应的质量子特性。即从适用性、准确性、互操作性、保密安全性、成熟性、容错性、易恢复性、易理解性、易学性、以操作性、吸引性、时间特性、资源利用性、易分析性、易改变性、稳定性、易测试性、适应性、易安装性、共存性、易替换性和依从性方面的定义出发,确定每一条测试需求所对应的质量子特性。
- 从而对这些质量子特性进行测试类型划分,如:功能测试、易用性测试(安装测试、功能易用性测试、用户界面测试、辅助系统测试)、兼容性测试、可靠性测试、文档测试、性能测试,强度测试等。
2、确定该需求是否必须做:
- 广度:该需求的受众面有多大?
- 频率:该需求的使用频露是以日/周/月为周期?
- 强度:该需求对用户有多强烈需要?
- 时机:该需求是否符合产品的规划,当下的环境?
点评:很多测试同学觉得需求是产品的活,自己不用管,其实很多时候测试就需要站在高于产品的角度,以用户第一视角去评估1个需求是否应该去做,这样的价值远远大于你跑1条case
问:你影响中最深的一个bug是怎么样的,讲一下。
答:可选择偶现bug + 复现的步骤又多 + 研发修改难度大 + 重点你能讲清楚的bug。
点评:讲的顺序 bug在什么特定场景下 + 通过操作哪些步骤 + 自己又是如何定位bug + 研发如何修改
2.2 技术层面
问:简历上看到你有提到白盒测试,讲一下你是如何测试的,给你1段伪代码你能说清楚如何来覆盖吗?
答:白盒测试又称逻辑驱动测试,主要看1整块业务内部逻辑结构测试,它与单元测试的区别在于可能是多个函数之间的内部测试, 所以方法有:1、语句覆盖; 2、判定覆盖; 3、组合覆盖
1、语句覆盖:
说明:语句覆盖是最起码的结构覆盖
2、判定覆盖:
说明:每个判定至少有一次为真值,有一次为假值
3、组合覆盖
说明:使得每个判定中条件结果的所有可能组合至少出现一次
问:用过java语言,说说java断言里面equals 与 == 的区别 答: 基本类型的变量用==, 因为没有提供equals方法, 引用类型用equals, 比较的是他们在内存中的存放地址
问:讲讲java如何实现自动化脚本,用的什么框架或语言?
答:
问:看简历上用 jmeter进行压测,具体是B端 还是 C端的压测?
答:
问:讲讲jmeter是如何压测性能的?期间有没有遇到什么性能瓶颈,如何定位的?
答:从性能指标分析、方案设计、环境部署、性能瓶颈定位、调优方面展开讨论,具体参考
问:
name course grade
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
答:先分组 + 聚合min函数使用, select name from table group by name having min(grade) > 80
问:如何使用charles 抓https的包
答:1、电脑和手机安装证书;2、手机设置代理到电脑上;3、手机浏览器中访问 chls.pro/ssl;4、电脑上Charles上开启 SSL Proxy;
问:https 与 http区别
答:
- HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
- 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
- HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
- http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
- HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
2.3 职位规划
问:做了这么多业务,对自己的职位规划方向是怎么样的? 答:业务专家,性能测试,自动化测试
2.4 HR 层面
问:为什么没有提高学历? 答:更注重自己技能方面的学习,目前在考虑专升本
问:第一家公司跳槽的原因是什么? 答:3年没有技能上面的提升。
问:从第二家公司学到了哪些东西? 答:java/jmeter 技能上面的提升
问:你觉得你在这个岗位值多少? 答:薪资尽量给区间
3 面试后
3.1 复盘面试
1、工作4年做了一定的项目积累,但项目业务与技术层面都做的不深入,建议选定一个项目深入去复盘项目里面的业务,进行系统花梳理,再结合技术看如何能把测试的「效率」与「质量」做深入
2、结合该同学实际项目,做过jmeter性能脚本执行,可以全面的学习下性能压测方法,从如何做指标调研、如何设计性能场景、如何使用jmeter如何模拟一些web常见协议(http、dubbo)操作、压测过程中如何监控系统一系列指标、通过这些指标精准定位到系统瓶颈、在配合研发对其进行系统调优,具体参考
3.2 后续职业发展
1、拥有 结算系统测试其实算一种优势,目前很多银行、金融企业都需要这方面的人才,进入后薪资待遇也不错,但他们一般会卡学历,所以如果能把学历提升一些,以后进银行或金融企业也是一个不错的选择。
2、该同学同时有过web、app、小程序方面的测试经验,现在很多互联网,例:字节、美团 这样公司其实都有自己的多端的入口,所有拥有这些方面的综合测试经验也算优势,你可以在这些测试经验之上深入研究下 web 或 app 的自动化测试 或 性能测试,这样才能在面试中让面试官眼前一亮。
关注我,加我好友拉你进面试群,一起讨论面试干货 / 套路, 大家一起升职加薪
点击链接:温大大
让我帮你规划下学习线路 & 职业规划线路,帮你升职加薪。
关注公众号:测试猿温大大