你在技术面试中常犯的 5 个错误以及如何避免它们
1. 你什么都不问
2. 首先寻找最优化的解决方案
3. 你在头脑中解决问题
4. 你对某些技术的经验并不诚实
5. 你宁愿胡扯地解决问题,也不愿承认自己不知道答案
技术面试是任何工程师职业生涯中最令人紧张的经历。你常常因为太担心给面试官留下好印象而忘记放松自己,做真实的自己。
所以今天让我们深入探讨一下您在面试中可能犯的五个错误以及如何避免它们!
1. 你什么都不问
您是否经常遇到这种情况:
你坐在面试官对面的椅子上。他们要求你解决一道算法编码问题。你完全不知道从哪里开始。
遗憾的是,这种情况并不少见;我们都遇到过这种情况。但你可能犯的最大错误就是不问任何问题。
如果您没有彻底了解问题,或者您不确定是否存在特殊的限制...请询问!
大多数面试官都支持你;他们希望你成功!通过询问问题,你不仅表明你正在思考问题的方方面面,而且还给了面试官一个帮助你的机会。如果你问的问题恰当,面试官通常会给你一些提示或指导。
我们来看另一个场景:
你的面试结束了。你觉得面试进行得很棒!面试官会问你还有什么问题要问。你回答“没有”,然后高高兴兴地离开了。
千万不要在面试结束前就问面试官一个问题。我通常每次面试都会准备一到三个问题。
如果你在面试时没有提出任何问题就离开,这就向面试官发出了一个信号:你要么对这个职位没有投入,要么你太有信心以至于觉得没有必要做任何研究。
公司希望看到你花时间研究他们(即使你只花了五分钟谷歌搜索)。
您可能想问以下一些问题:
- 我看到贵公司最近收购了 X;这将如何影响 Y?
- 工作与生活的平衡如何?
- 您提供哪些机会来提升您的技能和教育?例如书籍、会议津贴、在线教育平台的使用权。
- 您的一天通常是怎样的?
- 您为什么选择在该公司工作?
- 在这里工作您最喜欢的事情是什么?
2. 首先寻找最优化的解决方案
许多候选人都认为,他们必须为算法编码问题提供最优化、性能最高的解决方案。虽然这确实没错,但在一定程度上,它不一定是你的第一个解决方案。
从强力解决方案开始,然后逐步找到优化解决方案是完全可以的。
让我们举个例子。
假设您被要求返回数组中字母对的数量。
既然您不知道从哪里开始,那就让我们继续创建一个强力解决方案。
这个例子在做什么?
- 我们创建了一个名为alphabetDictionary的对象,它保存了字母表中的每个字母,以及一个初始化为0的数字,该数字表示我们在数组中遇到这个字母的次数。
- 接下来,我们遍历数组的长度,并为每个字母增加alphabetDictionary中的值。
- 第三步是遍历alphabetDictionary,查看每个字母出现的次数。如果该字母出现的次数为偶数,则将其除以二(以获得正确的对数),并将其结果添加到numPairs变量中。如果该字母出现的次数超过两次,但次数不是偶数,则从总数中减去一次(使其变为偶数),然后除以二(以获得对数),并将其结果添加到numPairs变量中。
- 然后,只需返回 numPairs。
这非常冗长,但确实有效!让我们看看能否找到更优雅的解决方案。
由于我们不关心哪些字母是成对出现的,我们可以将alphabetDictionary初始化为一个空对象。这样,只有在找到字母时,我们才会添加一个值。
值得注意的是,这两种算法的运行时间完全相同 O(n),但是我们可以使第二个代码片段更加优雅。
您可以使用增强蛮力方法的技术来得出最优化的编码解决方案。
3. 你在头脑中解决问题
当你为一个编码示例推导解决方案时,务必详细阐述你的思考过程。面试官不可能读懂你的想法;你必须自己去表达你的想法。
即使你不确定解决方案,也要把你知道的所有事情都讲一遍。你还缺少什么?
通过讨论这些要点,您更有可能找到可行的解决方案,并且面试官也会了解您如何解决问题。
面试官更关心你解决问题的能力,而不是你是否能得到 100% 正确的解决方案。
4. 你对某些技术的经验并不诚实
许多求职者在阅读求职申请时,要求了解特定技术或语言,然后就会强调自己的技术经验。
永远不要列出你无法回答技术面试问题的技术、框架或语言。
如果面试官问你“你用过 React 吗?”而你说“是的”,那么你最好能够回答有关该库的问题。
没有什么比列出你所掌握的基础知识的技术熟练程度更能让你自食其果了。
相反,你可以说“我参加过一些 React 入门课程,但没有在任何专业环境中使用过它。这是我真正想学习的东西。”
这表明你愿意学习新技能,同时也对自己现有的技能保持理性。面试官会欣赏你的自我认知。
5. 你宁愿胡扯地解决问题,也不愿承认自己不知道答案
如果你不知道理论问题的答案,就不要胡乱回答。尊重面试官最快的方法之一就是尊重他们的时间。如果你不知道答案,承认这一点也没关系。
我不会假装知道答案,而是喜欢这样回答:“说实话,我不确定,但如果我必须做出有根据的猜测,我会说......”这会让面试官觉得你值得信赖而且诚实。
诚实永远是上策。
技术面试不必害怕。只要你做好准备,全力以赴,你就能成功。逐一回答每个问题,不要不知所措。记住,深呼吸,把问题分解成可控的小块,这样你就能顺利获得开发者的工作了!
文章来源:https://dev.to/emmabostian/5-mistakes-youre-making-in-your-technical-interviews--how-to-avoid-them-465e