当前位置:   article > 正文

【面经】美团测试1,2,3面,一起来聊聊?_美团到家测开三面

美团到家测开三面

在这里插入图片描述

前言

最近因为公司层面的关系,我被迫营业开始了一些面试。

最近面的公司有:美团、阿里、字节、B站、携程等等。从面试中呢也有了一些感受,比如面试形式、内容、面试官的关注点、其他balabala…

一、关于面试

首先,关于面试这件事,我觉得除了解决我们工作问题之外,也是一项可以提升自己的途径。

记得之前看虫师、乙醇的博客的时候,得到了面试驱动成长的思想,我觉得是很有必要的。

可以让你获知当下的市场,对于测试工程师的能力要求,发生了哪些变化,你是否还可以保持在主流位置。
从面试官的问题,反推你在工作中的不足,有助于你后续工作的提升。
在互联网行业,技术更新迭代的频率还是很高的,这也让持续学习变成了从业人员的一项重要能力。在现在的招聘信息里,不管大小公司,对于测试的要求越来越高。除了业务能力之外,各种技术栈也随之而来,比如:java、python、CI/CD、Linux、自动化、mysql、各种中间件(MQ、Redis、ES)等等。如果你不能及时感知到这些变化,那么可能就会陷入被动的局面。

另外,在面试中,大概率会遇到一些你表达不好的问题,比如你在工作中除了完成基本工作外,还做了哪些质量保障的推进改善?这种问题就很值得事后反思归纳一下了,然后总结出问题,反逼我们去思考或者寻找解决方案,从而提升自己后续的工作。

所以,除了找工作要面试之外,阶段性的面试也比较重要,只不过这个周期要因人而定了。

二、面试前的准备

面试前的准备是非常重要的,视时间情况而定,尽量的从多方面去准备。

比如梳理你现在负责的业务、系统应用的架构、业务的核心、测试工作的重点等等。如果会涉及到其他技术栈的,还得看看代码知识、数据库、各种中间件等等。

总之不打无准备之仗,在有限的时间里,能做多少做多少。

三、关于岗位 Title

其实很多招聘中写的 title是测试开发工程师,但是基本上不是纯走测试开发的,还是要基于业务测试来的,在我看来还是属于高级/资深测试工程师。

对此,我个人的观点,测试的核心肯定还是基于业务走的,然后开发的技能是为了帮助测试提效的,所以我个人的预期也非纯测开(开发能力也不够),所以遇到这种title的也不用慌张,看清楚JD需求,只要hold住就可以试试。

四、美团三次技术面内容

虽然面的公司比较多,但是面试题展示就还是以美团为例了,因为很多公司的面试题都有相似之处。

一面

1. 自我介绍
2. 关于自动化:怎么做的,目前的进展,效果如何,遇到的困难
3. 你的框架搭建,最初是考虑了哪些因素去设计的
4. 如何维护自动化case?
5. 有没有用mock去解决问题?
6. 说说你工作以来做过的这些业务,你觉得在保证质量工作中,存在的差异性
7. 你在工作中发现的问题,自己做了什么事情去推动
8. 沟通下来,觉得你们流程问题还是比较多的,纯靠手工去保证么?
9. 开发冒烟执行后,测试如何判断是否通过
10. 算法题:判断15张扑克牌,随机5张,大小王任意配,是否是顺子
11. 看你用python多,聊聊python的一些数据结构,常用方法等等,都可以说
12. python中浅拷贝、深拷贝
13. 测试的接口都是什么协议的,对http协议有进一步了解么
14. 问代码是怎么学的?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

二面

1. 自我介绍
2. 平时如何做测试工作的
3. 流程,规范相关
4. 推进遇到的难点,分析,解决
5. 聊聊最近印象深刻的项目或者bug
6. 聊聊自动化如何实施的,使用场景。针对你回答,抓细节点深问
7. 关于QA如何验证开发冒烟测试通过的方式
8. 问了数据库,索引。 优点缺点、常见索引类型、索引最左前缀原理
9. Redis缓存击穿,雪崩
10. 问了java相关基础,多线程
11. sql题:数据库单表查询,主要考察group by用法
12. 算法题:合并有序数组
13. 反问环节
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

三面

