
去年,我花了最后几个月准备在Google实习的一次面试(Google Internship)。 一切顺利:我得到了一份工作,也获得了丰富的经验。
现在,实习两个月之后,我想分享我用来准备面试的文件。 对我而言,这就像是考试前的备忘单。 但是创建文档和对其进行持续分步验证的过程帮助我记住了所有最重要的内容。
我敢肯定,任何人都可以成功通过大型科技公司的面试,这需要一些时间来了解这些面试的工作方式并为它们做准备。
我的备忘单足以让您准备进行任何技术面试,无论是Google,初创企业还是您的首次实习。 她将帮助您在准备过程以及面试过程中更加自信。
我们建议初学者免费学习编程:
Java基础仅需3天 -8月8日至10日;
我们正在编写第一个机器学习模型 -8月12日至14日;
Python Messenger开发 -8月15日至17日
技术面试备忘单
网站普拉姆在此资源上,您可以练习采访。 参与者轮流进行面试(有音频和视频频道),并且可以使用通用的代码编辑器。 最有可能的是,在第一次这样的面试中,这对您来说很困难,并且您会感到尴尬。 但是,训练越多,您越自信地接受这些培训,之后进行一次真正的采访似乎很容易。
协同设计来自Facebook,Google,Microsoft等的真实采访中的好问题。 我建议将此站点与编码实践资源一起使用,包括算法复杂性研究。
书本破解编码面试
我最喜欢的部分是“面试准备网格”(第32页),有关面试行为的部分以及“面试问题:数据结构”(第88-107页)。 如果您以前没有遇到过“算法复杂性”一词,那么现在是时候了,这本书完美地介绍了该主题。
面试时该怎么办?
- 不要断开沟通并诚实地回答。 思考问题时,请大声思考,描述您的想法。
- 为您的谈话增添些幽默,别怕开玩笑。 尝试享受交流。
- 记录重要信息。
- 提出问题,并尝试利用从面试官那里学到的东西。
逐步面试这是准备面试答案的清单。 不必使用所有要点;请跳过您认为不必要的要点。 最主要的是要依靠常识。 即使您还没有到达列表的最后,也不会发生任何可怕的事情。
- 阅读问题。
- 排序所有数据,包括输入和输出,并注意副作用。
- 明确作业的本质并表达您的假设,以便面试官理解您的想法。 例如,数据量将是多少,谁将成为用户。
- 寻找一个示例并将其传达给面试官,以确保您正确理解任务。 不要害怕花时间研究问题的状况。 您越了解它,您就会越快找到最佳解决方案。
- 开发算法。 尝试解决类似但不太困难的问题。 写下想法,分析草稿中的例子。
- 仔细阅读算法示例,以确保代码正确运行。 检查所有严重和临界情况。
- 在时间和内存上估计算法的复杂性。
- 如果您能够提出更有效的解决方案,请返回到步骤4。
- 使用所选算法编写解决方案。 将问题分解为几种方法(如果适用于特定情况)。
- 检查代码是否有错误。
- 考虑一下算法的实现如何处理临界情况和边界情况。
- 使用示例检查实现,查看错误代码。
- 验证代码正确运行后,请检查其清洁度和样式。
仅此而已!