关注霍格沃兹测试学院公众号,回复「面试」,领取测试开发面试真题合集!
**编者按:**本文来自霍格沃兹测试学院优秀学员 @MRCH 的分享,30 而立之年从舒适区到恐慌区再到成功突破,只为证明自己,无惧中年危机!
自大学本科毕业之后,我一直在某研究机构从事国防类行业的软件测评工作,粗略统计有 8 年之久。
我的工作内容从简单的功能测试,到接口/性能测试,再到测试类型选取、测试策略设计等都有涉猎,也因此对典型的瀑布流模式软件测试流程积累了较深的认识和丰富的实践经验。由于一直秉持敬业努力的工作态度,我的岗位也从最初的初级测试工程师逐步成长为项目负责人,期间也曾连续多年获得个人或团体荣誉。
“优秀员工”的如梦初醒:我 Out 了!
乍一看前面这些年,我的个人职业生涯发展其实还挺顺利的,业绩领先,领导认可,似乎未来可期。
但人生的变化总是突如其来,2017 年的一场学习交流活动深深刺激到了我。当我看到各类互联网自动化测试技术、成型的测试工具在遍地开花时,我才如梦初醒 —— 原来一个新时代已经来临,我却置身世外。
我开始幡然醒悟并“唾弃”自己在原来行业的手工“点点点”测试效率是多么慢,测试手段是多么单一且原始,和对测试和质量工作的认识之浅薄。
更让我感到打击的是,在尝试通过各种渠道搜罗学习零碎的自动化测试技术知识时,我发现自己不会的东西太多了,要系统掌握绝非易事。—— 我在舒适区呆了太久,已经落伍了!已近 30 岁却感觉要被淘汰,更觉内心发慌,手冒冷汗!
突破学习漩涡区,疯狂学习只为证明自己
其实我是一个对自己有较高要求的人,也期望整个职业生涯能从事质量保障相关的工作。所以,虽然遭遇这样有点颠覆性的冲击,但毕竟内心深爱这个行业,愿意深耕下去,于是我很快调整了心态,鼓励自己“在哪里跌倒就在哪里爬起来,落下的就利用业余时间补回来!”。
不过,一开始我的自学是比较盲目的,虽然快速补充了各类测试技术和流行工具的知识学习和基础使用,如Selenium、Requests 框架,Postman、JMeter 工具等等,但由于实际工作中没有应用场景,很快就遇到瓶颈,感觉一直在重复的学却没有实质进步,就像陷入漩涡当中,无法脱身。这种状态持续了一段时间,现在想想挺浪费时间的。
直到 2020 年疫情期间,我在网上偶然间看到了霍格沃兹测试学院的《测试开发实战进阶》课程介绍,经过短暂的考虑毅然报名了该课程,主要原因有两点:
- 课程内容理论实践并存,能够解决我实践少的问题;
- 课程内容系统化且有前瞻性,除了全面的前后端测试技术课程外,还有容器技术 Docker 与 K8S 实战、持续交付 CD/DevOps 高级实战等,能够解决自学不系统的问题。
回想整个学习过程,从第一天报名到后续半年左右的时间,我几乎每天都会按照学习计划学习到凌晨 12 点半甚至更晚,也记下了一本接一本的学习笔记。现在回头看,那种学习热情自己都觉得有些不可思议。可能是内心深处总有一股不服气,不为别的,就是想证明自己 —— 怕什么中年危机?不如狠狠的拼一把。
看到学院不少同学都成功入职 BAT 大厂,我内心也跃跃欲试。在自我感觉准备的差不多时,就开始投简历(其实当时还没学完全部课程)。但让我感到意外的是,整个面试过程出奇的顺利。大概不到 3 周的时间,我便确定了下一份工作的去向,顺利拿到某大厂测试开发 Offer(年薪近 40W,涨薪 60%)!
在整个面试过程中,**面试官所问的问题或者说他/她想知道的答案基本都是我在课程中所学到的知识。**记得在面试客户端测试开发岗位时,甚至我说完自己掌握的技术,面试官都觉着没必要会这些。这也确实说明,学院的课程体系和内容设计是非常完善和先进的,可以通吃前后端测试开发工程师岗位!!
学习心得与面试经验
**当幸福来敲门,你是否有底气开门接受呢?**这也是我一直不断提醒自己的问题。机遇总是垂青做好准备的人,与其临渊羡鱼,不如退而结网,让自己始终保持进步,有自信、有能力接受更好的职业发展机会。
对于测试工作,既然是偏技术的岗位,那么技术一定要过关。过关可以理解为对各类常见技术达到了解、熟练使用及以上水平。虽然都说“面试造火箭,进去拧螺丝”,但千万不要认为“拧螺丝”就是很简单的。很多看似简单的背后,都必须有一定积累,站到一定高度才能做到。
总之,技术人成长切忌浮躁,踏踏实实深入学习一门技术绝对是没有错误的。能在霍格沃玆测试学院这种非常专业的培训机构系统学习,针对性提升实战技能,更绝对是值得的!下面简单总结了自己的一些面试经验:
- 首先,心态要好。人生不如意事十之八九,要保持好的心态,要做具备「成长型人格」的人,说白了就是要从失败中找到不足并补齐,持续成长。
- 良好的编程基础:算法题是否要刷我没有好的建议,但通过面试我能明确感觉到面试官测重问基础内容,比如数据结构有哪些?常用的函数、面向对象的解释和结构、数据库编程、多线程、多进程、文本处理(含正则表达式)等等。这些基础一定要重视。
- Linux 常用命令:Vim 相关、chmod 相关、压缩/解压缩命令、围绕性能测试的 CPU/内存/磁盘/网络 io 相关、三剑客等等。
- MySQL 数据库:关于数据库表的增、删、改、查语句,必须全记!
- 面试之前的准备:
- 首先是排版良好的简历,第一印象很重要。
- 其次是能力和经历描述。个人简历中的技术栈、近几次的项目和典型项目一定要清清楚楚明明白白。
- 谦虚的心态 & 自信交流。要以找不足、求知的心态面对面试官。可以看一下学院公开课,学习一些必要的面试技巧。
- 另外,对软件测试流程要有认识,都有哪些阶段、阶段工作内容是什么、产出物是什么、产出物的结构组成(比如文档)等等。
这里也分享下,我在学院学习期间看的一些技术书籍和补充资料: - 《高薪测试成长图谱》:霍格沃兹测试学院的配套教材;
- 《Python 基础教程(第3版)》
- 《Python 核心编程(第3版)》
- 《Selenium Webdriver 3.0 自动化测试框架实战指南》
- 《图解 HTTP》
- 《图解 LeetCode 初级算法(python版)》
- 《跟阿铭学linux》
- 《MySQL必知必会》
最后,再次感谢霍格沃兹测试学院的各位老师,也祝各位同学都能学有所成,共同进步!