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的东西,因为他们用的多。

记 thoughtworks 的一次面试的更多相关文章

  1. vue菜鸟从业记:没准备好的面试,那叫尬聊

    最近我的朋友王小闰参加了一场面试,在他填写简历表的时候,排在他前面的应聘者正在旁边邻桌接受来自面试官的检验. 王小闰边写边想,这不就是一会儿要面试自己的前端leader么,现在面试官提问的一些面试题会 ...

  2. 记一次java电话面试

    答案补充中... 一.java基础 1.简述java的几种基本数据类型 JAVA的基本数据类型有:byte.char.boolean.short.int.long.float.double 2.什么是 ...

  3. 算法题目-记hulu失败的实习面试

    1.对于数组A[0,1,2,3,4,...,k],求得0<=i < j < k,且使得A[j] - A[i]为最大值. 最简单也最容易想到的搜索两遍,即可得到答案.i的位置从起始至倒 ...

  4. 记重回IT行业的面试

    问点: 0,梳理一个前端知识框架 1,jQuery的理解 2,仿某网站首页,除了download,显示新优化地方 3,文档模型(DOM) 事件流 事件处理程序 事件类型 例如阻止冒泡的方法 4,前端跟 ...

  5. •当对自己的技术足够自信的时候,拼的就是RP和面试技巧了(转)

    前言 三月真是一个忙碌的季节,刚刚开学就需要准备各种面试和笔试(鄙视).幸运的是,在长达一个月的面试内推季之后,终于同时拿到了阿里和腾讯的offer,还是挺开心的.突而想起久未更新的博客,就冒昧学一学 ...

  6. Java程序猿面试体会,还没找到工作的“猿猿们”看过来!

    类似的话题,我大约在几个月前跟大家聊过. 这一次,我要依据这段时间的体会,再给大家整理一下.     今天,非常轻松地拿到了神州数码的offer. 尽管工资不是特别高,尽管非常多人一毕业就能进入这种公 ...

  7. Unity 工作经历+近期面试经历(二)

    注册博客园后,我原本打算每一份工作经历都记录下来.但是,这份工作已经换了半年了,好几次想要写,又不知道该怎么写.太多的负能量.我始终相信,情绪是会传染的.我基本决定放弃写这篇文章了.就让时间去淡化经历 ...

  8. C#非常重要基础之多态

    前几天看了一位同志的博客,写的是关于他自己去支付宝面试的经历.过程大体是这样的:问答的时候,前面部分,作者都应答如流,说起自己经验如何之丰富,最后面试官问了作者一个问题:请简述多态的概念和作用.结果这 ...

  9. C#基础系列——小话泛型

    前言:前面两章介绍了C#的两个常用技术:C#基础系列——反射笔记 和 C#基础系列——Attribute特性使用 .这一章来总结下C#泛型技术的使用.据博主的使用经历,觉得泛型也是为了重用而生的,并且 ...

随机推荐

  1. IO、FileInputStream、(二十)

    1.IO流概述及其分类 * 1.概念(什么是IO?) * IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流 ...

  2. Java虚拟机一览表

    免费和开源的 Java 虚拟机AegisVM (inactive since 2004).Apache Harmony — supports several architectures and sys ...

  3. html5--6-60 阶段练习7-下拉菜单

    html5--6-60 阶段练习7-下拉菜单 学习要点 综合运用所学过的知识完成一个下拉菜单的小练习,加深对学过知识点的综合应用能力. <!DOCTYPE html> <html l ...

  4. DGA聚类 使用DBScan

    features = sc.parallelize(data_group[idx]).map(lambda x: (x.host_ip+'^'+x.domain, 1)).reduceByKey(op ...

  5. codeforces 691F F. Couple Cover(组合计数)

    题目链接: F. Couple Cover time limit per test 3 seconds memory limit per test 512 megabytes input standa ...

  6. js 购物车中,多件商品数量加减效果修改,实现总价随数量加减改变

    <!DOCTYPE html> <html> <head> <meta charset=UTF-8 /> <title>无标题文档</ ...

  7. HDU4188:RealPhobia (连分数的运用之一)

    Bert is a programmer with a real fear of floating point arithmetic. Bert has quite successfully used ...

  8. [Selenium] Android 中旋转屏幕,触摸,滚动

    package com.learingselenium.android; import junit.framework.TestCase import org.openqa.selenium.Rota ...

  9. 为什么python2.7中用Process创建子进程的语句之前必须加#if

    from multiprocessing import Process import os def run(name): print 'The child process '%s' (pid %d) ...

  10. vue随笔2

    vue2.0中移除.sync修饰符 .sync可是实现props的双向数据绑定,但是会破坏[单向数据流]的假设.这样的话在改变子组件时,父组件同时也改变,你完全不知道它是何时悄悄地改变了父组件的状态. ...