匿名职言 怎样找机会去增加大数据测试经验

匿名 · 2017年08月03日 · 最后由 匿名 回复于 2017年09月13日 · 456 次阅读

刚刚在招聘区翻了一些大公司的帖子。
很多呢,都有类似如下的加分描述:

有大数据&算法相关产品经验的优先。
熟悉大数据应用开发者优先考虑。
有视频业务经验优先。
在某一测试领域比如性能、安全、自动化、无线或者大数据测试等具备很强的专业技能者优先。

感觉越来越多的项目要去往大数据、深度学习的方向靠。这个类别的工程师可能 5、6 年前就有,
可我感觉没有去年和今年这么高频。也许 alphago 这次真的是一个历史节点。
如果测试这个服务于团队的人,找机会去适应行业趋势的内容,可能是一个自己竞争力的大筹码。

我想问的是一个更实际的问题。
大家怎样去增加这方面的经验呢?在这方面的实际测试是怎样呢?怎样区别大数据测试和运维的角色呢?
如果你是这些职位的招聘官,你希望看到应聘者的什么内容呢?

也看过一些@ycwdaaaa的应用,讲的很好。

共收到 6 条回复 时间 点赞

额,感谢你对我的认可。 也说声抱歉由于生娃的问题之前大数据系列文章断更了,生娃这段时间我欠了好多债,最近在努力补 docker 和 k8s 的东西。之后会慢慢的把 spark 和 yarn 这些大数据的文章也续起来。 下面我来根据你的提问一个个的说一下我的想法把。这些是我的成长路线,可能不适合大多数人。

如何增加大数据方面的经验

  • 首先获得这方面的工作机会:我这个人是主张工作驱动技术成长的类型。选定一个方向,然后拼命的学习这个方向的知识,之后不管是求是骗还是去忽悠都要进入做这个方向的公司去锻炼,任何一公司都需要初级人员来打杂的,我们争的就是这个机会。技能的增长不是一厢情愿的事,我再之前写的一篇文章中写到过。 没上过战场的士兵就算在训练中再优秀也是菜鸟。我们需要真正的战场磨炼我们的技能。 所以自学到一定程度以后一定要去实际去用,如果你的公司没有这种业务环境,那么就跳槽。这时候别犹豫,你必须要有一个环境来做你想做的事情,如果这个时候拖下去,自学而来的东西会很快的被忘掉,之后你面试的时候可能什么都答不上来了。这时候争的就是一个机会,一个跑到对方公司打杂的机会。
  • 然后想尽所有办法找应用场景: 当有环境以后剩下的就是自我驱动。主动去挖掘我们学到的知识的运用场景。 测试应用这边咱们确实空白很多,我几乎找不到多少可以跟我一起聊分布式计算的测试同行。 所以自己要善于发现和思考。

