如何进行技术面试

您现在已经可以接受工程师的技术面试了! 技术面试的形式和形式多种多样,因此准备工作相对困难。 在本文中,我想介绍三种主要的采访方式,以及一些一般性建议。

  1. 白板—算法—体系结构
  2. 过去的项目
  3. 配对编程
  4. 产品思维
  5. 一般建议

根据我在技术招聘方面的经验,这是大多数人最努力的地方,原因如下

  1. 人们在细节上过于困惑,因此实际上并没有在白板上画任何东西。 如果您可以通过蛮力方法在白板上创建MVP,则可以讨论如何改进它-考虑到必须进行的权衡
  2. 没有提出正确的问题(如果有的话)-如果您不确定某件事,请提出! 提出问题没有错–这就是团队在工作环境中的运作方式。 此外,请澄清问题-您不想画出错误的解决方案

没有正确的答案-我们想了解您在团队环境中的工作方式,压力和整体思考过程。

很好地了解您过去的项目将显示您的知识深度和对该项目的总体贡献

  1. 了解项目的目的-项目的完成将解决什么样的问题
  2. 能够绘制项目的整体体系结构-解释为什么要完成x,y,z的决策。
  3. 了解您对项目的个人贡献以及所做工作的总体含义

配对很难。 让某人监视您的代码会给情况增加很多压力。 但是,许多公司都在配对环境中工作-这意味着您需要对此感到满意。

  1. 再次-澄清您要解决的问题。 与带回家评估类似,构建东西很酷,但是请确保构建正确的东西
  2. 在编码时讨论您的过程。 告诉我们您在做什么,为什么在做什么以及您期望的结果是什么-这有助于我们了解将来我们将如何与您合作
  3. 编写一个为您提供MVP的解决方案。 之后,开始优化代码。 获得有效的解决方案真是太棒了-我们知道您可以在此阶段满足要求。 如果您知道如何从那里优化代码,那就更好了!
  4. 问问题。 如果您不确定如何做某事,面试官会在这里为您提供帮助。
  5. 大多数面试还使您能够了解Stack Overflow,文档等信息,而不必觉得您有绝对的知识面

这次采访有点不同。 我们想了解您的构建方法。

  1. 截止日期与质量–更重要的是,需要权衡取舍。 我们可以负担得起吗
  2. 您怎么知道自己构筑了正确的东西?
  3. 如何确定技术堆栈-您如何知道这是对的

这些问题没有真正正确的答案,请指导我们进行决策的方式!

  1. 大声思考! 您会在所阅读的任何指南中听到这条建议,但是它并没有使它失去任何价值。 说出解决问题时的一切,这可以使面试官了解如何解决问题,但更重要的是,可以帮助他们指导您解决问题!
  2. 最好是传达自己在做的事情并获得90%的解决方案,而不是通过不传达自己在做的事情而使100%的解决方案出错。
  3. 我们通常可以找到在技术上足以胜任该职位的人。 但是,很难找到对自己的工作充满热情的人。 如果您想成功,请向我们展示您对工艺的热情,重要的是他们的工作和使命
  4. 向我们提问。 与我们面试一样,这是您面试我们的机会。 尽可能多地了解与XYZ公司合作的感觉,如何衡量成功,如何赋予员工权力,我将为哪些团队工作等。这表明您对面试的公司真正感兴趣,并有助于塑造您对加入的看法。

电子白板

斯坦福算法入门

极客换极客:算法基础

如何在白板上整理您的想法并粉碎技术面试

配对

HackerRank —与技术无关的平台,您可以在遇到单词问题时立即练习编码

CodeWars –与HackerRank类似–技术不可知的平台,在遇到单词问题时您可以在现场练习编码

一般建议

如何通过技术面试

我刚刚在Facebook获得开发人员职位。 这是我准备面试的方式

Pinterest工程技术面试指南