简单之美—软件开发实践者的思考—故事场景5

两周后。林峰正在和王蓉讨论问题,李小兵走了过来。

“快下班了,什么时候走?”李小兵打断了他们的谈话。今天是周末,他和林峰约好了几个同事晚上到阳天KTV去Happy的。

“快了。下班就走吧。”林峰头也没回地说。

“在忙什么呢?看你们讨论了一下午。”李小兵没有要离开的意思,他坐到了林峰的身边,看了看电脑屏幕。

“结对开发,呵呵。”林峰笑道,“Ralph说,要把我们的数据模型和ACORD标准之间做个映射。”

李小兵看了看林峰,又看了看王蓉,有点纳闷地说,“你们也可以结对?”

“照Ralph的说法,两个人一起做事就是结对。”

“Ralph说,我看你已经被洗过脑了,哈哈。”李小兵打趣道。

“喂,等我们讨论好,你们再聊好不好。”王蓉有点不耐烦了。李小兵扭身跑掉了。

孔如之做了一个大胆的决定。在TFC项目中,将使用ACORD标准作为领域模型。这意味着,核心系统的数据模型被抛弃了。而为了要继续使用核心系统提供的各项功能,必须要在这两个模型间做一个映射。

孔如之和林峰做了大量的沟通。起初,在林峰看来,这件事是多此一举,不但增加了工作量,而且降低了程序的性能。另外,这是一件枯燥乏味的事情,要了解两个模型的业务含义,还要考虑业务含义上的差异。林峰对此一点兴趣也没有。

“核心系统的数据模型不能满足TFC项目的要求,所以,将来的变化会很频繁。”孔如之是这样解释的,“相比而言,ACORD是一个标准,它已经经过了很多领域专家和实践的检验。这是一。ACORD标准的领域问题抽象比核心系统的数据模型更加灵活和全面,标准本身也提供了扩展能力。这是二。我们在ACORD标准上的努力更有可能成为有价值的知识积累。这是三。最后,标准总是更有利于我们进行数据交换,无论是企业内部还是企业之间。”

“标准化永远是我们工作的方向。”孔如之总结道。

林峰和孔如之争论了很久。他提到了标准的滞后性,标准的版本问题,以及模型映射对性能的影响。争到后来,他发现自己简直是为了争论而争论。他心里渐渐明白,孔如之讲得是有道理的。自己讲的所谓滞后性和版本问题,在任何一个采用标准的场合都存在。难道因为这些问题,就永远不要使用标准?

林峰最后接受了孔如之的决定。

于伦仍然是TFC项目的TPM。所谓TPM,只是上海办事处内部使用的一个职务名称。对IL全球来说,只有孔如之和宗方才刚刚够得上一线PM的职位。很有意思,自从有了上海办事处,亚太区总部(新加坡)里的所有技术人员都成了各种各样的经理。

孔如之经常外出会见客户,就算留在Office,也有不少事务性的工作需要处理。因此,他把一部分组织和管理方面的工作交给了于伦。比方说,主持一些技术方面的会议。在这种技术会议上,主要是讨论一些设计思路和解决方案。

于伦过去也经常主持这类会议。他喜欢开会,如果说有点成瘾也不为过。这种瘾是在他转到管理岗位后才产生的。他自己也没有想过原因。其实,原因很简单。在他还是AD的时候,他可以发表意见,但是意见会受到无数的阻挠。而转变成管理者角色以后,他在会上可以充分表达自己的意见,而且大多数意见都可以落实。这种感觉很不错。

职场上有一个潜规则,就是尽量不落文字。所以,很多人都不喜欢通过邮件来表达自己的观点,而会议是一个很好的替代品。在会议上,大家可以天马行空,热烈讨论,不需要成熟的观点,不需要明确的想法。最终的决议,如果有的话,都成了大家的意见。作为会议的组织者,于伦,可以轻松地释放责任的压力。

可是最近,于伦发现气氛有点变了。孔如之一直在强调责任问题,主持这类技术会议开始变得艰难起来。在一次讨论模块间解耦方案的时候,他甚至和林峰发生了冲突。

“为什么要用ID做参数?”林峰的声音很尖,于伦听起来感觉格外刺耳。

“模块之间要解耦。我们只传对象ID,这样耦合性最低。”于伦说。

