好久没有更新简历了,于是更新了下个人简历,算是自我总结吧,这也是多年来养成的一种习惯,定期维护更新。简历更新后,很快就接到了很多电话(虽然简历设置了不对外公开),目前我还没有换工作的打算,除非有非常合适的机会,哈哈!所以90%的面试机会我还是不由分说的拒绝了。

某天接到了一位猎头的电话,被告知是thoughtworks的岗位,问及是否有兴趣考虑。对这家公司之前还是有些了解的,以技术、咨询为驱动,敏捷开发而闻名,于是相互加了微信,了解一下总归没有坏处。于是,就有了接下来的经历,在此与大家分享一下,记录如下。(Homework、Pair Program、Face-to-face Interviews真的是非常棒的面试指导,值得仔细阅读)

1、猎头初聊

猎头加了微信后,发来了thoughtworks介绍及岗位JD,我主要看了下岗位JD,岗位还是偏于技术为导向的,相对吻合,就答应可以考虑,先看看。

随后,猎头与我约定时间进行了电话沟通,沟通的主要内容:

  • thoughtworks公司介绍
  • 岗位JD介绍
  • 个人情况了解

电话聊了将近一个小时,首先进行了简单的自我介绍,近期工作内容、所用技术栈、团队人员组成情况、平时遇到问题是如何解决的、自己的未来职业规划等等这些问题,反正关于个人情况问的特别细,不输于一场技术面试。

接下来,就是猎头介绍了岗位JD情况、TW情况、以及TW面试流程的特殊性等。

电话聊完,猎头说接下来会把我的简历推送给TW,有消息第一时间同步我。

第二天下午,就收到来自猎头的反馈,约定第一个环节“homework”的时间。

TW面试流程
1)homework: 自己私下三选一完成一个编程题目。
2)Pair Program(结队编程):现场与2个面试官,针对你homework提交的程序,一起结队编程,目的是从中考察你的实际编程能力。
3)Face-to-face interviews:现场与其他几个面试官,针对技术深度、广度方面进行纯技术的面试。

2、homework

就是一个Home Test,TW通过邮件给我发了一封邮件,里面有3道题,进行三选一,在3天的时间里完成,并按要求提交程序。

要求通过程序来解决对应题目的问题,编程语言不限,可以使用Java, Ruby, c#, Python, Clojure, Scala或JavaScript,提供的程序是可运行、可测试的。

我选择的是第二道题目:Conference Track Management,程序已提交至github上(https://github.com/xcbeyond/ConferenceTrackManagement,可供大家参考。

摘抄邮件部分原文如下:

Below are three programming problems. Please read all three descriptions thoroughly then create a program to solve ONE of the problems. If you submit more than one solution, we will review only one.Note:
For the solution, we request that you use Java, Ruby, C#, Python, Clojure, Scala or JavaScript.
There must be a way to supply the application with the input data via text file
The application must run
You should provide sufficient evidence that your solution is complete by indicating that it works correctly against the supplied test data

homework提交后,大约过了一周多,给出了反馈,通过了,针对提交的程序给出了一些建议,其中包括一些优点、缺点(优化点)。

本环节考察点
1)编程风格:代码规范、代码结构、命名、代码冗余度等。
2)语言特性:Java8新特性、恰当的API(如:String、StringBuffer)等。。
3)设计模式:最好能够引入一种设计模式。
4)TDD:一定要有单元测试代码,这一点TW最为看中。如果写的好,一定是加分项。
5)程序满足要求:程序一定满足题目要求,可执行,运行结果满足题意。

提醒
该环节的程序,一定要完全理解题意,认真完成,虽说网上能够找到对应的题目及程序。如果发现抄袭,可能就直接Over了,更可况下一个环节还会问到更具体详细的东西。

3、Pair Program

Pair Program、Face-to-face Interviews这两个环节都是同一天现场面试的,Pair Program大约是1.5小时的时间。

由2个面试官和你一起针对homework环节提交的程序,进行结队编程。一边坐一个面试官(一定不要紧张哦),聊天式、技术探讨的方式和你交流具体代码写法、优化点,让你动手来写,偶尔面试官也会自己来写。

