记 thoughtworks 的一次面试
2015年的1月30号,星期五。我将要去thoughtworks面试。
最早听说thoughtworks是在学校听同学说起的。一句不经意间的引导可能会改变我的整个人生。
实话说,我之前对thoughtworks并没有太多的感觉,虽然有很多关于他们的信息在网上流传,但是我一直对网上流传的甚广的消息保持怀疑态度。这一切直到我遇到了玉姐和仝老师开始渐渐地发生了改变。
可以说我与thoughtworks的联系是通过玉姐和仝老师建立起来的。一开始我对仝老师的`仝健技校`并不了解,但是当我第一次见到这两个人的时候,我能从他们身上感受到我一直想要塑造的那种气场。说的惭愧一点,我在他们身上看到了自己的影子。仝老师知识涉猎很广,分析问题的思路巧妙、有的放矢;玉姐温柔,耐心,同样有着深厚的知识储备。在接下来的相处中,他们分析和解决问题的方法深深地吸引了我。
经过仝健老师和玉姐三个月来的指导,我有幸参加了一次thoughtworks(期中考试)的面试,下面记录了面试的一些问题,作为自己改善和提高的宣言。
感谢仝老师和玉姐付出的心血。这将在我的人生路上产生深远的影响。
下面是对面试过程的一些回忆
此处纪录觉得重要的问题,有些记不太清的小问题被过滤掉了。
(面试官了解你的基本信息,玉姐提前已经准备好给了他们)
(进入小黑屋,准备好双屏投影。看到代码。)
(自我介绍)
问:讲一下你做的设计?
答:开始讲程序的怎么做出来的,基于node平台,js语言。接下来是自己怎么去构思的,题中,输入数据在文本文件,输出在文本文件,所以我们要有从文件读取和输出到文件的功能的方法;我们进行计算的核心逻辑的时候,我希望我的数据是对象式的,所以我写了一个类用来专门将文本文件读进来的字符串解析成json格式。接下来开始核心逻辑的计算,我写了一个 cash register类 负责处理逻辑,他的input是一个json格式的数组,输出是带有所有需要打印的信息的对象,然后交给printer类来打印。
问:你是怎么知道知道仝键技校的?
答:同学介绍的 于是我就来体验了。没想到这里可以这么棒,后来遇见仝老师跟玉姐,我特别想成为他们这样的人 ,他们很棒。非常想跟他们一起工作。
问:你都做过什么?
答 我本身不是计算机的,信息与计算科学,数学学的偏多一点。后来爱上了计算机,开始学编程,一开始学.net平台的知识。后来慢慢接触了java。也是在那个时候接触了面向对象这个概念,开始学面向对象的知识。后来在仝健技校有比较深入的学了js。
问:你觉得java和js哪个好?
答:要讨论一门语言,首先要明白这门语言为什么存在。java创建之初可能是为了大家能有一个通用的能在所有的平台上跑的编程语言,这也是java为什么成功。而js是不一样的,js一开始是被作为一种脚本语言创造出来,他生来就需要那种需要灵巧变化,他是轻量级的,而且没必要也不方便加上那些严格的限制。他们面向不同的领域。都很牛。
你将来的打算?
答:准备做技术方面的工作,很喜欢技术,喜欢自由和开放。我很喜欢tw。想来这个地方干些很牛的事儿。
下面是一些问题
这里记录了一些在pair中提出来的一些问题,需要改进的地方。
代码:
- 命名的问题
- 命名不能良好的区分
- 命名没能体现出功能
坏习惯
- 返回 true false这种问题
- 注意要写透明函数
- js的静态类直接var class={}就好了,不用写个空的function。
学习方法的问题
- 在接触测试啊 模式啊 这些东西之前 ,还是要把基本(面向对象,抽象)这些概念理解熟,用熟。否则学新东西会出现很多的问题。
- js的基础,还是不够扎实。很多概念想的时候是一回事儿,用的时候又是另一回事儿。
- 今天程序可以用到某个知识重构,但是这个知识自己只是知道,但是没有学。这个时候就应该把他学了,否则下一次还是没有提升。比如,想了好久都没学的,正则表达式。
最后
- 建议后面学些 java spring的东西,因为他们用的多。