“所有的模块都基于一个统一的领域模型,用对象不是更好?传递对象ID,还需要去访问数据库。就算缓存里有,那也要多一个步骤。另外,对象ID的业务意义不清晰。”林峰说话有点咄咄逼人。

于伦觉得林峰没有看得更远,他说,“以后这些模块都可能单独包装销售,它们都有自己的数据模型。你传过去的对象,可能在另一个模块中没有定义。”

“有ID就说明有这个对象。”

于伦想了想,说道,“两个模块中的对象是不一样的。比方说,在理赔模块中,理赔相关的对象很复杂,在其他模块中,可能只用到理赔对象中很小一部分信息,所以会有一个轻量的理赔对象。”

“也就是说,不是使用统一的领域模型?”林峰感到有点困惑了。

于伦看着林峰,缓慢而坚定地点了点头。

“这样会有问题的,你能负责吗?”林峰大声说。

于伦感到林峰的目光中带着挑衅的味道。自从林峰担任助理架构师以后,于伦就发现他变了,变得爱挑刺,爱找茬,而且自以为是。想当初,林峰刚进公司的时候,是自己手把手带他上路。于伦感到一股无名火窜了上来。

“我负责。”他高声说。

林峰自己也觉得自己发生了很大的变化,这不是他主动追求的结果。自从担任助理架构师以后,他感觉自己的地位在发生变化。比方说,同事们对他的意见更尊重了,也更爱找他请教问题了。

发生在别人身上的事总是很好理解,发生在自己身上的事却总是有点奇妙。

林峰已经有点醉了。A9包厢里灯光幽暗,音乐很吵。一箱啤酒和两瓶黑方下肚,同来的六个兄弟已经完全放开了。

“快快快,帮我点那首上翠花。”李小兵冲着点歌的小妹直嚷嚷,其他几个人哄笑起来。有人高声喊,“小妹,别听他的。你慢慢来,再急也要先走前奏的。”

高声喊的那个人是个二十六、七岁的小伙子。他名叫成实,中等身材,很胖,戴一副黑框眼镜。

“成哥,你,等会去和小妹走前奏吧,我,已经急了,等不及了。”李小兵贼贼地说,“话筒都被我抓热了,快快快。”

“一看就知道没喝够,话都说不清,喂,小心把话筒喷了。小妹,再来一箱啤酒。哈哈哈。”成实大笑道。

成实真的很开心。他最近偷偷在外面找到了一份待遇丰厚的工作,新公司同意他两个月以后再去上班。他现在就像躺在玻璃房里看暴雨,心里别提那个爽。不过,他还没有和同事们提起这件事。

“林哥,不痛快?怎么不去点歌?”成实提着一瓶啤酒,一屁股坐到林峰的身边。

“没事。我五音不全,你们点。”林峰揉了揉太阳穴,没精打采地说。

林峰在成实眼里算是一个高手。他每天基本上都是靠着问林峰干活的。成实和林峰碰了碰酒瓶,喝了一大口。

“你觉得Ralph这个人怎么样?”成实突然问道。

“还可以吧。我就是觉得他对创新不太感兴趣。”两天前,林峰曾经向孔如之提过一个建议,让他自己来写一个框架,解决Hibernate的性能问题。但是被孔如之拒绝了。林峰觉得自己的能力没法完全施展开,这让他很郁闷。

“怎么回事?”成实对这个话题很感兴趣,或者说,他对关于孔如之的话题都很感兴趣。他的心里其实有那么一点点的小矛盾。自从孔如之开始领导项目之后,AD的加班很少了,大家做事都有了方向感。这种感觉很微妙,可是影响很大。成实很清楚,以前经常加班,往往是因为在解决方案上的摇摆不定,导致一件事情要返工几次,这就像市政部门成年累月在同一条马路上折腾一样。现在,方案保持稳定了,无用功少了,工作自然也轻松了。成实的技术不行,可是在这种事情上很敏感。有时候他想,如果工作轻松一点,有更多时间出去泡马子,每个月少拿2000块钱也值得,再说,跟着牛人多学点,将来还有机会赚回来。

“我想做个框架。分三层,最下面一层是VO,中间一层是BVO,最上面一层是BO。调用的人和BO和BVO打交道。VO是透明的。”林峰头有点晕,可是谈起技术来还算清楚,“业务关系和逻辑都放在BO里面,BVO会根据业务需要暴露一些VO的属性。这么做,就不会把VO直接开放给开发人员了。”

