5个最常见的技术面试错误

在过去的一年半中,我提供了50多个电话屏幕,并且许多失败的采访中都有类似的模式。 作为在电话另一端一直紧张的人,我想我会写下一些人们未能回答问题的最常见原因,以及如何纠正它们。

(1)假设问题有花哨的银弹。

当您面试软件公司的通才职位时,他们的电话屏幕几乎不可能要求您知道Bloom过滤器是什么(尽管它们很酷)以及如何使用。 但是,考生始终不停地废弃尚未完全优化的OK解决方案,并开始涉足疯狂的切线。 就像在实际的编程工作中一样,保存复杂且专用的数据结构,以确保其用法明确。 有一个原因为什么我们在70多年后仍在使用数组(和合并排序)。

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

(2)忽略面试官的提示和建议。

这可以通过几种方式体现出来。 最令人发指的是,当面试官提出一个相当明确的提示时,例如“如果我们使用堆栈而不是树,该怎么办?”,而该建议要么被忽略,要么被人为抛弃。 作为一名面试官,我正在努力为您提供帮助! 在任何情况下,人们都不会故意误导您。 当面试官提出明确建议时,他们要么试图指导您走正确的道路,要么试图让您证明您当前的解决方案是最佳的(在这种情况下,您可能已经知道您当前的解决方案是一个好的解决方案) 。 无论他们在做什么,仅忽略提示都无济于事。

有时,考生会接受提示,花一些时间尝试将其应用到他们的解决方案中,然后将其抛在一边,然后返回到以前不起作用的地方(或转移到新事物上)。 如果有人提出您的建议,但您认为它没有用,那您应该有一个明确的解释,说明为什么替代解决方案比向您建议的解决方案更好。 请记住,我们正在努力帮助您找到正确的解决方案,并且我们提供了答案键,因此我们的建议可能会有所帮助(并不是说人们有时不会提出并非如此的出色解决方案在答案键中)。

解决方法:认真考虑面试官的任何意见。

(3)将方钉推入圆孔。

这与上面的问题联系在一起,但是候选人经常会提早选择解决方案,并针对存在的每个问题进行改进。 如果您的答案不适合解决该问题,那么解决方案的基础很可能是缺陷,而不是墙纸。 不要害怕报废您当前的解决方案(特别是如果您可以说出它为什么不好的话)并选择一个新的解决方案。 正确的答案通常也是快速的答案,因此不必担心这方面的时间限制。

解决方法:不要害怕报废解决方案并尝试一些新的东西。

(4)立即深入细节。

这个人不会立即使候选人下沉,但会从两个方面伤害他们。 首先,一旦他们详细描述了解决方案,他们就会投入资金,并且不想更改它,从而导致问题(3)。 不过,更大的问题是,访问员需要更多时间才能确定这是错误的解决方案。 面试官通常会引导您从错误的解决方案转向正确的解决方案,因此,他们对您的解决方案了解得越快,他们就能使您走上正确的轨道。 由于采访时间有限,因此30分钟内给出错误的解决方案比5分钟内给出错误的解决方案要好。 并且,如果您提供的解决方案正确或接近,面试官总是可以提示您提供更多详细信息。

解决方法:迅速改错或改正,然后从那里进行迭代。

(5)始终保持沉默。

我将此归咎于大学“如何通过技术面试”研讨会和在线建议专栏的不良建议。 让面试官知道您的想法很重要,但漫无目的是不好的。 以相同的方式,当出现问题时,我们没人坐在电脑旁立即开始编码,在遇到面试问题时,不要立即开始讲话。 只需说“让我思考一秒钟”之类的话就可以了,它可以让您30秒钟或一分钟的时间集中精力。 由于(4)中讨论的原因, 不要花太长时间,但沉默1分钟再回答正确要比2分钟的谈话好得多,但没有好的答案。 简短的沉默也可以使候选人集思广益,然后给出连贯的答案,这绝对比混乱的答案更好。

如何解决:仍然可以传达您的想法,但不要害怕先整理它们。

我面试的大多数应聘者显然都具有足够的知识来解决我们的问题,但是紧张或不熟悉面试中如何表达自己的想法会导致他们表现不佳。 我认为,通过将本文中的技巧与对CS基础知识的深入了解相结合,您可以通过绝大多数技术电话屏幕。

如果您对在优先考虑实用技能和批判性思维的公司工作感兴趣,请查看 Everlaw的工作页面 并给我发送电子邮件。