1. 自我介绍
2. 算法题:给定一个数组,判断是否有重复数据,最少3种方法实现。
3. 聊平常的工作内容,具体哪些业务,系统架构,如何交互
4. 用到消息队列,跟接口交互有什么区别,优缺点
5. 抓住简历上的项目,和你回答的内容,继续深问
6. 问你之前XX项目的测试重点是什么
7. 涉及到性能测试的,如何进行测试,关注哪些点,指标
8. 用例设计题:一个新客、老客、转新购买活动商品减优惠的需求
9. 聊做了哪些工具,怎么做的,前后端用到了什么
10. 自动化 怎么做的,做了哪些,测试数据是放在哪里。
11. 多接口串联的场景,自动化要怎么做?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

上面就是3次技术面的内容了,跟后续的其他公司的内容对比后,我觉得是有很强代表性的。现在基于此,作一些归纳总结。

五、面试内容主要构成

我是异地,所以都是视频面。用的是牛客网,方便在线做题。三次面试时长均为1小时左右。

1. 自我介绍

自我介绍是必不可少的,看起来不起眼,但还是有必要精心准备一下。行云流水的自我介绍,与磕磕巴巴的说话,很显然前者更有利于面试官对你的第一印象。

我建议是组织精简的语言,概述出如下内容:

  • 个人当前的状态,在职,离职。
  • 任职的公司,所参与过的业务(多的话挑最具亮点的)。
  • 在工作中,你做的事情(能凸显你的业务、技能亮点的)。

时长在 1 分钟内比较适宜,我自己是在 30s 左右(肚子里没货o(╥﹏╥)o)。太久容易引起反感,这毕竟是刚开始。而且说的久了你说的也多,说多容易出错。语言一定要组织好,按合理顺序表达。

2. 基于业务的问题

通常,面试官会根据你的描述,和简历上的内容,挑选其中的业务进行提问,并且根据你的回答进行追问。

所以,在面试之前还是要熟悉你要讲的项目的,从哪些方便?个人建议有:

  • 项目背景,简短介绍。
  • 项目概况,比如人力、周期等
  • 你在项目中的主要工作。
  • 项目的业务流程、系统架构图大概是什么样子,交互要说得清。

然后,面试官应该会选择其中的某些点进行细节的追问。比如你觉得项目的重点在哪里、复杂度有多高、质量保障中遇到的问题、如何解决的等等。你能扛得住追问的话,说明你的工作还是很细致的,细节的地方你都熟悉,印象分增加。

3. 基于技术栈的问题

问完业务,面试官会基于你简历体现的技术栈开始发问了。比如代码、自动化、CI\CD、linux、数据库、中间件等等。

我个人觉得要注意的点如下:

  • 简历技术栈的熟练程度一定要真实。

不要会个 hello world 就写熟悉,该写了解就写了解。一点都不了解的,就别往简历上写了,省的给自己挖坑,一问准露馅。

  • 测试用例设计

虽然是我们测试的基础技能,但是我觉得也是核心技能。通常你不用上来就直接设计1,2,3,4。可以先感受下题目,抛出你的一些疑问,然后再描述你的设计思路,最后进行细节点的描述。

  • 给你XX接口你要如何测试

这种问题看着简单,实际有坑。最好不要上来就说正向、异常测试、输入校验等。其实面试官希望听到的答案是,你能做左移的角度去逐步分析这个待测接口,然后再决定如何的测试它。我曾经就有过这种情况,实际上我是知道这个坑的,但是难免也会忘记。但是好在面试官很nice,在你回答之后,他给出了他觉得怎么做会更好。但是这时候呢,你也可以挣扎一下,表示这个自己也是知道的,在实际当中也是如何做的。

  • 对于各种中间件,最好有个了解。

可能你的业务系统简单,用不到一些中间件,比如mq、redis这些。但是用不到不妨碍你去学习了解,因为这些东西现在应用真的非常广,起码你要知道使用场景和原理,解决哪些问题,引入哪些问题等等。如果能答一些,肯定会比一问三不知要好很多。如果真的你实际没用到,也可以表述一下,仅自我学习的一些了解。

  • 涉及到自动化

如果涉及到自动化的建设,那么你要知道项目使用的语言、框架等、项目的模块结构、项目拥有的能力、项目执行策略、项目的收益。另外,对于自动化,面试官很爱问对于测试数据的处理,mock相关的实际应用问题。

  • 一些框架、库的知识,底层原理

比如你web自动化提到了用selenium,那么selenium底层实现原理是什么?你喜欢用pytest框架,为什么?与unittest相比,优点有哪些,你会用到框架的哪些特性等等。

  • 数据库

数据库其实还好,考察的内容主要是:连表查询、group by、having等的用法。此外,索引也是经常问的,索引的介绍、原理、为什么快、索引越多越好?

  • 算法题

