跳槽有技巧?测试开发面试要知道的那些事儿

发表于:2019-8-12 10:48  作者:Erin   来源:51Testing软件测试网原创

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试工程师 软件测试技术 测试开发

  每一次跳槽,相信大家都有自己的一套方法论,一套准备和选择过程。当然面试也是一个双向选择,不排除有的时候看“缘分”。不管怎么说,这几年来,在面试过大大小小挺多家公司后,也算职场老鸟一枚了,总结了一些经验,分享给大家。
  开篇:面试前
  1.明确岗位职责
  其实同样一个岗位,不同的公司的要求是有差异的。比方说,同样是测试开发工程师,A公司对该岗位的要求主要是偏服务端的测试流程开发,测试架构搭建;B公司可能更多的是偏客户端方向的;C公司可能也是跟A公司一样也是服务端,但是更多偏向于性能或大数据方向,所以对候选人可能有额外技能的要求;D公司呢,跟B公司挺类似的,也是客户端,但是做手游业务等等等等…
  2.明确自身优势
  作为需要写代码的岗位,最好也明确下公司主要用什么语言在做开发,虽然我们说开发语言都是大同小异的,有的公司也不care语言;但自身更熟悉哪种语言,match 程度高肯定是加分的,入职后也可以更好去融入团队,充分的发挥自身能力。
  还有,明确自身的业务方向,也就是说自己之前的优势在哪,是有AI测试经验?服务端测开经验?云计算相关经验?游戏相关?SssS软件相关经验?之前做过的项目一定程度上决定了你的长处,这些长处可能是其它候选人不具备的。
  3.不要海投!不要海投!不要海投!
  其实在明确岗位职责的前提下,明确自身优势,干嘛还要海投呢?我从来没有海投过简历,咱们前面所说的A/B/C/D四类公司,其实大家应该都遇到过。所以,针对他们的要求稍微有选择地修改简历,突出和公司要求更match的点,我觉得是挺必要的,也是大大提升投递反馈率的一个有效方法。个人认为海投是对自己优势的不尊重,也是对公司的不尊重,如果你足够热爱一家公司,你会拿一份随便的简历去投递吗?肯定不会。所以,珍惜每一次机会,重视每一次面试,把每一次投递,当作是对自身的负责,对面试机会的负责。
  4.面经
  面经的搜索是一种能力。我们说一家公司的面经,并不是指公司到底会问你什么题目(当然网上这种信息估计也很少),而是明确一家公司的面试流程,面试倾向,面试会涉及的方向和方面等,了解一下是可以的。常见的你可以上脉脉,看准网,知乎等,再有就是像51testing测试论坛等专门有测试分享的地方也可以找到不少信息。
  所以你看,知己知彼,才能百战不殆。
  中篇:面试中
  1.算法与数据结构
  这点在面试过程中往往是必不可少的,没有别的技巧,提前多刷leetcode吧。大部分公司面试算法都是从leetcode题目中挑选的,有一些可能是面试官临时想出来的,但一般都比较简单,比如简单字符串操作,数组操作什么的。做题的时候,选择你最最最熟悉的那个语言,像我一般用python会比较多,语法简单,写出来逻辑也好分析清晰。做题时别紧张,但也要注意下时间,一道题做太久的也有印象负分的。实在答不上来,就实话实说,把思路跟面试官解释清楚。
  一般常见的算法与数据结构的题,涉及的常常有数据结构基本知识,排序算法,搜索算法,链表,字符串,数组,哈希,二叉树等。就我经验而言,个人认为最难的也就是动态规划这类了,我记得小米和滴滴终面都问过,但总体问的并不频繁。一般来说,写完一份算法题,还会让你对自己的function写一些测试用例
  2.计算机基础知识
  这边比较偏向基础了,比如http/tcp协议,尤其是http的header/请求方法分类等比较常问;其次是操作系统基本知识,并发的概念,进程线程,互斥锁等;接下来是数据库知识,常见的有数据库查询语句,关键字比如group by的使用,多表联合查询(join),以及索引等;还有就是一些linux命令,如果 awk/grep/telnet/find/chmod/vim命令/netstat/查看文件/df/lsof 等等等,命令相关的其实不用去刻意记,因为大部分工作中很常用,水到渠成的事。
  3.测试开发专业问题
  每个岗位都有自己的专业性问题,测试开发也不例外。测试开发的专业问题一般有CICD,测试框架搭建起始,新技术使用方法,结合项目谈一些细节等。这个需要对简历中自己的项目足够熟悉,对涉及到的系统架构层面的东西也需要熟悉,有的面试官特别喜欢让你给他讲之前的项目架构甚至画出来。除此之外,作为开发角色,会问一些关于git的知识,git pull/checkout/revert 等相关,这些作为版本控制与管理的基本功,知道也是必须的;还有,我们的迭代周期,灰度上线等一些release相关的管理常识,最好也了解下;还有service进程管理相关,比如supervisor等也可以准备下,当然这些在介绍自己的项目时再详细说也可。
  尾篇:面试后
  我想最后的最后,应该就是对自身的总结了。虽然面试通过后就皆大欢喜了,但我认为还是有必要回顾一下。不能说为以后的跳槽积累经验吧,至少可以认识到自己的短板在哪里,而在工作中,这些短板很可能你会再次遇到,不管面试成功还是失败,都应该对自身有所提升才对。有人说,真正工作时候可能用不到那么多算法,为什么还要有那么多算法题目?在我看来,算法更多的是锻炼你的思维,像一些公司还特喜欢考智力题和脑筋急转弯,可能很多面试者当场不能给出标准的完美的答案,这不重要,你的解题思路,应试表现也会作为重要的参考部分。思维开阔,思路明朗,个人认为在工作时很重要。
  附:万一的万一
  讲一下自己的真实经历吧。因为即使把上面的都做到了,真正面试时候还是会遇到不太熟悉的突如其来的问题咋办?记得阿里某事业部的面试,像阿里这种体量的,大概率会涉及大数据高并发之类的东西,说实话其它一般公司的体量都没办法跟阿里这样的比较。那么问题来了,
  面试官:我有一个excel文件,里面有1亿个数字,对这些数字排序,该怎么办?
  我:首先得看内存能不能装得下…(有点迷)
  面试官:能装下
  我:(内心os: 排序我会写, 但直接排肯定不行, 量太大只能化大为小)那就分别排。
  面试官:怎么分别排?
  我:(想了一会)可以把这些数据分成到不同的文件,比如一万个文件,那每个文件大约有一万个数字,然后我们可以起多线程把这一万个文件中的数字分别排序,然后…
  我:然后我在这个排序池里,每次放入一个元素,相当于1万个文件的归并排序。
  细节记不太清了,总之我想表达的是即使遇到了陌生的,也不要慌,代码写不出来可以先说思路,大部分情况下,思路清晰了,代码其实也会写了。
  步入职场,工作是最好的老师,自学能力加持。不要抱有侥幸的心理,认识到自己的短板,真正认真去学一些东西。职场是有自动筛选原则的,就跟大自然一样。成熟的职场人,是要让自己有足够的选择,而不是让公司选择我们。加油。

     版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

【测试入门必备】细说Sqlserver与第三方工具相互间的关系

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2019, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道