Reddit 如何面试工程师?


在 Reddit,我们理解面试可能非常令人头疼,因此我们做了这份指南来帮你顺利通过面试。你不会不学习就去参加期末考试,对吧?同样,我们也不希望你不准备就来参加面试。请把这篇文章作为通过面试的学习指南。

到目前为止,你大概已经与我们招聘团队的成员通过电话了,完成了初步的电话面试。那么恭喜你能继续下一步的面试!接下来要面对你的第一个技术面试了——这一次是与我们的工程师进行的电话面试。

电话技术面试

这部分面试更偏向于一般的能力倾向测试,旨在了解你对网络及其安全漏洞相关基本概念的技能。这部分面试基本上一半是问答形式的题目,一半是编程训练。你可能不知道所有问题的答案,这是可以接受的。重要的是,我们可以了解你的能力范围,并据此决定你的专长能否满足我们团队的需求。

在回答这些问题时,一定要解释你是如何得到这个答案的,以及为什么采用这种方法。

提示:打开你的笔记本并准备好面试。确保你接上了网线或者连上了可靠的 WIFI,并仔细检查你准备接电话的地方手机信号是否够强。

现场面试

如果你走到了这一步,那已经快成功啦。现场面试会分成三个技术面试和三个问答形式的面试。总之,面试应该会持续 5 个小时左右,所以来之前请休息好。

面试环境

你参加面试的房间里有一块白板,在技术面试中需要用到它。来参加面试时还要带上你的笔记本电脑,或者告诉我们你更希望我们提供一个笔记本电脑给你。你的技术面试要么是通过白板,要么是通过笔记本上的 coderpad(面试官会在你们见面时分享给你)。

考虑到我们工作的性质,我们办公室的氛围比较休闲(当然是合理范围内!)。我们没有着装标准,建议你怎么舒服怎么穿。

技术面试

技术面试占你和我们在一起的大部分时间,总共大概是 3 个小时(每个技术面试占一个小时)。正是因为想看看你的实际编程水平,我们才要求你带笔记本来面试。尽管面试主要是看你的技术水平,但是面试官还要评估其他重要的因素,比如工作风格和团队配合。

  • 编程/算法。在现场面试中你要完成两个编程面试,一个针对一般软件工程概念,另一个则更深入到你擅长的领域(无论是前端、后端还是机器学习等等)。对于一般的编程面试,我们鼓励你使用最习惯的语言来解决。在这部分会遇到的问题通常都可以利用递归和迭代技巧,用多种不同的方法来解决。
  • 系统设计。与其他技术面试不同,这部分面试不是以编程为主的,但是你很可能会用到白板。你应该准备好碰到这种问题:“怎样构建一个这样的服务?”以及“如何扩大上述服务?”。此外,你还应该对互联网工作原理有扎实的理解。

应当牢记的几点

别忽视面试的语言交流方面。

技术面试不是为了看你能否得出正确答案,而是为了检验你能够多好地与他人合作。把面试官当成一个帮助你解决问题的人,就像你的队友一样。我们明白一个人不可能完成所有事情,因此特意招募了不同背景和有不同技能的人来建立我们的团队。我们更想知道你有哪些领域的技能,而不是想找到完美的工程师。如果你忘了这篇指南里的其他内容,把下面这三点牢记于心就能让你在技术面试中遥遥领先:

  • 倾听并认真考虑面试官的建议。他们很可能已经问过上百遍同样的问题,并见识了不同的解决方法。他们的工作就是帮你找到最好的方法。
  • 把你的思考过程说出来,并能够解释你所用方法的优缺点。比起你能否想出解决方法,我们更在意你是怎样想出这个解决方法的。
  • 在你没想好解决方法之前,别急着写代码。正如我们的一个工程师曾经告诉我的那样,在没有考虑木头的尺寸和如何把每个零件拼在一起之前是不会开始建工作台的;同样,在你开始写代码之前你也应该知道要怎样解决问题。

问答面试(Q&A Interviews)

在 Reddit,我们给予人们自主权来让他们能做自己。尽管技术面试可能需要集中精神,但是问答面试要轻松得多。问答面试的面试官通常不在你申请的团队中,主要是为了让我们在技术能力层面之外更好地了解你。

  • 申请者 AMAAsk Me Anything)。这项面试是为了从个人的角度了解你,因为大部分面试更关注你在电脑上能做什么。这说明,应对这项面试最好的方法是准备好谈谈你自己。这是你要面对的所有面试中最随意的,但是它有希望让你更深入地了解我们如何工作,反之亦然。

提示:准备好,会有关我们企业文化、方针和办公室的日常生活的问题。你的动力和我们公司的价值观应该有相似之处。

  • 跨部门面试。从名字大概就能看出来,这项面试是为了让你初步了解怎样与其他团队合作。除非你负责基础设施,否则你就要和我们的产品团队密切合作,所以我们需要确保你能很好地连接其他技能,而这些技能与你自己所掌握的技能不同;这就意味着你能够流畅地交流并有效解决冲突。在这项面试中,你会见到我们的产品经理之一,因此此时是询问 Reddit 如何运作以及今年的产品路线图(product roadmap)等相关问题的理想时机。

提示:准备一些专业轶事来帮助你突出人际交往能力。提前想好你准备怎么讲故事,从而在面试中传达某些行为属性。

  • 团队负责人面试。这项面试非常可能是一天中最后一项面试(耶!)。你未来的团队负责人会从高水平上审查你的工作,深入探究你完成过的具体项目,以便确定你能怎样融入团队。这是个很好的机会,可以问问在你未来要做的项目上还不清楚的问题,组织结构的问题,以及下半年团队的规划。

接下来呢?

你顺利完成了现场面试,好样的!我们知道这不容易。既然你已经完成了最难的部分,那么你可以准备好在面试后一周内接到招聘官的消息。还有问题吗?不要犹豫,联系我们吧!你在每一步都能得到我们的支持。

你可能感兴趣的:(Reddit 如何面试工程师?)