主要包括以下内容
1)程序的设计思路:回忆下当时做的思路、最好提前顺理下表述。
2)程序重构:根据您的这个作业和您一起去重构(局部重构),重构的过程中,面试官会教你一些新的东西,比如Java8新特性、快捷键等。
3)现场需求解决:最后,面试官针对你的程序会给你一个新的问题,让你来实现。(给你的是一张纸,上面打印的对应问题,也是多选一,并且是全英文的)

本环节考察点
1)代码能力:语言特性、debug能力、设计能力。
2)沟通能力:善于倾听,体现出主动性。
3)学习能力:好奇心(TDD、快捷键、最近学习的东西)、学以致用的能力、举一反三的能力(面试官教给你的新东西,看你能否应用到你程序中)。
4)需求理解能力:在面试官的引导下,正确的理解现场需求,可主动现场确认。
5)灵活性:开放的态度、接受反馈的态度(先听面试官的意见,接受面试官的反馈、虚心接受)、意见不一致时,可以有理有据的表达自己的意见,也能考察你自己的自信。愿意尝试新的方法或者工具,主动写面试官之前教的一些东西。

最后,面试官会问有没有什么问题,可以问与结队编程编程相关的问题,如:重构相关的问题等,如果没有问题,就说没有问题(最好还是问一个问题吧,也能体现出你是个有想法的人)。

提醒
1)一定要提前回顾程序的设计思路,需要清晰的表述自己的思路。
2)带上自己的电脑,确保程序是可以跑起来的,毕竟自己的电脑用起来更顺手。

4、Face-to-face Interviews

大约1小时。

主要包括以下内容
1)自我介绍
2)介绍准备的项目例子:需要事先单独准备另外一个项目例子。
3)技术点考察:面试官会考察自己的技术深度、广度,包括对哪些技术的热情、团队管理等这些东西。

本环节考察点
1)技术专长:根据之前的工作经验、项目例子去聊,可能像架构方向、敏捷开发的思想,包括一些跨语言的编程,然后是一些细节点,如:代理、缓存。技术热情,会问你近期有没有学习新的东西,然后为什么去学习,学习之后有没有实践,这块可能会问的比较细。
2)自信:很重要,一定要分清楚自信和自大的点。会就会,正常交流,不会的话,就虚心接受,表现出后期会去学习。
3)发展他人的能力:体现出团队的管理、一起成长、分享。
4)沟通管理能力:很看重,和客户的沟通、和团队的协作。
5)动机(motivation):对TW的意愿性,为什么会考虑TW等这些问题。

最后,面试官会问有没有什么问题,可以问,比如团队情况、用的是什么技术这类问题,一定不要问薪资、福利这些敏感问题。


上述就是关于我在TW的面试经历,记录了面试流程、面试内容、考察点,希望对你有用。TW的面试,真的是非常棒的面试指导,从中你会学到很多东西,如果有机会的话,不妨一试。

