问答 说下我最近 1-2 个月作为面试官的感受吧

king · 2022年06月30日 · 最后由 清明雨上 回复于 2022年10月21日 · 18657 次阅读

很多候选人写着,精通、熟练性能测试,但是一问发现大部分都是停留在工具使用上,对于服务端业务架构完全不熟悉,对于常用的中间件都没听说过,知道的也是只是一个名字,完全经不起提问,对于 Linux 基本命令也完全不熟悉,甚至有些做性能测试的面试者从来都没登录过公司的服务器。
对于自动化方面,好多人都是在网上拿开源框架或者公司测开团队开发的框架或平台进行自动化测试,简历就写着掌握、熟练自动化测试,我认为他们的工作只是停留在使用工具上,将平台能力强加在自己身上;很多人遇见问题自己都解决不了,对于 UI 自动化方面,好多都是遇见最难的问题就是定位问题,接口自动化大部分都是鉴权、加密、没有接口文档、业务比较复杂这些,有些做了几年的接口测试及自动化测试,对于 HTTP 协议都是基本了解,例如 Content-Type 常用类型都不知道。
这是我面试时,问的一部分问题,大家觉得问题是太偏还是我的问题,好多面试者回答不好,欢迎指导

  • 性能测试方面:
    • 你说下你们系统的整体业务架构是怎么样的?
    • 对于中间件相关问题 Nginx(1.正向代理、反向代理区别 2.Nginx 负载均衡策略) Redis(1.缓存穿透、击穿、雪崩 2.Redis 持久化策略)、 Tomcat(1.tomcat 有哪几种 Connector 运行模式 2.tomcat 需要优化主要优化什么)
    • 性能测试过程中遇见过什么问题?怎么分析定位解决的?
    • 数据库慢查询如何分析的?
    • 说出你性能测试过程中遇见的一个性能问题?说下分析思路?
  • 自动化方面:
    • 自动化框架如何搭建,用了多久?
    • 你做自动化过程中,遇见过哪些难题?如何解决的?
    • 框架里面查找元素封装做了哪些工作保证查找成功率?
    • 编写那些自动化用例用了多久?每次执行发费多少时间?
    • 自动化用例执行策略是什么?
    • 自动化测试在你公司怎么落地及推广开来的?
    • 例如:用例有 1-5 步这种步骤时,如果前面用例在未知步骤失败执行,怎么保证后续用例继续执行
最佳回复

成熟的公司确实可能会直接提供一套完善的平台给到员工进行使用,这种环境下要注意避免只停留在工具表层的使用,遇到任何问题都要学会进行思考与总结,深挖事物的本质。

问的没啥问题。候选人可能确实停留在工具使用层面,缺少对工具深入了解的想法,同时也不善于做总结。

共收到 38 条回复 时间 点赞

想请教一下大佬平时学习方式是什么,小白学习成长中

问的没啥问题。候选人可能确实停留在工具使用层面,缺少对工具深入了解的想法,同时也不善于做总结。

king #37 · 2022年06月30日 Author
花菜 回复

关键面试的好多都是工作 8 年 + 的经验,感觉还是以前互联网行业疯狂扩张导致的,很多人没有沉下心来提升自己的技术能力

xxxaaazcc 回复
  • 自动化基础可以参考一些培训机构的大纲去学习,可以找他们的视频 (不是建议你去报培训班),把培训机构做的那一套学会了,基本上搭建基础自动化框架没什么问题了 (道路还很长),前提需要你需要真的学会了,自动化测试思维 + 编程知识 (自动化 + 测开必备),剩下的就是公司实际应用,再就是根据公司业务、需求,定制修改;深入的还是根据公司业务需要对应学习,在进行实战使用,加深理解,做到灵活应用,做到知其然知其所以然
  • 性能这种首先先学会最基础的,学会性能工具的灵活使用和基本性能理论知识,例如 jmeter 怎么发送一个 http 请求、性能基础 (性能指标、场景设计、执行压测、性能环境搭建、监控体系等)
  • 像一些基础知识协议、网络、数据库、Linux、中间件、服务架构等,这些都需要去看相关的书籍或者一些技术专栏,需要时间积累,还需要公司环境,单独的练习,没有在真正的公司进行实战,很难理解的很透彻

