Do's and Don't's!技术面试通关锦囊


全文共3340字,预计学习时长7分钟面试

图片来源:pexels.com/@freeimages9算法

技术面试,不只是测试面试者在计算事件发生几率时如何理解数据结构和算法。此类面试的目的是,了解你在先前的项目中承担了多少责任,沟通能力如何,经过衡量过往经从来判断你可否独立进行明智的决策。这也是为什么一些像亚马逊这样的公司会有14项领导原则。他们不想仅仅雇佣一个数据科学家或软件工程师。编程

对许多初出茅庐,面试时只知道回答技术问题的面试者来讲,此文的做用看上去可能并不明显。然而,在面试之旅中,本文将提供一些小建议来帮助你对可能出现的问题有所准备。微信

科技面试必作攻略数据结构

准备好数字数据结构和算法

图片来源:Mika Baumeister 发布于Unsplashide

我记得第一次面试FAANG公司的经历。oop

在第一轮技术面试后,一个技术项目经理开始面试我。他开始询问个人经历和过去作过的项目。刚开始个人表现还不算太坏。而后,他们始询问我在目前的职位上有什么影响。学习

在我回答后,他问了一个在这以前我从未想过的问题:测试

“这个项目节省了多少时间?”

我历来没想过这个问题。在职业生涯的那个阶段,我基本上照着别人说的作事,也历来没有职位影响和节省时间这样的大局观。我还只是一个年轻的开发人员,只考虑怎么编程、怎么知足所支持的人员的需求。瞬间,这些都被抛诸脑后。

接下来的对话也是这样的模式。我回答的每个问题都会被来回研究,从而衡量除了编程之外我还有什么技能。他们想要的人才要拥有领导力和独立思考的能力。但说实话,我在目前的工做中并无花什么时间作这些事。

在此建议,必定要准备好数字。像亚马逊这样的公司都是由指标驱动的。他们但愿开发人员和工程师不只仅是作开发。因此要作好准备。去面试前,必定要准备好一两件以上关于过往经历的细节并说对它的影响。

想一想你过去的项目,即便公司没有直接计算影响和/或估计它节省了多少时间,花点时间本身估计一下。

准备好一些度量的标准,代表你有大局观,对任务有领导力。这样才能够脱颖而出,帮你更好理解如何在FAANG公司工做。

考虑清楚问题再开始

——我准备好面试了吗?

——问题是,面试准备好面对我了吗?

图片来源:http://grownupsurvivalguide.com/2016/09/24/10-tips-for-rocking-an-interview/

大多数人前几回的白板面试都很艰难。你可能会彻底愣住,由于在开始写东西前你就已经想要获得一个完美的答案。又或许你只顾着写,没有和面试官交流你的计划。

大部分人都想当即开始解答问题,但这样可能会早早走向歧途,一道题解了15分钟还晕头转向找不到答案。

因此,开始前花几分钟将答案告诉面试官。概述答题时你会采用什么方法、算法和数据结构。这样不只会帮你答题,还能让面试官了解你的思考过程。

即便你的答案并不完美,面试官有时也会更喜欢你的回答。沟通是很是重要的。可以讲清楚本身的答题流程可以展示你传达解决方案的能力。

此外,若是面试官很是厉害的话,他们一般还会引导你得出答案。这并非说他们会直接告诉你结果,而是指他们可能会问一些问题来让你想到可能会遗漏的状况,避免掉入陷阱。

说实话,我记忆中最好的面试之一根本不像是一场面试,感受就像是两个工程师在合力解决一个问题。固然,有的面试官只是冷漠旁观,并不会帮你。

准备好要问的问题

这个建议可能有点老套了,可是若是面试者对工做没有任何问题会有点使人不快。然而使人神伤的是,在找第一份工做时,你可能并不在意工做自己,只在意能不能经过。因此问出有价值的问题很是困难。

这并非说,你不用准备一些问题来表现你对这份工做的兴趣。

不建议问一些宏观的、公司层面的问题,由于谷歌一下就知道了。你应该试着问面试官关于他们工做的问题。好比:

1. 您最近遇到的最大的技术挑战是什么?

2. 您在这里有良好的成长机遇吗?

3. 您会如何形容这里的技术文化?

诸如此类

这些问题会表现你对工做层面的兴趣,还能帮你和面试官有更多交流和联系。

现现在我比较成熟了,我会问这些问题。由于我知道工做并不仅和薪水相关。我须要一些有挑战性的问题和对公司有影响力的项目。

