将代码引入编程工作面试有什么问题?

时间:2009-02-06 07:17:25

标签: portfolio

我对another question的回复感到困惑,因为他们不应将代码组合带到编程工作面试中。

为什么不呢?其他recommend这个;它甚至是Peopleware中的“经典”故事之一:

  

“想到这将是荒谬的   没有先看到就雇用一个变戏法者   他表演。这只是常识。   然而,当你打算雇用一个   工程师或设计师或程序员   或集团经理,规则   常识经常被暂停。您   不要求看设计或程序   什么的事实上,采访是   只是说说。“

那么,是什么给出的?当你出现代码组合时出现什么问题的“战争故事”?或者当你采访一位有候选人的候选人时?

13 个答案:

答案 0 :(得分:12)

这些年来我做了很多采访,但我从来没有要求或已经展示过任何代码。这不是我想要的。首先,我试图确定你是否可以合作一个团队。我也很想知道你是否理解如何应对就业意味着的所有妥协。对于开发者来说,我希望看到你解决问题的方式,以及你在挫折后坚持不懈的努力。

显然,我想要了解你对编程艺术的理解程度。如果你自称某项技能,我会问你一些技术问题。

我永远不想看到你写的代码。我怎么能确定它是你的,没有帮助?在面试时间里,我怎么能给它足够的时间来检查和欣赏更精细的点?我怎么知道你写的时间?

在安静的程序中编写程序与在团队中工作的技巧,在压力下,必须妥协,合作以及决定在何处集中资源方面存在着天壤之别。

答案 1 :(得分:11)

我对此主题的看法是,除非明确要求,否则无需将代码组合带到面试中。正如采访者可能已经计划的那样,它只会作为访谈流程的中断。另外,您可以提供哪些证据证明您的投资组合中的代码确实是您自己的,而不是从互联网上取下或从同事那里拿走?最后,如果您以前的代码中没有一个与新情况实际相关,那么投资组合会有什么用处呢?

此外,许多公司将其员工的代码视为受法律版权保护。毕竟,即使您是自己编写的,也可以分享在以前的公司中创建的软件的内部详细信息。

采访者通常喜欢强调潜在候选人在新公司环境中的适应能力以及他/她对所从事技术的熟悉程度。许多采访者实际上可能会要求您编写一个简短的代码片段来展示您的逻辑思维以及您如何处理一般问题。

答案 2 :(得分:4)

我从来没有接受过我的采访代码,而且我在面试时从未有人带过代码。如果我想看一个代码示例,我会要求候选人在面试前提交,所以我有足够的时间来检查它。如果我亲自递交了一份代码样本,我就没有足够的时间去研究它的实质内容。

如果没有要求,您是否应提供代码示例?我说不,这就是原因:当我问你一个代码示例时,这是一个测试,我试图看看你是否失败。在查看代码示例后,我给出了两个可能的结果:

良好的代码示例:INDETERMINATE(即如果您是HIRE,其他因素将决定100%)

糟糕的代码示例:NO HIRE

所以,既然你知道,如果我没有要求你,你愿意自愿参加那个测试吗?

答案 3 :(得分:2)

我在面试时被要求提供代码。最安全的事情可能会带来一些示例代码/组合,所以至少在提示时你可以显示一些东西。

答案 4 :(得分:2)

请记住,您作为公司员工创建的代码很可能是该公司的财产 - 这是一个非常可靠的理由,当您打算将其放在口袋中的闪存驱动器上时求职面试。

另外,如果我对你的编码方式感兴趣,我会要求你在面试时在我面前这样做,而不是回顾一些罐头的东西。

答案 5 :(得分:1)

在我的求职面试中,没有提到“为我这个代码”。更像是,我们有这个问题,你会如何解决它。 (一般来说,例如设计模式)

答案 6 :(得分:1)

tl;博士:我总是把代码带到面试中。有足够的有趣的问题,你可以快速写出代表性的东西,并把它塞进你的包里。

