现在的位置: 首页 > 综合 > 正文

求职经历–ThoughtWorks

2018年02月01日 ⁄ 综合 ⁄ 共 3455字 ⁄ 字号 评论关闭
 

ThoughtWorks中国公司office在软件园里面,中国公司成立时间不长,员工大概就是40+的样子,不过已经算是名气比较大的公司了,口碑很好,马大叔的名气就更不用说了:)
简历通过后,公司让大家去软件园笔试,今年西安这边大概有150+的candidates吧。笔试之前公司的gigix和berkey在台上给大家秀了一把pair programming和TDD,估计是怕有些人不知道Agile...然后是一份笔试题,TW的这份题风格上与其它软件公司有很大差别,全是主观问题,并且除了几个TDD的题目之外其它题目与软件开发没有直接联系,全英文。然后大家就是奋笔疾书...考试中间收到ATC的HR电话通知让第二天去面试,小兴奋了一把,来了灵感,自我感觉题目还算答得不错。后来在网上看到有人对他们这种考法有异议,其实我觉得这题目本身还是很有意思的。不过我不太明白,TW整个招聘过程为啥始终都没有涉及编程开发的基础知识,难道他们要招的developer只要懂点Agile、OO,外加点Pattern就足够了?个人认为作为一个developer,即便是做这种商业项目开发,全面的知识架构还是很重要的,当然,这些本与我无关,多嘴多嘴...
一周后,收到TW的HR Jessie的电话通知code test,下午就收到了题目,三选一,三天内完成,然后mail过去。当然不可能真的花三天时间来做这个,因为那几天来的公司特别多,笔试面试好几个,我中间挤了差不多一天时间完成了个mini project,TDD是肯定的,OO设计得也算清楚,Pattern也用了好几种,中间的算法也算考虑得比较细,整个project自认为起码应该不算太糟,赶在截止时间之前mail了过去。几天后,不出所料,通知参加他们的office interview。
那天也是第一次知道TW西安office长啥样,呵呵,其实他们office很小,据说因为大部分人都在外做项目,平常就几个HR在office里面,大了也没用,难怪叫office^)^不过里面布置得还算不错,让人比较轻松,到处都是白板,画的啥没看清,估计是些用例图吧,要不就是涂鸦?公司里面有个角落放了些零食和饮料,jessie让大家别客气,旁边就是那个传说中的XBOX,哈哈,不过面试几天都没见人玩过,浪费了...原本以为这个office interview是技术面试,结果9点钟的时候陆陆续续来了将近20个xdjm,挤满了一屋子,明白了--群面。其实我个人更喜欢那种1vs1的面试,那样可以毫无约束的充分发挥。这种群面我不是很喜欢,毕竟和你一起参加面试的人更多的是属于竞争者关系,而真正到team里面大家都是同事,属于合作的关系,人在这两种环境下表现出来的很多想法差异还是蛮大的。至少我自己就觉得特别别扭,不过想了一下反正已经收到Yahoo的offer,心态也就平和一些,算了,就当体验一下传说中的群面吧。上午的活动就是做游戏,这个本人及其不擅长,而其他同学好像看样子都是有备而来,势在必得...我反正就是跟着大家玩了,毫无亮点:(不过事后证明,也许正是这种平和的心态才是Teamwork的关键,TW好像也并不太喜欢那种过于表现自己的人。
下午是presentation,这个事先就让大家准备过,大概一半的xdjm都是用英文讲的,还有个dd专门找了TW的ppt背景模板来讲,汗。我嘛?知道自己pronunciation很烂,就不折磨大家耳朵了,老老实实用中文把我课题中用TDD思路来做电路设计的那一小部分做了个简单的介绍,怕大家听不懂,介绍了基本的idea后就不敢深讲了,结果下来一看表,大概就用了六七分钟,失败,人家的要求是15min,而且有些准备的充分的讲了快20min...这下估计是没戏了!
不过很奇怪,下午回学校后没过一会就收到jessie电话,通知我进入了下一轮的面试。这个真的让我有点意外,其实我表现得连自己都觉得很weak,完全是被淹没在芸芸众生之中...就这样,第二天又去了TW office,数了下人数,今天来的应该在10人左右,我心里犯嘀咕:不会还要群面吧?别玩我了:)还好,上午安排的是一个Logical Test,测试开始之前,TW中国区的正副手Pinny和Guo Xiao近来给大家打了个招呼,其实两年前马大叔到学校讲座的时候就见过他们两个,Guo Xiao今天居然穿的是Adidas的运动服,呵呵,好有活力,赞一个!Logical Test两份卷子大概总共一个半小时,推理题为主,做的还算顺利...做完后宣布结果,因为office里面当时只有三个developer在on beach,所以就留了三个人下来下午结对,除了我,还有一个交大计算机的本科dd和一个西电的硕士mm,其他人回去等通知。这时我暗自庆幸,终于可以当天就把面试搞定了,连跑了几天真的很累。
中午,他们另外一个HRmm(很pp那种^_^)带我们去软件园食堂吃了个午饭后回来等结对。能进到这一轮,我心里就有底了,毕竟我对自己的coding能力还是有点信心的,心想这下总该我show一下了吧!因为我的code test是用csharp写的,和我结对的LX安装了半天VS2005,难为他了:)后面开始结对,在前面那个project上加入新的功能,不过不知啥原因,NUnit和VS2005自带的测试工具那天在LX的机器上都无法运行,没办法,我只好提议自己写一个简单的TestCase Class来模仿,用控制台作Test Runner,LX表示赞同。后来就是添加功能了,不过新添加的功能还是比较复杂的,特别是project输入和输出都是用字符串形式,这部分的工作虽然没啥难度,但是很细,写起来很花时间。大概一个半小时后,LX说时间差不多了,其实这时候功能差不多就添加了一半,不过他表示不要紧。整个结对的过程还是蛮愉快的,我和LX配合得也算不错。最后Jessie把我叫到一个会议室里,随便问了些问题,都是HR常问的那几个,然后告诉我整个面试结束,会尽快通知最终结果。最后她表示花了大家几天时间,他们也有点过意不去,我回答说这个可以理解,毕竟公司招人还是要很谨慎的,这个是实话。
走出软件园,一看表,晕,四点过了,错过了与Tencent约的面试。算了,反正也不想去深圳...
第二天下午,收到Jessie电话,通知给我offer...  

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

