自我介绍是必不可少的,看起来不起眼,但还是有必要精心准备一下。行云流水的自我介绍,与磕磕巴巴的说话,很显然前者更有利于面试官对你的第一印象。
我建议是组织精简的语言,概述出如下内容:
个人当前的状态,在职,离职。
任职的公司,所参与过的业务(多的话挑最具亮点的)。
在工作中,你做的事情(能凸显你的业务、技能亮点的)。
时长在 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等的用法。此外,索引也是经常问的,索引的介绍、原理、为什么快、索引越多越好?
面试官可能会问你看过哪些书籍、哪些方向的,自己平时是怎么学习的,对自己的评价是什么样子的?重点是考察你的自我学习能力大概如何。这些问题就还是因人而异了,你根据你现在的情况组织一些不太过分的内容来回答即可。