ThoughtWorks的结对编程访谈:内部建议

了解有关ThoughtWorks应用程序流程的更多信息,并听取其中一位软件开发人员关于如何进行结对编程练习的意见。

ThoughtWorks结对编程面试的英雄形象:内部建议

花时间思考不仅适用于招聘测试,也适用于软件开发人员的日常工作。——Rufus Raghunath, ThoughtWorks

ThoughtWorks的有前途的软件开发人员申请者通常在面试前参加一个现场结对练习(通常是虚拟的,与ThoughtWorker一起解决问题)。targetjobs采访了作为毕业生加入ThoughtWorks的软件开发人员鲁弗斯·拉格纳特(Rufus Raghunath),请他就如何为毕业生选拔过程中的技术方面做好准备提出建议。

在这个阶段,候选人通常已经和招聘人员进行了初步的交谈。鲁弗斯解释了这之后的技术评估是如何进行的。

Rufus说:“这部分包括与一两个高级开发人员结对编程,一起解决问题。”“这让我们的高管有机会与候选人互动,看看你本人和结对时的表现。”另一种方式也是如此:候选人可以看到在ThoughtWorks工作是什么样的,因为我们100%的时间都是结对编程。”

如何准备ThoughtWorks的结对编程练习

结对编程,或“结对”,是指两个程序员在同一个工作站一起编写一段代码。

并不是每个有毕业生计划的软件企业都使用结对编程评估——这取决于企业认为与开发人员的工作方式最相关的是什么。这是ThoughtWorks选择过程中的一个关键组成部分,因为它的开发人员一直在结对编程。

最重要的建议:保持热情

为了准备结对练习,Rufus建议:“更多地了解结对编程是什么以及它为什么有用。”

结对编程,像所有编写代码的方法一样,被认为有优点也有缺点。研究这些问题,因为它们可以为你提供与开发人员和面试官交谈的好话题。然而,请记住ThoughtWorks是结对编程,因为它认为这是开发人员所做的最好的方法,所以在讨论利弊时,请确保不要听起来过于挑剔或过于自信——记住他们是专家。

这很好地引出了Rufus的下一个建议:你应该敞开心扉去学习。鲁弗斯说:“在练习过程中,要保持兴趣,提出问题,并真诚地尝试从这次经历中学到一些东西。”“我们寻找的是那些对合作编写优秀代码感兴趣的人。你在谈话中的交流很重要。”

结果是:准备好提问,并积极参与关于结对、代码本身以及与您结对的ThoughtWorks开发人员的工作的对话。如果你天生比较保守,假设你对任务和工作的热情是显而易见的。努力说话,表现出你对任务和人很感兴趣,并且学到了一些东西。

表现出热情和乐于学习是至关重要的,因为这表明你能在一个以结对和团队为中心的环境中工作得多好。更普遍的是,所有的毕业生招聘人员都会用求职者的热情来衡量他们接受工作的可能性——如果他们怀疑你会拒绝,他们就不会费心了。

小贴士:慢慢来

鲁弗斯说:“最重要的是,你要花很多时间思考。”“不要直接介入并试图实施解决方案。”

这不仅仅是关于准确性的问题,而是关于确保你有一个以后可以讨论的策略。作业也可以用“简单的英语”写(而不是使用行业特定的术语),所以要确保你清楚作业的概要是什么(模仿你在工作场景中如何与客户合作)。在以后的面试中,你很可能需要谈论你选择的练习方法。

鲁弗斯说:“它们并不是设计来骗你的特别难的问题。”“它们的关键在于,它们足够简单,你可以创造一个可行的解决方案,但又足够复杂,有很多潜在的方法可以实现它。”对于评估测试的人来说,最有趣的事情是看看你在创建解决方案时关注了什么。”

另一个不急于求成的原因是,这是ThoughtWorks招聘人员在招聘开发人员时所看重的品质。鲁弗斯解释说:“花时间思考不仅适用于招聘测试,也适用于软件开发人员的日常工作。”我们有各种各样的反馈循环,以确保我们创建的代码符合一定的标准。反馈循环可以是像测试驱动开发一样简单的东西,这意味着一旦测试通过,您就知道代码可以工作了。但是为了编写测试,你首先需要考虑测试需要通过的条件是什么,以及你想要达到什么目的。”

这并不是说你需要花很长时间纠结于哪种解决方案是最好的。您需要选择一个满足您给出的标准并在此过程中演示编码最佳实践的代码。鲁弗斯说:“考虑一下你实际被要求做什么,业务问题如何转化为代码,并在此基础上,考虑最简单、最容易扩展的解决方案是什么。”

鲁弗斯的最后一个想法

“如果你认为ThoughtWorks不适合你,或者你没有收到工作邀请,我会把这件事看作是一个机会,可以帮助你了解自己作为一名开发人员的一些情况,或者帮助你提高自己的技术技能。”

下一步:搜索毕业生工作、计划和实习机会

为你挑选的樱桃

为你挑选的樱桃

并直接发送到你的饲料。
现在就告诉我