下午参加thought works的宣讲会,形式很独特:他们的两个工程师在台上展示了什么敏捷开发,什么是结对编程。呵呵,比较有意思。这也是我第一次看到如何使用JUnit。以前虽然也试用过JUnit,但看了他们的演示之后,才发现自己使用方式的业余。

他们先写测试,然后通过测试来写产品代码。在看他们演示之前,一直都没想到敏捷开发是这么做的。总以为是写测试,写完测试然后写产品代码,然后通过test测试产品代码。他们则是先想要测什么功能,然后再产品代码中增加什么功能,然后用test测试该功能。还有一点就是,在写产品代码时,不断的重构已有代码,保证代码结构清晰,代码简洁。这里有个原则,超过15分钟如果写不出一个功能,则该功能就需要细化。

演示完后,就直接笔试了,时间1个半小时。没想到竟然有7/10是开放性问题。大意如下:
1、为什么选择加入ThoughtWorks。200字以内,不能用“interesting”、“challenge”等词汇
2、最近五年,什么技术是你用过的感觉最好的技术,为什么?
3、参加一个主题是软件开发的化妆舞会。你怎么装扮?为什么?
4、用一个简单的方法解释一个复杂的概念“mind-storm”
5、你在一个团队中做出了什么样的贡献,从而提高了整个团队的效率(overall performance)
6、ThoughtWorks的决定是通过“石头剪子布”来做决定的。说明你曾用什么样方法做出一个艰难的决定的。
7、ThoughtWorks的工作需要经常飞来飞去在不同的地方工作。你对此有什么好的方法?
8~10都是与宣讲会有关的内容了。听过了,基本都能答上来的。

下周三左右出结果,希望能通过吧。

 

抱歉!评论已关闭.