大数据方面的实际测试是什么样子的

  • 先举个数据测试的例子,常出现在做 BI 和机器学习的公司。你可以参考我在测试大会上的演讲稿,这类型的业务每天都会有很大的数据被采集过来,我们需要测试这些数据,由于数据大,对测试速度要求高。所以也必然要使用 spark,mr,hbase 这些大数据处理框架去扫描数据。这个更详细内容你可以去看我的演讲稿。关于数据统计分析类的工作也跟这个差不多。
  • 然后是造数, 大数据相关产品,尤其是 to b 业务的产品要给客户提供一个比较专业的性能测试报告。 在各种数据量,数据分布,数据类型下产品的计算性能是什么样的需要有一个量化指标。 而客户的数据是不会给你的, 所以我们要开发一个工具能够生成大数据量的,各种不同数据类型,各种不同数据分布的造数工具。 还是由于数据量大,同样需要用大数据处理技术去做。我再演讲稿里也有提到过。
  • 再举一个 yarn 集群管理的例子。一切都始于我们的 UI 自动化,我们的产品是做机器学习的么,产品要把计算任务放到 hadoop 集群上运行,而集群是用 yarn 管理的。当我们 case 越来越多,我的 UI 自动化也就必须用分布式的方式来执行 (浏览器的分布式属于 docker+k8s 的范畴这里我不跟你说了,目前我们启动了 30 个浏览器),当初我们发现在测试集群上 15 个小任务的并发能力就是极限了,多了就得排队,连 20 个浏览器的并发都支撑不起来,更不要说集群不只是给自动化测试用的,开发,产品,测试用的集群都是一个。 所以对集群的调参是必要的,只是大家都不熟悉,测试环境的事也不爱管,这事就没有人搞。所以我买了 hadoop 技术内幕中的 yarn 的那一本开始啃。之后在测试集群上各种折腾,更换公平调度器,重设 vcore,提高 AM 限制, 分队列,分用户,设定资源抢占,队列权重等等等等。 一套下来现在集群抗个百十个小任务并发是没问题的。所以这方面的工作又多了一个测试集群管理。
  • 很多建立在大数据基础上的产品都跟 hadoop 深度耦合,尤其是 TO B 业务的产品,要测试到 hadoop 的各种情况。各种 hadoop 的版本与产品的兼容是不是好的 (很多客户有自己的 hadoop), 以及 hadoop 的各种配置是不是与产品兼容的。 例如我们曾经出现的问题是在 jdk1.8 下的 hadoop2.7.2 版本在我们的产品中会出现虚拟内存计算不正确的情况,而测试集群是开了虚拟内存 check 的,所以某一个算子运行失败。这是 jdk1.8 的一个 bug,需要我们在该算子的配置中增加内存参数绕过去。再比如 hadoop 集群的多租户实现,很多地方是用 yarn 的 fair 调度器或者 capacity 调度器中的 queue 的概念去做,那么产品如何跟 hadoop 的配置协调? 假如产品提交到错的 queue 上去了? 假如产品提交到了不存在的 queue? 产品使用了 hadoop 不存在的 user?这些东西我们就会要测试到。 其实不仅仅是多租户,产品跟 hadoop 集群耦合的地方都要测试。因为我们是做产品,而不是自家公司自己用,任何与 hadoop 的配置冲突的地方产品都应该做出相应的处理
  • 应该还有一些场景,只是我们的业务暂时没碰到,看看之后有没有同学补充一下

区别大数据测试和运维的角色

别再纠结纯运维和纯测试了,devops 流行的今天,开发,运维和测试这三个职位都互相渗透了。 互相都干了以前对方的活是很常见的。

总结

建议楼主去 TO B 的公司看看,现在做大数据的还是 TO B 的比较多。互联网里能接触到这些的公司不多。 对于投向这方面的学习我觉得也是不亏的。 不论是 BI 还是 现在非常火的人工智能。大数据都是基础。 这方面的平台和产品也越来越多。 而这些行业的测试门槛还都很高,所以如果你再这方面有经验,都不用多厉害,就可以找到一个不错的工作。

@ycwdaaaa 非常感谢这么详尽的分享。

我这边也有两个问题:

1、当前在测试开发岗位做得还可以,虽然一直很想转方向到大数据方面,但毕竟顾虑从零开始会导致薪资的大幅降低;麻烦问下,实际情况是这样么?
2、你提到建议去 to B 类型的公司,可否推荐下具体的公司呢?特别是广州深圳这边的。

谢谢啦!

匿名 回复

招行、平安,如果愿意去平安,我可以请同事(前)推荐

匿名 回复
  1. 很少有薪资大幅降低的情况,我是没碰见过。 我入行的时候甚至还给我涨工资了。 做大数据的公司不是只有大数据的,人家也是有产品的,照样有 UI,有接口。 所以主要还是看你的以前的工作经验定级
  2. 我再北京所以不清楚了~
孙高飞 回复

好的,非常感谢!

@ycwdaaaa 大神求带啊,我也想去做大数据测试

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册