记一次西安thoughtworks的面试经历相关推荐

  1. 记一次蚂蚁金服面试经历

    蚂蚁金服大数据数仓岗位的面试经历 一.前言 本人一直在外企做传统数仓也差不多十年了,技术栈都是以关系型数据库和商业工具为主.看着日新月异的大数据技术的发展和数仓架构的不断迭代,想跳到互联网企业看看去接 ...

  2. 换工作记(五) --------- 华为社招2008面试经历

    =================== 特此声明:本文仅代表个人观点,不涉及商业意图和利益 ================== 这一次的面试经历准备采用倒序的方式来讲述. Result: 笔试,技术 ...

  3. 【面经】记一次字节跳动前端面试经历

    文章来自公号粉丝,本文转载自他的博客. 博主找我修改简历,给他提了一些建议,不久他就收到了字节跳动面试.(不知道是不是提的建议有效果--) PS:文中加了一些我的注释. 正文如下: 太长不看版 对于实 ...

  4. 设置好网络协议了为何网络还是不通_记一次菜鸟网络的面试经历

    我是一个不太爱折腾的人,因此在一个公司待久了,就不太会轻易跳槽.正因为如此,我在上家公司待了整整三年,在这里,认识了一群可爱的人,便更不舍得离去. 但因为公司属于传统企业,技术上并没有太大挑战,个人也 ...

  5. 【面经】记一次字节跳动后端面试经历

    太长不看版 对于实习招聘(甚至校招)来说,项目经历可能是获得面试的敲门砖,但是基础绝对是赢得面试的通天索. 即使是实习招聘,白板写代码也很可能逐渐成为主流面试的标配,平时要有意识地锻炼这方面能力,要不 ...

  6. 记录自己的一次thoughtworks的面试经历

    这说起来是一次很懵的面试经验,博主年底跳槽了,然后在找工作的时候有个拉勾网的猎头找到我,说可以给我推thoughtworks的一个工作,我当时也是想着有机会就抓住,就答应下来了,然后发了简历,要了我的 ...

  7. 记一次难忘的大厂面试经历

    我有一个做软件测试的同事,今年已经工作了3年的他,有一天跟我讲起作为一个计算机科班出身的测试猿,能够成功杀入这个行业的故事,我觉得他的分享还蛮有料的,对各位同学很具有借鉴意义,所以今天以他的口吻,对你 ...

  8. 【行走的Offer收割机】记一位朋友斩获BAT技术专家Offer的面试经历

    点击上方"蓝字", 右上角选择"设为星标" 周一至五早11点半!精品文章准时送上! 本文转载自公众号:石杉的架构笔记 概述 本文我们通过一篇真实的一线面经,带大 ...

  9. 记第一次实习面试经历(字节跳动)

    想要获取笔者自己整理的Android.Java面试资料原文文稿(markdown格式),可关注左边栏二维码所示公众号,公众号内回复"A3"(Android资料)."J4& ...

  10. 记工作一年后腾讯社招面试经历

    腾讯社招面试经历 电话面试 在某招聘APP投了腾讯一个C++后台开发岗位后,收到电面邀请,时间是晚上7点半.当时还没下班,提前跑到办公楼外面接电话.主要问了一些语言.数据结构方面的基础知识,聊了将近5 ...

最新文章

  1. QT手动moc问题:virtual struct QMetaObject const * __thiscall Widget::metaObject
  2. android studio安装教程博客园独王,Android Studio安装与配置
  3. 搜索引擎设计实用教程(3)-以百度为例
  4. HH SaaS电商系统的支付模块设计
  5. 雷军:我40岁一事无成
  6. elixir开发的项目_我对Elixir的介绍:学习另一种编程语言如何使您成为更好的开发人员...
  7. 恕我直言:职场上太低调不是装,是愚蠢!
  8. 【Java】Java多线程神器:join使用及原理
  9. 如何减小Exe, DLL 的大小
  10. python爬取网页代码_python爬虫爬取网页的内容和网页源码不同?
  11. 安卓10不支持qmc解码_基于安卓10的LineageOS 17.1来了,支持一加、小米、LG等机型...
  12. python xlwt生成Excel
  13. Wechat + unbuntu
  14. 移动拼图游戏(八数码问题)A*版
  15. 渗透测试如何学习? (*╹▽╹*) 信息收集 ~ 其一
  16. 售前成本评估你做对了吗?
  17. java降低if的圈复杂度_几种减少圈复杂度的实践
  18. Linux命令之logrotate命令
  19. ArangoDB数据类型
  20. 一种基于嵌入式的多重识别门禁系统设计方案

热门文章

  1. 阿拉伯数字金钱转中文大写
  2. 天线设计相关性能参数
  3. 帆软参数设置_帆软报表参数
  4. IT 必备电脑快捷键
  5. PX4自主设置飞行模式
  6. LRO -- skb_buff->frags[] skb_buff->frag_list
  7. 3389、135、137、138、139、445等端口解释和关闭方法
  8. DXP PCB板的形状的改变
  9. react 跨域—— jsonp 跨域
  10. love2d 乒乓球游戏