我的作品集包括我的简历,简历(不同类型的文档),演示文稿中的重要幻灯片(例如从JavaOne下载),代码示例(在我自己的计算机上创建),有趣的设计文档(例如,如果我不得不这样做,我将如何做,运行时图像(从出版网站下载)等。

从来没有永远在您的投资组合中放置任何甚至暗示成为以前的雇主财产或IP的东西。

也就是说,进行公开演示的一个好处是你可以从出版网站下载截图。当然,您必须向出版实体提供适当的信誉,以便进行适当的合理使用。

所有这一切,我采访了那些想在这里工作的人,他们没有携带代码示例。这在很大程度上是经验的一个因素:他们中的许多人都是新毕业生。不过,我对有经验的专业人士的期望值要高得多。我的过滤器也非常厚:我们宁愿过度劳累而不是聘请一个坏人。

答案 7 :(得分:0)

我认为整个概念是优秀的经理人想看看你是否能够思考。我被问到谜语,并要求在面试时解决逻辑难题。我的代码可能是复制粘贴甚至被盗。

只要看到一个人经历的步骤,就会让你很好地了解他们解决问题的逻辑能力。

答案 8 :(得分:0)

如果我喜欢这个人,我会要求代码 。然后我更愿意,如果它可以在公共存储库的互联网上的某个地方使用。但无论如何,当时决定是雇用/不雇用。 预先查看代码是没有用的,因为你永远无法确定它是由处理它的人写的。

答案 9 :(得分:0)

代码样本可能会“哇哇”的采访者只是在寻找流行语和噱头,但是受人尊敬的采访者会寻找解决问题的能力以及即时推理的能力。最有趣的代码对于面试官来说太长了,无法真正解读,也可能会浪费。

也就是说,只要你不强迫它们访问面试官,带来代码样本并不是一件坏事。这只是一个错误的优先次序,放在一些真正不能正常颂扬你的好处的东西上。

答案 10 :(得分:0)

任何非平凡的软件应用程序通常由整个团队制作,乍一看不够简单。在第一次向局外人展示代码时,查看整个解决方案/项目并清楚地区分由他人以外的其他人编写的代码可能并不容易。我怀疑面试官在实际的面试过程中没有时间慢慢地仔细阅读和研究你的代码,并试图理解你以前工作过的应用程序的低级架构和设计。如果您希望获得积分,请准备好进行耗时的演练。

在许多情况下,我们的工作使我们更有可能进入已经开展的项目;维护/增强现有代码和应用程​​序,而不是从头开始编写“漂亮”代码。我的编码贡献通常是分段来重构和修复现有的代码库,这些代码库都是庞大而丑陋的。这样的东西难以展现兴高采烈的骄傲。

另外,正如其他人所提到的那样,打开以前组织的源代码会产生许多不良的法律影响。

当我希望看到受访者的编码风格时,访谈可以包括非会话开发练习。受访者然后将提交练习内容供以后阅读。但在访谈期间,花时间去了解受访者的个性,激情,心理和思维模式,解决问题的技巧等。

答案 11 :(得分:0)

你可以通过代码参加面试来拍摄自己和潜在的雇主。您工作的公司可能拥有您的部分/全部代码,如果他们发现争取赔偿他们的“损失”。

另一方面,如果新工作与旧工作类似,或者与旧公司的公司类似,那就太糟糕了。如果您跳船并且曾经使用过您之前雇主的任何代码,那么以前的雇主可以有一个实地日,即使代码只是被扫视然后收起。

你应该带着面试的唯一代码就是OSS代码,即使这样,代码实际上只是在野外。我曾经有机会在我以前的所有雇主那里写GPL代码(我最好的小内部测试工具),但因为我们从未向任何人发布二进制文件,我们也没有义务发布源代码。在这种情况下,新雇主无权访问该来源,我无法向他们展示:(

答案 12 :(得分:0)

工程师和程序员不必携带代码示例,因为他们已经面临技术面试。如果候选人知道他的东西,他就不会挣扎。没有机会伪造技术答案。候选人要么在此之前做过。没有解释的余地​​。