程序员在面试中犯的5个最常见的错误

Reddit用户帖子翻译

在过去的一年中,我进行了50多次电话采访,看着人们一遍又一遍地犯同样的错误。 您可以在Internet上找到很多有关通过面试有用的技巧的建议,但是我还没有看到描述帮助人们成功的策略的文章。 我认为大多数参加面试的候选人都有必要的技能,但是他们只是紧张而不能有效地运用这些技能。 为了明确背景,我们公司是一家有100名员工的创业公司,大约50%的人参加了第二轮面试。

1)假设有一些非常好的解决方案


当您雇用某人成为软件公司的多面手时,您不太可能需要了解Bloom筛选器 (尽管这很酷)和如何在电话采访中使用它。 但是,求职者不断淘汰令人满意的,不是理想的优化解决方案,并开始寻找与众不同的东西。 就像在编程中一样,在这里有必要为毫无疑问地保留复杂而专门的数据结构。 我们使用数组(和合并排序)已有70多年了,这是有原因的。

如何解决:将标准算法和数据结构用作构建块。

2)忽略面试官的提示和技巧


该错误可能以不同的方式表现出来。 显而易见的选择是,当面试官做出非常透明的提示时,例如“如果我们拿一堆而不是一棵树呢?”,而该提示被忽略或拒绝。 作为面试官,我会尽力帮助您! 在这种情况下,在任何情况下他们都不会试图欺骗您。 当面试官提出明确的要约时,他会尝试引导您走上正确的道路,或者使您证明当前的解决方案是最佳的(在这种情况下,您可能已经知道您的解决方案是好的)。 不管他做什么,忽略提示都无济于事。

有时,应聘者会接受一个提示,尝试一段时间以解决问题,然后丢弃它,然后返回到较早不起作用的地方(或移至其他地方)。 如果有人给您一个提示,但您觉得它不起作用,那没关系-但是您应该清楚地说明为什么替代解决方案比建议的解决方案更好。 请记住,我们正在尝试帮助您做出正确的决定,并且我们得到了答案,因此我们的决定可能会很有用(但是,有时人们会提出我们无法提供的出色解决方案)。

解决方法:仔细考虑面试官给您的东西。

3)将方钉塞入圆孔


该错误与上一个错误重叠,但是,求职者常常很早就遇到解决方案,然后对其进行改进以解决任何问题。 如果您觉得答案不太适合任务,则很可能是您解决方案的核心问题。 不要害怕扔掉当前的解决方案(特别是如果您可以说出它的不利方面)并选择一个新的解决方案。 正确的答案通常会很快,因此不必担心时间限制。

解决方法:不要害怕扔掉当前的解决方案并选择一个新的解决方案。

4)埋得太快


这个错误不会立即淹死候选人,但是会以两种方式给他们带来麻烦。 首先,在详细描述了解决方案之后,他们开始依附于此并且不想放弃它,这导致了问题(3)。 更糟糕的是,访问员需要更多的时间来了解该决定是错误的。 面试官通常会引导您远离错误的决定,并引导您做出正确的决定,因此,他们越早了解您的决定,他们就会越快地将您定向到您需要的地方。 由于采访时间有限,因此最好在30秒内做出错误决定,而不是5分钟内做出错误决定。 如果决定是正确的或接近正确的,面试官将始终能够向您询问详细信息。

解决方法:快速给出正确或错误的答案,然后从那里转移。

5)不要填补沉默


在这个错误中,我指责大学研讨会的建议“如何获得技术职位的面试”和在线出版物中的文章。 将您的想法带给面试官很重要,但请不要喃喃自语。 我们谁都不会立即坐在计算机旁,也不会在收到任务后立即开始编写代码-因此,我们可以在收到问题后立即停止讲话。 很可能会说“让我想一分钟”,然后集中注意力30秒钟或一分钟。 出于第(4)款中的原因,请不要延迟,但是沉默一分钟后的正确回答比没有好的回答的2分钟的交谈要好得多。 简短的沉默可以使候选人收集思想并给出连贯的答案,这比漫无目的的答案要好得多。

如何解决:报告您的想法,但不要害怕在此之前将它们整理好。

Source: https://habr.com/ru/post/zh-CN433808/


All Articles