“想法不错啊。”成实赞叹地说,其实他什么也没听懂,“后来呢?”

“Ralph说,你考虑过缓存机制了吗?考虑过分布计算场景了吗?”林峰不服气地说,“是的,当时我是没想过这个问题,可是这个问题很简单,加个Context,用个Map就解决了。Hibernate也是保存在Map里的。结果你猜他说什么?”

“说什么?”成实很想知道。

“他说,我只要最简单的方案,只用最成熟的技术。”林峰一口气喝完瓶中酒,说道,“你说,要这么说,还要创新干嘛?”

成实茫然地看着林峰,附和着说,“就是,那他也太保守了。来,再喝一口。”

一帮人闹到凌晨1点才散了。

 

转载于:https://www.cnblogs.com/PatrickLee/archive/2012/07/23/2604755.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在软件测试面试中,可能会问到以下问题: 1. 你对软件测试的理解是什么? 2. 你通常如何规划测试流程和策略? 3. 你有使用过哪些测试工具和框架?如何评估和选择测试工具? 4. 如何编写测试用例?你通常会关注哪些方面? 5. 如何定位和重现测试中的问题?如何进行缺陷跟踪和管理? 6. 你如何评估测试结果和测试覆盖率?如何进行测试报告和风险评估? 7. 你有使用过自动化测试吗?如何评估测试自动化的可行性和效果? 8. 你如何与开发团队和其他相关方沟通和协作?如何处理紧急情况和测试中的冲突? 9. 你对软件质量和用户体验的理解是什么?如何从用户角度进行测试和评估? 10. 你如何持续学习和跟进软件测试行业的最新发展和趋势? ### 回答2: 在软件测试的面试中,通常会涵盖以下几个方面的问题: 1. 基础知识和技能:考察应聘者是否掌握软件测试的基本概念、术语和流程,比如测试策略、测试用例的编写和执行、缺陷管理等。 2. 编程和自动化:询问应聘者是否具备编程技能,例如熟悉常见的编程语言如Java、Python以及一些测试框架和工具的使用,比如Selenium等。此外,还可能问到自动化测试的优势和限制,以及如何选择合适的测试工具和框架。 3. 软件开发过程和团队协作:考察应聘者对于软件开发过程的理解和在团队中的配合能力,通过询问敏捷开发、持续集成和交付等方面的问题来评估。 4. 调试和故障排除:询问应聘者如何识别和调试缺陷,并解释常用的调试工具和技术,例如日志分析、断点调试和性能分析。 5. 建议和改进:询问应聘者如何提出改进软件质量的建议,包括测试方法、流程和工具方面的优化点。 此外,面试官可能会通过提问具体的场景问题或者让应聘者解决实际的测试问题来评估应聘者的思维能力、解决问题的能力以及对软件测试的实际应用经验。 ### 回答3: 软件测试面试通常会涉及以下几个方面的问题: 1. 测试基础知识:面试官通常会问一些基础知识的问题,如软件测试的定义、目的、原则、测试用例、缺陷管理等。此类问题旨在了解面试者是否具备坚实的软件测试基础知识。 2. 测试方法和技术:面试官可能会询问测试方法和技术的应用,如黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、安全测试等。此类问题旨在评估面试者对测试方法和技术的掌握程度。 3. 缺陷管理:面试官可能会询问面试者如何识别、记录和跟踪缺陷。此类问题旨在了解面试者对缺陷管理流程的熟悉程度以及其在项目中的实际应用。 4. 自动化测试:面试官可能会问面试者对自动化测试的了解和经验。此类问题旨在评估面试者对自动化测试工具的熟练程度以及其在项目中是否有过相关实践经验。 5. 常见测试场景和找出问题的能力:面试官可能会给出一些常见的测试场景,并要求面试者分析并找出可能存在的问题。通过此类问题,面试官能够评估面试者对于问题定位和分析的能力。 此外,面试中可能还会问及项目经验、沟通协作能力、问题解决能力和性格特点等方面的问题,以全面了解面试者的软件测试能力和适应性。 在面试过程中,面试者应准备好以上问题的答案,并结合自己的经验进行实例讲解,以提高回答的准确性和可信度。此外,积极与面试官沟通、展示自己的思考能力和团队合作精神也是面试中需要注意的要点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值