Skip to main content

在技​​术面试中取得成功的5种方法 - 缪斯

Sasha Stone Interview with Mary Lou Houllis (可能 2025)

Sasha Stone Interview with Mary Lou Houllis (可能 2025)
Anonim

技术访谈因其谜题而闻名。 无论您是要求在白板上编写二叉树,解释排序算法,还是在10行或更少行中实现FizzBu​​zz,您都应该在平均访谈中准备技术编程问题。

但这不是你应该做的唯一准备。

现实情况是,许多开发人员将能够解决常见的编程面试问题,答案之间几乎没有差异。 那么,是什么让你与下一个候选人不同? 这正是我们将在这五个提示中关注的内容。

1.说出你的推理和解决问题的过程

当被问到一个棘手的问题时,你能做的最糟糕的事情是完全无语。 不幸的是,事故发生这种情况非常容易。 当你遇到需要大量精神能量和注意力的问题时,你的第一个倾向可能就是退回到你的脑海。 虽然这很自然,但对面试官也没有多大帮助。

技术问题的关键部分在于揭示您对解决问题的看法。 你的过程是什么? 你如何分解不同的组件? 你是如何找到解决方案的? 在尝试不起作用的东西时你会如何反应? 你是否更善于尝试代码或在白板上绘制一些东西?

解释在解决问题时头脑中发生了什么。 就好像你正在录制你的声音在线发布,教别人如何解决这个问题。 即使你的面试官给你提供了安静思考的空间,你也可以在没有提示你这样做的情况下解释你的思考过程。 这不仅可以帮助他们更彻底地了解您的技能和批判性思维,还可以让您更加难忘。

2.什么比在技术面试中解决问题更好? 解决它两次

很少有问题只有一个解决方案,所有问题都有无限不正确的解决方案。 因此,如果您只关注一种解决问题的方法,那么您就错过了证明自己的灵活性和技能的重要机会。

而不是简单地使用一个众所周知的解决方案或使用单一语言,打开关于该特定问题的讨论并针对不同的场景解决它。 例如,如果要求您对FizzBu​​zz进行编程,您可能会提供两种语言,或者使用两种不同的范例,或者可能通过对一种解决方案采取一些性能限制,为另一种解决方案和美学约束。

通过验证问题可能有多种解决方案,您可以展示自己的适应性,灵活性和意识,所有这些都将使您的访调员产生信任,使您能够在众多可能性中选择正确的解决方案。

当然,不要过分 - 在回答多个解决方案的问题时,有一种阅读的艺术是过度的或欢迎的。 如有疑问,请不要害怕询问您的面试官是否介意您是否需要花一些时间通过辅助选项扩展您的解决方案。

3.适用时,不要害怕分享您的意见

有时,当您解决问题时,您将做出完全基于您自己的品味和观点的决策。 这没关系 - 雇主对您的意见感兴趣! 您对情境的思考和反应方式对公司的文化产生重大影响。 作为开发人员,拥有意见也是领导力和技术成熟度的标志。 要讨论您的意见,您需要评估特定主题的其他职位。

但请记住,意见可以非常密切地进行。 如果您在某个主题上不同意您的面试官,那么在分享该信息时要轻描淡写。 虽然有一个观点是好的,但同样重要的是要注意共享它并不总是必要的并知道如何选择你的战斗。 一个好的经验法则:除非有人问你,否则不要分享你的意见。

4.永远不要以“我不知道”结束答案

除非你面对“Kobayashi Maru”情景,否则永远不要以“我不知道”来结束面试问题。这不是工作中的选择,因此在面试中不应该是一个选项。

当然,我并不是说你应该知道一切。 这不可能! 但是你应该表明你有一个策略来学习你需要知道什么来完成工作。 尝试回答“我不知道该怎么做,但这就是我将如何解决这个问题。”这个答案应该远远超过“我会谷歌它”。 你最好解释一下你最有可能调查的方向。

最重要的是,不要感到羞耻! 学习主要是弄清楚你不知道的事情的过程。 你的雇主不希望你是完美的,但他们确实希望你勤奋和聪明,永远不会退出问题。

5.永远为球队效力

除非您是自由开发人员,否则您的工作将始终置于团队的背景之下,团队的成功对您自己而言始终是最重要的。 因此,您的面试应该反映出您不仅仅关心在某一天解决您的问题,而是专注于为团队取得成功所做的一切。

那么,你怎么能在面试中传达这个呢?

永远不要讨论问题,就好像他们在真空中一样

几乎任何项目实际上都有资源要求和限制,因此请表明您对问题背景的认识。 一个解决得很好但已经超出预算的问题并不是真正最好的解决方案。

展示您对现有团队的专业知识

有时问题的最佳答案是要求团队中的其他人与您合作,您可以在技术问题中引用这些人:“如果我在团队的背景下提出这个问题,我可能会要求审核我的解决方案也是如此。“这表明您愿意依赖他人的专业知识,并且您的目标是获得最佳解决方案。

明确地传达团队驱动的价值观

这是一个非常重要的问题,你应该出来说出来。 您希望确保您的雇主充分意识到您的目标是帮助公司取得成功,而不仅仅是整天坐在办公桌前。

最终,您作为开发人员的工作不仅仅是代码。 它是一个团队合作者,一个领导者,一个永远不愿意退出问题的人。 技术面试中的机会不仅表明您可以达到目标或编写算法,还可以让自己超越竞争对手并展示您为雇主增加的价值。