ThoughtWorks面试记

首先, 我要告诉大家一点, 正如网上其他人质疑的那样, ThoughtWorks的技术实力并不像所有人想想的那么强, 甚至很烂, 至少从我这次面试的经历就可以看出. 且听我慢慢道来.

先自我介绍一下, 我毕业于北京工业大学计算机系, 毕业后参与了10余个大小不一的项目, 并在公司担任研发经理一职. 专业技能还是有一点自信的.

初试:

第一次面试实际上是以电话形式进行的, HR了解一些个人情况, 以及薪资期望.

当然他也没傻到上来就问我期望什么待遇, 先问的是之前的待遇.

由于我之前在公司的待遇还算较高, 我说完之后HR说ThoughtWorks的待遇不及我之前的, 和大公司肯定没法比. 而且即便我两年的工作经验, 但是实际能力超出同龄人很多, 也就和我原先的持平(我现在都觉得这句话是敷衍了事的).

然后让我第二天去做个笔试, 我欣然答应.

笔试:

到了才发现就我一个人做笔试(我怀疑他们根本就不是诚意招聘, 只是了解行情罢了).

笔试就是一些智力测试题, 我15道错了两道, HR说还算不错.

然后HR说会给我发一个作业, 做完后提交过去.

作业:

作业比较简单, 内容我一语带过, 就是算不同商品税种叠加求和. 典型的装饰器模式应用, 于是很快完成, 发过去.

正题:

现在才进入正题.

我之前就觉得诡异, 笔试的时候只有我一个人, 仿佛公司没有组织有计划的招聘.

果不其然, 两天后收到了拒绝的邮件. 没有理由, 就是说我不适合他们.

我也很纳闷, 不知哪里不适合. 我笔试接近满分, 作业也像教科书一般标准的完成.

于是发邮件询问原因, 作业具体哪里有问题.

几十分钟后, HR回电, 说我设计有问题.

我问具体什么问题, HR说他也不知道, 评测人员说的.

我奇怪, 那么简单的一个装饰器模式应用, 怎么还能有问题. 我就说希望能提供一套标准答案.

然后HR含糊其辞, 说没标准答案, 你的就是设计有问题, 具体哪里有问题, 他也不知道. 没问题的参考答案, 他们也没有. 然后说给我把评测人员的评论发过来.

内容如下:

reviewer1

Tax inherit from Product doesn't make any sense. 

Hardcoded input logic in main function, should be handled in domain model. 

No test

翻译一下:

Tax从Product继承来, 不合适.

硬编码的输入数据不应在main方法里, 而是在模型里.

----

下边我贴出一下我的类图:

Taxes_ClassDiagram

1. 关于设计

左边的就是商品和税装饰类设计图, 标准的装饰器模式, 都继承自Product这个抽象类.

然而ThoughtWorks根本不懂什么叫装饰器模式, 说我这些装饰类继承自Product是不合适的.

2. 关于HardCoding测试数据

关于Hardcoding测试数据, 我真心不是在main方法里生成的数据, 只是在main方法里调用一个静态方法返回测试数据, 如下:

static void Main(string[] args)
        {
            compute(TestData.getInput1());
            compute(TestData.getInput2());
            compute(TestData.getInput3());

            Console.ReadKey();
        }

真心不知道这样写测试数据也有什么不行.

3. 关于测试

还说我没有test, 邮件里也没说清楚要不要单元测试. 我在main方法里就是按照邮件里给出的测试input执行的, 难道非要写个单元测试才算测试? 做个Demo在main里写个测试就不算测试? 况且邮件又没说必须要单元测试, 只是描述了Problem而已.

分析:

后来我又针对reviewer回复的疑点向HR发邮件询问, 从此就再也没有音信了.

我被拒绝, 看似是因为这3点, 实际我觉得这3点只是敷衍我的借口罢了.

ThoughtWorks的reviewer不懂设计模式露怯不说, 如此敷衍面试者, 实在是让人怀疑他们是不是真的有实力, 是不是真的想招人.

如果因为我之前的工资高, 那尽管直说, 或者早说. 干嘛非在Manager面谈前找这种业余的理由拒绝. 浪费别人时间.

如果本身就不打算招人, 只是为了调查市场行情, 那实在损毁企业形象.

于是ThoughtWorks中国只是个三流的, 做外包项目的公司罢了. 什么敏捷至上都是蒙那些不懂的人的, 先把软工的基础知识学好再来忽悠吧.

转载于:https://www.cnblogs.com/talexu/archive/2012/08/18/2645196.html

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Thoughtworks公司面试题——MARS ROVERS问题火星探测器 C# 实现 VS2010工程,带界面展示! 一小队机器人探测器将由NASA送上火星高原,探测器将在这个奇特的矩形高原上行驶。 用它们携带的照相机将周围的全景地势图发回到地球。每个探测器的方向和位置将由一个x,y系坐标图和一个表示地理方向的字母表示出来。为了方便导航,平原将被划分为网格状。位置坐标示例:0,0,N,表示探测器在坐标图的左下角,且面朝北方。为控制探测器,NASA会传送一串简单的字母。可能传送的字母为: 'L ', 'R '和 'M '。 'L ',和 'R '分别表示使探测器向左、向右旋转90度,但不离开他所在地点。 'M ' 表示向前开进一个网格的距离,且保持方向不变。假设以广场(高原)的直北方向为y轴的指向。 输入:首先输入的line是坐标图的右上方,假定左下方顶点的坐标为0,0。剩下的要输入的是被分布好的探测器的信息。每个探测器需要输入wo lines。第一条line 提供探测器的位置,第二条是关于这个探测器怎样进行高原探测的一系列说明。位置是由两个整数和一个区分方向的字母组成,对应了探测器的(x,y)坐标和方向。每个探测器的移动将按序完成,即后一个探测器不能在前一个探测器完成移动之前开始移动。 输出:每个探测器的输出应该为它行进到的最终位置坐标和方向。输入和输出 测试如下: 期待的输入: 5 5 1 2 N LMLMLMLMM 3 3 E MMRMMRMRRM 期待的输出 1 3 N 5 1 E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值