• 也经历过新人阶段,认真回答一下:

    1. 从软件工程理论的角度看测试是很重要的一环,因此不存在天花板低的情况。即使是现实世界中大部分人的职业生涯触还碰不到天花板。之所以有这种说法,那是因为质量对于大部分软件产品都不那么重要,所以对测试的资源投入不足。例如通信类、航天类质量至关重要的领域,测试就很重要,也很有技术含量。对于大部分从事的互联网行业,测试确实知识面比较杂,一个人精力有限,进一步的会感觉什么都不精。如果现在不知道从何下手,其实可以学习一些计算机专业基础知识,这些知识很长时间都不会过时,对你日后的工作、跳槽面试都很有帮助。
    2. 自动化会涉及到投入产出比,工作中的事情其实都要考虑投入产出比,有些产品、或者有些产品的阶段就是不适合做自动化测试,不必强求。
    3. 不要过分关注绩效,这个东西很大程度你是控制不了的,你的领导是什么样子的人,你在的团队,公司的成长阶段可能都比你的付出重要。至于领导给你解释的绩效理由,你听听就行,其实没什么意义,是先有结果再有解释。你的长期价值会在招聘市场中公允的体现出来。
    4. 适合不适合自己,自己喜欢什么,这永远是你要问你自己的问题,也只有自己能探寻答案。不要太在意别人的肯定与否定。
  • 关于面试的一些想法 at February 17, 2021

    挺好的分享,很多看法都有同感。
    看完有个疑问,你对你文中列出来的点很多是否定的,那么你现在招人看重的点有哪些?

  • closed at January 22, 2021

    还没招到,欢迎大家投递简历~

  • 详细说说?想了解一下那些算是 shell 里面的高级内容。

  • 从内存占用优化考虑:用字典树。
    从时间效率优化考虑:肯定要线性扫描一遍,不管在内存里面还是从磁盘读,扫一遍文本的时间是主要时间。
    单拿 top 5 分析,5 这个常数太小了,没必要用堆,遍历 5 遍更快。
    扩展到 topK 的问题,堆也不是最优的解法。

  • 有一个疑问,怎么考察是不是精通 shell?

  • closed at December 31, 2020

    快发邮箱吧~

  • 可以多个机器同时发。我们压测 Kafka 的只关注消息体大小,不用关注消息内容,所以用 Kafka 自带的压测工具,单机压不上去就多个机器机器同时压,能到十几万的 QPS。

  • 这个跟你业务强相关的,你就直接对比一条裁剪之后和原来的消息字节数就能得到。在我们这个场景大约能减少 70%,但是没有什么参考价值。

  • 对,你说的这个点是造成准确性难保证的一个原因。这个问题其实很难解决,在于出需求的人对需求的描述是自然语言,而开发的人用的是计算机语言,这个转换难以避免出现误解,所以一个方向就是降低写批处理/流处理的难度,设立数据产品经理(掌握一定的数据开发技能解决)需求方直接写,避免转换过程出现问题,也有一些前沿方向是自然语言到 hsql 的生成,但现在还很初级。

    但是除去这个原因,假设研发/测试都正确的理解了数据需求,依然不能保证数据的正确性,这里面的原因多种多样,比如对数据的假设不成立/处理逻辑有 bug/大数据基础设施有问题。所以我说这个问题的根本在于人没法判断数据对或不对。

    这个问题我思考了挺长时间了,也有一些想法和结果,有机会我单独写一写。

  • 多谢解答,据我的了解,你说的大数据团队自测也是一种很普遍的选择。

    我说一下我对 test oracle 的了解,“测试准则” 不太能表示它的意思,它是指到底怎么判断测试结果对或者不对,oracle 对应的翻译(神谕)更能表明这层含义,举个例子,比如你测试一个函数实现了加法,大部分人一看就知道对不对,又或者点某个按钮要弹出一个提示,这种就不存在 test oracle 的问题,它的正确性对绝大部分人都是显而易见的。但是涉及到大数据数据的准确性/正确性,这个就很难。例如,你算出一个指标你甚至很难在数量级上肯定它对不对,更别说它的准确性/正确性了。所以我说 test oracle 是大数据测试的一个根本性问题。即使你掌握了比大数据开发工程师更多的技能,当领导问你:你怎么确定你测试过的的数据是对的,你其实依然无法保证,本质上你只是把开发的流程走了一遍,那怎么保证你自己不出错呢?自己说自己开发的东西没 bug,这不符合基本的逻辑。

    最后我没有说不需要了解业务和学习技术,我知道这两点的重要性。但是回到我讨论的这个问题,了解业务、学习技术,是能提高正确性的可能,但还是没从根本上解决问题。如果这是正确的解决方案,我相信对数据准确度要求高的团队无疑可以招聘两倍的大数据研发来解决问题。

  • 先回拽专用名次的事情,这是一个测试论坛,test oracle 算不上高大上,但是没有很好的对应翻译,所以才用,不知道你为啥反感。按照你的逻辑我是不是也要反感一下 shuffle。不妨讲讲你是为啥感到反感?

    其次我也是技术派拥护者,只是我没有局限在技术里面,你到管理的位置上不要思考团队人员配置吗?精英配置是好,但是具有普适性吗?
    我在讨论一个大数据测试领域一个很具体的问题,想探讨一下你的方法论,结果就是了解复杂业务、学大数据技术。这是你的方法论,我指出问题点就是作为方法论它缺少普适性,而且没有根本性上解决问题。

  • 嗯,多谢解答。这是一种思路,问题点是:

    1. 举例的例子比较简单,在实际问题中,离线计算的指标业务逻辑比较复杂,而难点就在于复杂的逻辑。所以这个例子很难显然的推广到实际的工作场景中。
    2. 算不上大的问题点,就是要求测试人员掌握比较好的大数据数据开发技能,当然从方向上是好的,但是问题也很多,实际也较难具备这种条件。如果没有相关技能,这种方法就不太可行。

    这种思路抽象一下,就是不同的人(研发、测试)分别实现需求,然后对比,或者降级一些,测试人员只需要对结果数据做一些性质严重。但是没法解决 test oracle 的问题,例如研发、测试算出来的结果一致,而很有可能是他们都算错了。

  • 提一个 topic,大数据测试一个难点是数据准确性测试,根本性的原因是大数据量的准确性的 test oracle 问题,有什么系统的方法论吗?

  • closed at December 17, 2020

    欢迎投递简历。

  • closed at December 15, 2020

    好的,静待简历。

  • closed at December 15, 2020

    大数据测试方向岗位,对开发能力要求不高。另外一个岗位主要做 devops 相关平台,要求有一定开发能力。可以先投简历试试,还有别的组,业务部门测开也招人~

  • 是没什么问题,还没习惯这个逻辑。

  • 没想到匿名帖的逻辑默认竟然是匿名回复,而且改不了。

  • closed at December 10, 2020

    可以来试试哦,欢迎投简历~

  • 递归写了一个:

    import copy
    
    
    def get_all_combination(chs, deep, ret, rets):
        if deep == 0:
            ret = ["&" for x in range(len(chs))]
        if deep == len(chs):
            rets.append(copy.copy(ret))
            return
        else:
            for c in chs[deep]:
                ret[deep] = c
                get_all_combination(chs, deep + 1, ret, rets)
    
    
    rets = []
    get_all_combination([["a", "b", "c", "d"], ["e", "f", "g"], ["h", "i"]], 0, [], rets)
    print(rets)
    

    Pythonic 的写法:

    import itertools
    
    print(list(itertools.product(*[["a", "b", "c", "d"], ["e", "f", "g"], ["h", "i"]])))
    
  • c++ 内存对齐问题 at December 03, 2020

    可以看一这个资料:https://docs.microsoft.com/en-us/cpp/cpp/trivial-standard-layout-and-pod-types?view=msvc-160
    总的来说就是,C++ 语法规范里面对类和结构体的内存布局没有约定规范,但是 C++14 里面增加了几种特殊的情况对内存布局有约定。再具体到你这个场景,CPerson2 不符合 trivial/standard-layout 的要求,所以不能假定内存的布局。

  • 今年校招的一些趋势 at October 26, 2020

    今年的情况,应该很少到学校宣讲招聘了吧,大部分都是线上进行的,可能这也是研究生比例上升的原因之一:求职成本降低,那有求职优势的学生就会增加自己的求职次数。

    至于项目,其实不见得是优势,研究生大部分都是科研项目,而且是为了毕业做的项目,如果专业背景不接近,项目都沟通不清楚。

  • 今年校招的一些趋势 at October 23, 2020

    并不是,大部分还是比较相近的专业,例如软工、通信、自动化之类。生化环材一个也没遇到。

  • 今年校招的一些趋势 at October 23, 2020

    没有图,有也不能放。这不是什么严谨的结论,就是个人的一些感觉。