性能知识盲区,不好评价;自动化方面的,我觉得还好,问来问去都是这些问题

自动化的问题,感觉面试时必定会被问题🤔

能够熟练掌握这些,是高级还是资深?

“” 论刷面筋的重要性 “”

我就是仅仅停留在使用工具上,目前公司都只是功能测试,自动化的一些工具还是自学的

互联网要想走技术这条路,内功是必须的。就我目前的状态来说每天聚焦于业务测试,真的很难静下心来研究技术相关的东西。有时候闲下来一点了,马上又有 task 安排过来了😂

成熟的公司确实可能会直接提供一套完善的平台给到员工进行使用,这种环境下要注意避免只停留在工具表层的使用,遇到任何问题都要学会进行思考与总结,深挖事物的本质。

楼主这面经真是太及时了,爱了爱了

没啥问题,估计面试官还没遇到合适的人😀

例如:用例有 1-5 步这种步骤时,如果前面用例在未知步骤失败执行,怎么保证后续用例继续执行

这种场景化的 case,前面失败了为啥不直接报错,还要继续执行呢?

给面试官建议:1.筛选简历上把把关 2.可以先电话交流

secret 回复

上班实在忙不过来就用下班的时间卷呀,想卷的话没什么能阻挡你的~

king #17 · 2022年07月01日 Author
简11 回复

这个简历筛选是 HR 和另外一个同事筛选,总监负责二次筛选,我负责技术面,我上次还说了简历筛选稍微严格一些,但是效果不太明显,在公司里面有些事情比较难以反驳的,具体你们都懂得

king #18 · 2022年07月01日 Author
  • 同一个业务的用例,如果是这个失败点后续部分用例可以不执行,因为就算执行也是失败,如果同一个业务其他路径的用例肯定需要执行,用例之间不能互相干扰
  • 不同业务功能的用例,这种肯定也需要继续执行

这个问题的考察点

  • 用例之间组织执行逻辑、自动化用例设计
  • 对于这种异常是否有相应的实际经验
king #19 · 2022年07月01日 Author

如果通过了肯定是高级及以上这个水平了,我们公司,其他公司评定不清楚

用了多久,花了多少时间这类的问题,到底是想了解啥呀,比较费解。
反而是输出多少自动化用例,占比多少,正确率如何,代码覆盖率能达到多少,这种关键指标没有提到。

感觉问的不难,只是还没遇到合适的人

king #12 · 2022年07月01日 Author
  • 针对用了多久,花了多少时间这类的问题,到底是想了解啥呀,比较费解。 这些都是验证他实际工作中工作效率及是否真实做过、根据回答进一步提问做准备
    • 用了多久 PS:①上次有候选人跟我说,写了不到 50 个 UI 场景自动化用例,花费时间 4 个月左右 ②还有候选人说一天写了接近 150 个 UI 自动化用例,你觉得这种可信度怎么样?
    • 花了多少时间 PS:①有次候选人说他们 UI 自动化用例每次执行 1-2 个小时,还是处于白天上班时间,这时候我就问 1.你自动化用例执行策略 2.有想过这种有什么问题吗 3.有什么优化策略没,加快你的执行速度、效率 ②有些人直接跟我说他总共 500 条 UI 自动化,执行 20 多分钟,还是单线程串行执行的,这种根据经验是办不到的 你说的这些反而是输出多少自动化用例,占比多少,正确率如何,代码覆盖率能达到多少 在我问题里面都有,只是这里面没有完全列举出来

很有意思的帖子,楼主能不能多分享一些面试题呢,想查漏补缺一下~

24楼 已删除
king 回复

你要严格了,hr 约不上人,你们又会说,连个人都招不上来

king 回复

收起匪浅 谢谢

ganci 回复

