首页 > 编程知识 正文

唯品会面试经验,唯品会测试工程师工资

时间:2023-05-03 21:46:56 阅读:286081 作者:4298

目录 一、背景介绍二、一面2.1 功能及流程相关2.2 WEBUI自动化2.3 接口自动化2.4 性能测试相关2.5 其他 三、二面四、三面五、面试总结

一、背景介绍

     博主19年本科毕业,毕业后本身是以java开发进入上海的一家公司,由于当时公司想搞自动化测试,莫名的“阴差阳错”的就变成了测试。当时没多想,也就开启了测试生涯。一年多的测试工作时间内,主要做的是WEBUI自动化和性能测试。当然,这里说的性能测试,是比较简单的使用Jmeter进行压测并出具报告,其中监控和性能分析较少,所以技术含量也没有那么高。

    2020年年初由于新冠疫情原因,公司相关福利也变少,而且感觉在小公司,技术成长慢,且测试相关流程不太规范,工作上不是太开心,且家人在广州,也就萌生了离职的想法。
    想着要跳槽也要去个好点的公司,没准备好就去面试肯定死的很惨;然后从4月份开始,通过写博客的方式,将工作中用到UI自动化、性能测试相关内容进行一个总结,并在极客时间上买了一个性能测试相关课程,加深自己对性能测试的了解。也为了面试,在B站上找了关于数据库、网络协议、HTTP协议、抓包工具的视频进行学习,然后再写博客进行一个总结。学习的过程还是挺快乐的,有时候写博客到一两点都不觉得累!
    本打算将相关学习的内容学习的差不多了,再开始投简历面试,但是到7、8月份的时候开始,身边的小伙伴陆续提了离职,想着后面的离别就有点伤感。第一年的工作生涯,虽然没啥钱,但是工作之外的时间还是挺开心,也很幸运遇到的这群小伙伴。

    然后就开始投简历。但是现实却是很残酷,大概是由于学历普通、工作经历也较为普通,达不到想去公司的标准,发出去的简历几乎没有音讯。倒是有很多外包公司招聘的消息,但是自身并不想去,即使钱多也不去。由于家人在广州,感觉唯品会是一个还算不错的选择。所以也投了简历给了唯品会,虽然一直没啥消息。后面在BOSS直聘上看到唯品会这里一个测试经理发出招聘信息,就直接“毛遂自荐”了一下,才有了后面这样的面试机会,可以说也算是比较幸运吧!

    面试过程中的问题,大多都是围绕着简历来问的,所以此处附上我当时的简历:简历

二、一面

一面是技术面,采用的形式是电话面,我当时大概进行了50分钟,问的问题大多围绕着我的简历来问的,着重问了关于性能测试这一块的,大概是简历中的WEBUI自动化并没有那么吸引人,就我目前的感觉来说,UI自动化的维护成本较高。由于问的问题顺序记不太清楚了,所以按照 功能及测试流程、WEBUI自动化、接口自动化、性能测试、其他几个方面来说。

2.1 功能及流程相关

用例设计:一个输入框,输入相关字符后,功能为计算出输入框中字符a的个数(说的时候并没有说是A还是a)?

一般来说,场景用例的设计可以通过 功能测试、UI、性能测试、安全性、兼容性测试、易用性这几个方面来说
参考答案
【1】功能:正确输入(只有a、只有A,a A都有),为空输入,特殊字符、超长输入,如果需要跳转页面,需要看页面是否跳转成功。
【2】UI:功能界面布局是否合理,文字简洁好理解,没有错别字
【3】性能:功能需要多少时间、多次点击、多人点击
【4】兼容性:不同浏览器、不同平台、移动设备
【5】安全性:此处没啥安全性,但是针对登录的场景,需要考虑是否加密,错误登录是否有限制,检查元素是否能看到密码
【6】易用性:多个输入框情况下,tab键是否可以切换,回车是否触发接口,文本是否能复制进输入框

做性能测试的流程是?

这个问题当时回答就是根据自己当时做性能测试的流程来说的。但是我当时的流程不算太完善,可以参考:该博客

性能测试过程中遇到最大的预置数据量是多少,你针对这个数据量的判断理由在那?

这个问题就根据自己当时遇到的实际情况来说的,大体就是参考线上环境来说,可以自行查一下更好的回答。

2.2 WEBUI自动化

关于WEBUI自动化的问题,没有去过多问UI自动化相关的Selenium之类的技术问题。但是却也问了关于UI自动化几个核心的问题:case数、成功率、覆盖率、执行时间、发现BUG数、维护成本高的问题;
从这几个问题下来,大概也就知道UI自动化做了多少、产出问题。而执行时间久、维护成功高也是UI自动化的两个大问题,如何解决这种问题也是一大难题。

WEBUI自动化中用到的设计模式?WEBUI自动化中遇到的一个印象深刻的问题?WEBUI自动化脚本成功率是多少?脚本数量多少?运行时间?WEBUI维护成本高的问题?做WEBUI自动化有几个人,你所担任的角色?WEBUI自动化中发现的BUG数量是多少? 2.3 接口自动化

虽然第一份工作中没有做接口自动化,但是自己自学了一点接口自动化的东西,所以也就写在简历中。而且个人感受就是接口自动化相较于UI自动化,才是效益更高的自动化测试。

