记 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的东西,因为他们用的多。
记 thoughtworks 的一次面试的更多相关文章
- vue菜鸟从业记:没准备好的面试,那叫尬聊
最近我的朋友王小闰参加了一场面试,在他填写简历表的时候,排在他前面的应聘者正在旁边邻桌接受来自面试官的检验. 王小闰边写边想,这不就是一会儿要面试自己的前端leader么,现在面试官提问的一些面试题会 ...
- 记一次java电话面试
答案补充中... 一.java基础 1.简述java的几种基本数据类型 JAVA的基本数据类型有:byte.char.boolean.short.int.long.float.double 2.什么是 ...
- 算法题目-记hulu失败的实习面试
1.对于数组A[0,1,2,3,4,...,k],求得0<=i < j < k,且使得A[j] - A[i]为最大值. 最简单也最容易想到的搜索两遍,即可得到答案.i的位置从起始至倒 ...
- 记重回IT行业的面试
问点: 0,梳理一个前端知识框架 1,jQuery的理解 2,仿某网站首页,除了download,显示新优化地方 3,文档模型(DOM) 事件流 事件处理程序 事件类型 例如阻止冒泡的方法 4,前端跟 ...
- •当对自己的技术足够自信的时候,拼的就是RP和面试技巧了(转)
前言 三月真是一个忙碌的季节,刚刚开学就需要准备各种面试和笔试(鄙视).幸运的是,在长达一个月的面试内推季之后,终于同时拿到了阿里和腾讯的offer,还是挺开心的.突而想起久未更新的博客,就冒昧学一学 ...
- Java程序猿面试体会,还没找到工作的“猿猿们”看过来!
类似的话题,我大约在几个月前跟大家聊过. 这一次,我要依据这段时间的体会,再给大家整理一下. 今天,非常轻松地拿到了神州数码的offer. 尽管工资不是特别高,尽管非常多人一毕业就能进入这种公 ...
- Unity 工作经历+近期面试经历(二)
注册博客园后,我原本打算每一份工作经历都记录下来.但是,这份工作已经换了半年了,好几次想要写,又不知道该怎么写.太多的负能量.我始终相信,情绪是会传染的.我基本决定放弃写这篇文章了.就让时间去淡化经历 ...
- C#非常重要基础之多态
前几天看了一位同志的博客,写的是关于他自己去支付宝面试的经历.过程大体是这样的:问答的时候,前面部分,作者都应答如流,说起自己经验如何之丰富,最后面试官问了作者一个问题:请简述多态的概念和作用.结果这 ...
- C#基础系列——小话泛型
前言:前面两章介绍了C#的两个常用技术:C#基础系列——反射笔记 和 C#基础系列——Attribute特性使用 .这一章来总结下C#泛型技术的使用.据博主的使用经历,觉得泛型也是为了重用而生的,并且 ...
随机推荐
- MySQL性能优化-I/O相关配置参数
本文介绍InnoDB和MyISAM两种存储引擎的I/O相关参数配置. 1.InnoDB I/O相关配置 Innodb是一种事务型的存储引擎,为了减少提交事务时产生的io开销,innodb采用了写日志 ...
- ewasm项目初探
为了改进EVM1.0,以太坊的新一代虚拟机项目ewasm (github.com/ewasm)将支持WebAssembly(wasm),wasm在性能,扩展性,开发工具,社区都更有优势.除以太坊外,一 ...
- 以太坊EVM在安全性方面的考虑
以太坊上用户编写的合约是不可控的,要保证这些合约能够正确执行并且不会影响区块链的稳定,虚拟机需要做安全方面的考虑. 1 在程序执行过程中采取的每个计算步骤都必须提前支付费用, 从而防止DoS攻击.先消 ...
- hdu 1711 Number Sequence 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目意思:给出一条有n个数的序列a[1],a[2],......,a[n],和一条有m 个数的序 ...
- pkg-config相关
编译fuse的命令 gcc myfuse.c -o myfuse `pkg-config fuse --cflags --libs` 中的 pkg-config fuse --cflags --lib ...
- javascript之this指向
情况一: 如果一个函数中有this,但是没有被上一级调用,this指向window 例: function a(){ var num='11'; console.log(this.num); //u ...
- fastText(三):微博短文本下fastText的应用(二)
上一篇讲到,fastText在训练数据中过拟合的问题.接下来将介绍一些提高fastText泛化能力的尝试. 模型泛化使用过fastText的人,往往会被它的很多特性征服,例如训练速度.兼具word e ...
- .NETFramework:Stopwatch
ylbtech-.NETFramework:Stopwatch 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutral, Publ ...
- .NETFramework:Regex
ylbtech-.NETFramework:Regex 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKe ...
- 超实用的JavaScript技巧及最佳实践给
1.数组创建一个随机项 var items = [12,548,'a',2,5478,'foo',8852,,'Doe',2145,119]; var randomItem = items[Math. ...