软件测试工程师到底要不要刷leetcode

2022-05-18 21:14:01 浏览数 (1)

谈起leetcode,可能大家都比较熟悉了。这是近几年爆款的一个刷题网站。当然更多的感受是脑瓜子嗡的一声~

上面题的难度可是给过作者撕心裂肺的感受的。

那么很多测试工程师第一时间会想:这个网站是给那些开发童鞋做的,我们测试用不到。而开发的童鞋也会想:这个网站是给那些算法同学做的,我随便看看就行。仿佛大家都对算法题有一种天生的讨厌。

是的,无数次面试中败给了算法的事相信都有体验过吧。尤其是你到bat和头条等大厂面试时的感受,甚至从一面开始,就开始疯狂让你白纸黑字的写算法题了,有些同学甚至感受到了歧视和恶意的刁难,转身离去。

但是更多的人会选择挑战一下,万一做上了呢?万一做不上也不影响offer呢?然后抱着侥幸的心态被虐的体无完肤~

在这种局势下,就出现了刷题网站-leetcode

那么虽然很多测试和测开同学,在面试中确实都遇到了算法题,先别管能不能做上,要来说说到底日常工作中能不能用得上呢?

我认为:大部分情况下用不上,就算是测开同学,大部分的时间也只是在写增删改查。比较注意和难度的地方是设计,解决方案,和架构。算法只有在遇到了一个很小范围的计算功能时,才偶尔会遇到。但顶多也就是数组/字符串的来回转化,正则提取,这些了。

像面试中的算法题,如:递归,二叉树,动态规划,链表,等根本用不到。

比如面试题的:让你把一个3*3的二位数字原地反转90度,不允许开辟额外空间。大家很难在日常工作中想到这个题的应用场景吧?

所以leetcode,顶多刷一刷字符串/数组的简单难度即可,其他的东西知道有就行了。

笔者前几年确实抱着这个心态,直到最近一年,测开的工作中,不断遇到超高难度的工具任务,不断的绞尽脑汁解决问题,到今天,蓦然回首,才发现,那些看似用不到的中/高等难度的算法题,和递归,二叉树,链表啥的,或多或少都用到了。

比如:接口返回值的深度完全断言;接口的自动生成各字段的异常值自动化用例;接口测试平台的多参数录入和不同格式请求体的互相转化;自动生成判定表/正交/因果图/状态迁移 用例的算法;自动维护ui自动化元素改变的wqrfnium;解析公司的接口文档自动录入;在线抓包mock工具;等等 里面的算法难度不会低于leetcode中等题。

所以我认为,测试这条路,越往后算法题要求可能越高。大家根据自己的职位适度选择即可。

ps:leetcode的6000积分体恤,可是在面试中会加分的哦~

6000积分什么概念?你就算在全国算法竞赛得了第一名,也才5000积分而已。

leetcode刷题基本不涨积分或者非常非常少量。可能你要刷一千道题以上才可以攒够哦~

最后,贴一个招聘测开的邮件里要求leetcode水平的jd。具体公司不透露了。是作者三年前收到的面试邮件:

0 人点赞