【模拟面试 -4 年实习】工作 4 年业务做的不深入,如何突破
大家好,我是温大大
欢迎加入面试群,公众号:测试猿温大大
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 是如何压测性能的?期间有没有遇到什么性能瓶颈,如何定位的?
答:从性能指标分析、方案设计、环境部署、性能瓶颈定位、调优方面展开讨论,具体参考
问:
答:先分组 + 聚合 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 的自动化测试 或 性能测试,这样才能在面试中让面试官眼前一亮。
关注我,加我好友拉你进面试群,一起讨论面试干货 / 套路,大家一起升职加薪
版权声明: 本文为 InfoQ 作者【测试猿温大大】的原创文章。
原文链接:【http://xie.infoq.cn/article/560d4108728a9d864cb93147d】。文章转载请联系作者。
评论