感谢指导,对于缓存这一块确实没有了解比较深,我这边问的确实不够专业。
我基本上就问下以下问题:

  • 性能压测时,如果服务器有数据缓存,需要注意什么?
  • 对于消息队列消息丢失、消息重复消费问题分析及相关的解决方案了解?
  • 如果服务端加了缓存,测试时需要注意什么?
  • 你知道你们公司业务 Redis key 淘汰机制如何选择的?
  • 有了解如何保证数据库和缓存数据一致性的方案吗?

一般作为技术面试官 我主要会就候选人简历上的业务和技术项目进行由浅入深的提问 来看候选人的思考 掌握 深入 总结及横向拓展能力 然后结合他面试岗位的特点问些问题 看他的匹配度及兴趣度等

问的还可以,不算是很偏

imath60 回复

PS:最初面试是直接根据简历问,被面试者反驳了,说我问的他的技术盲点,他懂得没问到,现在都是要候选人先自己说擅长的再问,已经没出现被面试者反驳的情况出现了
我现在的面试流程是:跟你这些面试流程类似

  • 候选人自我介绍 (最近 3 年工作经历及擅长的技术)
  • 介绍一下最近做的一个项目
  • 根据项目介绍提取面试问题点,主要看候选人表达、总结能力,能否清晰、有逻辑性的总结提炼出来
  • 根据擅长技术提问由浅入深 (怎么做的、怎么解决问题、技术理解深度),主要了解到是学会基本使用、熟练使用及能够思考改进的哪一个阶段
  • 结合公司职位问相关知识面 (由擅长技术扩展而来),主要看知识广度、深度

然而测试现状是 这些东西并不被大多数同行掌握得很好
很多人把这个写在简历上,只是想作为一个加分项,万一面试官也没什么水准呢,万一面试官也不懂呢 ,忽悠一下没准儿就信了。

性能和自动化,看简历的项目中是否用到。很多候选人简历上虽然写了一些技术名词,但在项目中根本没有体现。
问题,个人觉得没什么大的问题,一般都是这样问的。不过我建议可以在提问的时候,结合项目来让候选人 get 到你的点。性能测试知识点挺大的、也挺多的,有的候选人可能真的只是在搬砖,不会造教堂.... 主要看你招的人进来负责什么,小兵的话能做事即可,将领除技术能力外,还需要有一定的领导能力,统帅的话当然更强。
说说我如何问性能这方面的:
1、先让面试者说明 why 为什么做压测,压测的目标是什么?eg:客户遇到了性能问题 或者 新项目上线要求容量测试
2、说明 How 面试者负责的是什么? 整个压测方案,还是协助做局部的模块 再是具体怎么做的?是否有计划,需求分析与测试设计、测试策略是什么、业务模型是否有整理、测试数据准备与构造...
3、测试过程遇到了哪些问题,如何解决的,关注了哪些指标,记录了哪些数据,是否达到预期
4、结果分析与测试报告 最终是否上线,是否与客户有上线前的沟通,上线后问题是否解决,或者优化是否达到预期,确认满足了需求
...
以上,吐槽一下:大部分的人是理论派或实战派,少之又少的是融会贯通的(稀缺人才);但有一说一,每个公司不需要太多融会贯通的人,只要招进去的人能做事,能解决问题,那么就足够了,所以看公司想要哪方面的人了

除了中间件的问题,其他问的没啥问题,对中间件的理解最好结合他项目中接触过的中间件去问,直接这样问除了 redis 大部分人是没接触过这些中间件的,“接触过哪些中间件?” “XXX 的缓存淘汰机制?” “redis 与 kafka 有什么区别,性能比较?” 这样展开来问比较好,可以看看他了解的深度,有比较深的理解接触到其他中间件也能驾驭。

筛选简历的问题大点吧,按照分级来找。中级的就会用点工具,理解概念。高级就是能独当一面,体制建设

功能、接口、性能测试和 Linux 倒是能谈谈,你给我说中间件和 redis,我发现我完全不懂,几乎不接触。这。。

确实,一条用例都失败了还继续执行啥啊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册