面大厂必备环节。难度为LeetCode上简单难度。有出现过原题,也有变形题,还有面试官现场手打的题目。但是考察的内容,基本上就是常用的数据容器的操作。

4. 持续学习、快速学习的能力

面试官可能会问你看过哪些书籍、哪些方向的,自己平时是怎么学习的,对自己的评价是什么样子的?重点是考察你的自我学习能力大概如何。这些问题就还是因人而异了,你根据你现在的情况组织一些不太过分的内容来回答即可。

我个人看的一些书籍(看得少)会有:代码语言、测试相关的、自动化的、性能的。除了书本以外,主要还有搜索引擎、博客、极客时间的、B站等等。

另外,关于学习提升这块,我觉得有 3 点很重要:

  • 学习目标:能够知道自己的不足之处,知道该学哪些知识。
  • 时间管理:如果能牺牲点刷视频信息流的时间来看点资料,博客,每天一点点,一个月、一年之后你肯定比现在的你强很多。
  • 执行力:目标有了,时间有了,就看能不能坚持了。

当然了,学习还是要劳逸结合的,怎么去规划适合你的时间,可以好好思考下。

学习的过程中,如果能做笔记自然是最好了。因为在写的过程中,你会更深入体会知识点,有助于加深你的印象,以及理解。如果能分享出来也是极好的,也能帮助有需要的人,或者抛砖引玉,大家一起讨论。

5. 反问环节

通常面试官顾及礼仪的话,会有一个反问环节,但是没给你这个机会也不能直接说明什么,说不定人家真的hin忙?

我通常关心 2 个问题,问多了也过多占用别人的时间,当然有跟你聊的头圆的除外:

  • 参与的业务,核心能力。有助于你了解对方的业务概况,复杂度,与你之前业务的关联性,对你未来的成长是否有积极意义。
  • 研发规模。开发、测试的人力,有助于判断公司的研发力量情况,以及开发测试配比的情况。

六、面试之外的感受

到此,一场面试就结束了。有条件的话,建议记录下你印象深刻的内容,方便回去之后梳理总结。在这里,顺便谈谈一些其他的感受吧。

1. 心态调整

调整好心态,不管你现在处于哪种状态。尽量让自己面试时候的状态要好,要自信(不是自负)。胜败乃兵家常事,像我面试了这么多,我也不知道最后哪家可能走到最后,或者说一个也没有,哈哈。

那也没关系,失败无非就是2个问题:

  • 火候不够。这个是自己表现确实差劲,自己都要吐槽。
  • 背景与岗位不匹配。这个也会有的,但是这种情况下用人部门可能会流转你的简历给其他适合部门。

那不管是哪种,我觉得都应该汲取其中积极的一面,进一步提升自己。

2. 遇到很烂的面试官

我听朋友讲到,他遇到过一个面试官,喜欢揪住他不擅长的问题进行追问,然后还嘲笑他。

多的也不用说了,这种人就是个傻X,你千万别跟他一般计较。我遇到的面试官通常都会在你表示不了解后,就会换个问题,或者说根据你的回答,给予一定的引导。所以,像我朋友说的这种傻X一定是极少数的。

3. 随缘

随缘就好,我面的多了也很佛了。反正面不上更好的就进一步降低标准呗,反正不会饿死。

4. 外包公司

外包公司不是不能去,但是多数人可能对此不是优先选择,优缺点大家网上都可以搜到。所以,对于不考虑外包的童鞋,我整理了一些出现在我的视线中的公司:

  • 软通动力
  • 中软国际
  • 浪潮集团
  • 法本信息
  • 华为&德科

华为德科这种OD岗位,就是跟德科签合同的华为外包,说优秀的可以转为华为正式岗,反正我是不信那几率的。

OK,以上就是最近的一些感想,祝大家顺利。

下方资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你~

在这里插入图片描述

在这里插入图片描述
凡事要趁早,特别是技术行业,一定要提升技术功底。技术成长的每一个阶段都会遇到一个与之匹配的、难以跨越的,技术瓶颈期!这个阶段没有一次能解决的神药,只有自己不断的积累、沉淀、破局,到最后的爆发。而这些知识可能最开始都是枯燥的,就像看了大A不会小a,看了小a又牵扯出小b,没办法只能一层层的扒,一层层的学。

关注我的微信公众号:【伤心的辣条】免费获取~

我的学习交流群:902061117 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦,我们下篇文章见!

好文推荐:

那个准点下班的人,比我先升职了…

包装成1年工作经验的测试工程师,我给他的面试前的建议如下

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

自动化测试大总结

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号