固然,研究最新的科技很是有趣。但新的科技永远在出现。比起所使用的技术堆栈,我更关心项目的影响力。

找朋友或在学校练习

此文读者或许有些仍是大学生,有些不是。对学生来讲,学校或许会提供练习面试的服务。若是是的话,最好去报名参加。社会人士则能够找朋友练习。

这些服务一般会有导师和员工,他们常常会提供面试练习,对面试的流程很是了解。因此你有机会在这里有最接近面试的体验。

若是没有这样的服务,那么但愿有也是学计算机科学的,或者已经任职于科技公司的朋友来帮你。若是你不只能在电脑上解决问题,还能在白板上自如讲解问题,那面试也会更顺利。

面试者可能会设想,本身既然擅长编程,确定也会在面试中表现良好。然而,这些技能并不互通。

因此必定要勤加练习!

技面试勿触雷区

图片来源:Icons8 team 发布于 Unsplash

不要失利一轮就倒下

终于被邀请参加当场面试后,一般还有几轮在等着你。内容可能涉及数据结构、系统设计、行为分析等等其余这些大公司想到的磨人的东西。

关键是,成功或失败都有不少可能的因素。

你可能会一整轮都被一个问题困住。

也可能根本想不通他们引用的是什么面向对象的设计。

技术领域很是广,因此面面俱到很难。你会常常碰到没有准备好的问题。

关键是不要让一轮的失败影响到你接下来的面试。即便心里知道那局已经死定了,也要保持积极的心态。

这样作有不少缘由。

第一,若是你在其余的面试中表现良好,公司会可能会在几个月内再次面试你,也有可能会让你面试不一样的岗位。保持积极心态很难,但带来的改变是未知的。

第二,失败只是场练习。是,咱们都但愿面试中没有技术面试,但它们确实存在。因此练习得越多,你对下场面试的准备就会越充分。

即便一轮失败,也要保持积极。

不要觉得本身知道问题的类型

最近一篇关于数据科学采访的文章讨论了不一样的公司和团队如何在寻找数据科学家时寻找不一样的特色。软件工程师也是如此。

你永远不知道面试时会问什么类型的问题,因此最好问问招聘人员。大多数FAANG公司会提供一些学习材料,但若是你立刻要面试,却没有从招聘人员那里获得任何提示,就最好问一问。

一些公司很是注重数据结构和算法,另外一些公司则把它与面向对象和系统设计问题混在一块儿。你确定不想作一名只处理决策树的数据科学家,获得的问题都有关反转链表或遍历树。

这样又尴尬又让人诅丧。说实话,这样会浪费全部人的时间。若是公司并无准备这类问题……那应该要怪他们。可是仍是应该问一问!

尽可能得到全部可能的面试优点。

不要太执着于某个解决方案

一些人可能会有个坏习惯:过分专一于解决方案。在你讨论一个问题时,面试官可能会在中途试着提示你走向正确的方向。

然而,在思考问题时,人们常常会走老路,即便明显是错的。

要接受提示。若是花了15分钟尚未任何进展,歇一下,肯定本身的方向是对的。

若是花了好久尚未找到正确解决方案,并且还有三四个问题没有回答,那么花一两分钟来确保本身方向正确。这样很难,可是不要沉溺于错误的方案。

不要说技术堆栈坏话

你可能喜欢Hadoop、Go或其余特定的语言或基础设施,也可能有其余讨厌的语言。

但你没必要让别人知道。这会给人精英主义的印象,仿佛你的语言是最好的,其余人都还在石器时代编程。

团队和公司使用的语言多种多样。若是你说某种技术堆栈的坏话,你可能说的就是这个公司的。

因此,若是你有本身喜欢的语言,能够大胆提出来。但总的来讲,消极的语言不太好。

不要让一次糟糕面试毁了其余机会

这点听上去和以前那点很像,但这点更重要。不要让一次糟糕的面试定义你。不少人都会面试不少,失败不少。

收到下面这种话总会让人感受很差:

“抱歉,你不够好。”

这种感受糟透了。

可是,不要让一两个糟糕的面试战胜你。有的人在同一家公司不断面试,最后获得了工做。让一场面试定义你的全部确定是错的。

在Reddit上发布软件面试指南时,评论确实存在一些负面情绪。可是,全部要面试的人,请不要放弃。

留言 点赞 关注

咱们一块儿分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一块儿讨论最新鲜的人工智能科技哦~)

相关文章
相关标签/搜索