做接口自动化最初的目的校验接口请求成功与否的问题接口自动化使用SQL语句验证相关接口请求是否成功 2.4 性能测试相关

数据库索引相关概念,以及一般在什么字段上加索引,什么字段上不加索引

参考:
create index indexName on mytable(username(length))
一般来说,主键及在where字句经常使用的字段应该创建索引,但不是所有字段都加索引。经常出现增删改的字段不适合加索引。
索引需要占用物理空间,当数据进行增删改的时候,索引也要维护,降低维护速度

Redis基本概念,以及Redis的优势和劣势,平时是否对Redis做过测试?

参考:
缓存数据库,可以理解为应用和数据库之间的桥梁。
一般会将应用中固定不变的数据存储在Redis中,后面需要相关的数据是从Redis中取
由于Redis完全基于内存,操作速度快,且使用单线程,避免上下文切换的问题。
缺点:单线程阻塞,由于Redis是使用单线程操作,所以才可能出现单线程阻塞。
Redis性能测试:Redis自带的工具,使用redis-benchmark,通过Redis相关命令去请求,然后可以看到相关请求的时间

关于多线程安全的问题,以及锁的概念。多线程安全和多线程不安全那个性能好? 消息队列?

参考:
例如,电脑上开启的微信客户端,在微信上发消息,然后同时又在看公众号,这样就是多线程。
然后由于多线程中是共享资源的,然后需要达到一些互斥的情况,需要加锁,
一般来说,线程安全的都比线程不安全的性能差。消息队列可以作为多进程之间通信的方法。

在性能测试过程中遇到过内存泄露、内存溢出 的问题没?在压测过程中对应的现象是?

内存溢出:就是要求的内存超出系统能给的,系统满足不了需求,就是内存溢出。
内存泄露:就是申请内存后,无法释放已申请的内存空间,一次内存泄露危害很小。
现象:如果没有负载均衡的话,TPS会直线下降,如果有负载均衡,就是TPS下降后,会再上升,但是上升不到原先的高度
原因:创建的对象并没有销毁,静态对象不会被gc回收,IO流这块操作后没有关闭

目前项目的后端微服务的一个大致架构

在使用top和jstack命令定位到对应占用CPU使用率高的线程,一般这些线程状态是什么?或者说什么状态的线程对性能影响大

参考:一般来说,正在运行中的线程是会占用更多的CPU,但是我们需要看一些异常情况。例如几种常见需要注意的线程状态:死锁、阻塞、资源等待。参考链接

涉及到数据库方面的性能优化没?

性能测试分析过程中遇到的问题?

参考:日志文件输出级别设置问题,导致日志的IO操作占用太多。 数据库最大连接数 代码级别的消息队列

能测试过程中分析的流程

参考: CPU使用率过高的情况 Jstack命令 top命令 (查看对应占用CPU使用率过高线程,最后定位到堆栈,从而定位代码)
CPU使用率过低,响应时间长,由于锁的问题存在(此处是项目代码中公司锁的问题)

使用top -Hp 进程号 看到进程下占用cpu使用率的线程时,如何判断是那几个线程(因为线程变化快)

参考:在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。也就是多进行几次线程快照,观察变化,查看问题所在。

常用的Linux命令

参考链接:写给“大忙人”收藏的Linux常用命令教程

白盒测试:在平时的测试工作中,会与看到开发的代码吗?或者是看到日志

复现BUG,并去Rancher里面看对应的日志

2.5 其他 最近在学习什么内容?博客都是自己原创吗? 三、二面

二面也是技术面,但是技术方面的难度比第一轮小,更多是偏向流程,采用的形式是视频面,我当时大概进行了40分钟;由于很多询问流程相关的问题有点记不清楚了,大致说一下其中问到的相关的问题。

关于性能测试中造数据

参考:性能测试通过几种方式造数据

关于Redis的压测

redis读写性能测试

用linux去除两个文件内容的交集

参考:
uniq -d是只打印重复行 -u是只打印独一无二的行
文件A : abcd
文件B: cdef
取并集:A + B sort A B|uniq
取交集: sort A B|uniq -d
取差集:A - B sort A B B|uniq -u

java基础相关

抽象类能用final修饰吗?java 集合这一块的东西

四、三面

三面也就是最后的HR面,当时问了啥都有点记不清楚,一般来说,前面几轮没啥问题的话,HR面的问题就不大。核心点就在于谈薪资的问题了.

五、面试总结 算是比较幸运,能有面试的机会,不然通过投简历给HR可能很快就成为被筛掉了。大概也可能是自己简历写的不怎么样吧。要是有人内推就更好了!面试过程还算比较快,一面和二面隔一天,三面是周末后的周一;且二面时候有个小细节,我个人视频面比较紧张,二面面试官在我说的时候,会认可性的点头吧,缓解了我的紧张吧。关于UI自动化,个人感觉成本比较高,且能做接口自动化就做接口自动化,在接口自动化基础上再做UI自动化。在个人学习上,感觉接口更为优先。在跳槽找工作前,一定要做好准备再开始,但是也不要一直停留在做准备的阶段,只有实际面试后才会知道实际面试会问的问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。