如何准备编码面试(译文)
By S.F.
本文链接 https://www.kyfws.com/news/how-to-prepare-for-the-coding-interview/
版权声明 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
- 7 分钟阅读 - 3159 个词 阅读量 0如何准备编码面试(译文)
原文地址:https://www.codeproject.com/Articles/5279385/How-to-Prepare-for-the-Coding-Interview
原文作者:Sergey Morenko
译文由本站翻译
前言
指南:如何准备编码面试 本文讨论了在编码面试中可以期望得到的东西,如何准备以及在实践中如何做得很好.面试有很多细节和准备工作.在这里,我们将研究如何为大型技术采访做好准备.
介绍
本文将比Code Project的常规文章少一些技术性.我想与您分享如何准备编码面试.编码面试确实取决于国家,公司,软件工程师的级别等.有很多细节,每个准备工作都是特定的.在本文中,我们将研究如何为Big Tech采访做准备.
期待什么
每个Big Tech公司(微软,谷歌,亚马逊,Facebook,苹果)的采访都差不多.第一个采访是电话筛选采访,之后您将进行现场采访.电话采访大约需要一个小时.将会有一个简单的编码问题;您将必须在共享屏幕上在线编码.筛选面试的目的是查看您的总体水平,并确定您是否值得进行现场面试.是的,他们知道您会担心的,那没关系.大家都担心.筛选面试比现场面试要容易得多,但您也必须做好准备.筛选采访的准备工作与现场采访的准备工作大不相同.在本文中,我们将重点介绍如何准备现场采访.
现场采访
假设您通过了电话采访,现在您对现场采访感到兴奋和恐惧.现场采访通常需要4到5个小时左右.将有:
编码面试
每次编码面试大约需要45分钟.在这段时间内,您必须解决问题.解决问题是什么意思?您必须在白板上编写工作代码并回答问题.最常见的问题是时间复杂度.您将没有自己喜欢的IDE,因此您可以忘记IntelliSense.您将只有一支笔和一块板.要通过此采访阶段,您需要知道如何解决此类问题.如果您不知道如何解决这些问题,那么您将没有足够的时间来找出最佳解决方案.你需要练习很多.但是,这不仅是编码面试.您必须证明自己可以听,提问和进行讨论.我们以团队合作的方式开展工作,重要的是要证明您是团队合作者.是的,解决问题的技能非常重要,但是团队合作同样重要,甚至比这更重要.
午餐
这是一次技术面试的休息.记住,午餐也是面试的一部分.唯一的区别是它不如技术部分重要.它仍然很重要,但是比编码问题要轻一些.这部分的目的是看到您的另一面.为什么是这家公司?你对什么感兴趣呢?你怎么说,你问什么.例如,如果您开始问政治问题,而不是问有关公司的问题,那将是一个危险信号.无论如何,这是午餐,别忘了. :)
建筑采访
在这次采访中,他们想知道您的想法,找到答案,如何提出问题,背景是什么以及如何保持对话.这是展示经验的绝佳时机,但不要忘记解决问题本身,也不要忘记时间.
编码面试的准备
开始准备之前,您需要做的一件事.与自己达成共识,这并非易事,这需要时间和耐心.现在我们可以开始了. :)让我们看一下关于优化问题的准备工作,实际上它是. :)您的时间有限,学习的主题很多,而且您的目标还很有限.问题是如何有效地花费时间来实现目标.准备工作是非常主观的:它实际上取决于人员和您已经拥有的知识.例如,如果您不知道O(n)是什么,那么您将比一个已经知道它是什么以及如何计算它的人花费更多的时间.总会有一些私人的东西,只有您知道不知道的东西.本文是有关如何准备的一般算法,您需要自己进行调整.好的,如果您仍在阅读,则一定要通过面试. 开始学习之前,您需要做以下事情:
创建有效的学习计划需要公司名称;笔记本–用于写下解决方案.您还记得,面试过程中只有白板.每个公司都有自己的问题偏好.有些人喜欢动态编程,有些人喜欢二进制树,等等.这并不意味着您只需要学习一个主题,没有,一点也不学习.我们是软件工程师.而且我们知道如何计算概率.如果公司比其他主题更喜欢二叉树,则意味着您需要首先学习二叉树,这将增加通过面试的可能性.您需要知道的另一项关键是.面试将近一个月.换句话说,您需要花费至少一个月的时间进行准备.筛选访谈总是比现场采访简单.您可以先解决"简单"的问题.在现场采访中,将出现中等或困难的问题. 以下是增加通过概率的步骤:
- 大O
- 非常
- 忘记曲线 在这一点上,您知道您不知道的内容,继续解决最弱的主题上的问题.别担心,这只是一次采访. :) 好的,现在我们有了一个计划,剩下的就是找出在哪里练习以及如何按公司筛选.
在哪里练习
有几个在线平台,但只有一些更合适.还记得效率和时间限制吗?这是清单:
- LeetCode
- 黑客排名
- 编码标准
- ProjectEuler 它不是完整列表,但是适合我们的目标,即使该列表包含的平台比其他平台有用.当我们一一介绍它们时,您会看到它.您可能已经拥有了自己喜欢的平台,只是不要忘记自己的目标.可以在不同情况下使用汤匙,但最有效的方法是吃汤. :) 这是我的标准:
- 简单
- 中
- 硬
LeetCode
LeetCode是一个编程学习平台.让我们看看幕后花絮及其如何满足我们的需求.
可以按公司名称进行过滤:是的,可以按公司名称进行过滤,但这是一项付费功能. 不同的困难:“简单”,“中等”,“困难”.使用此功能,一切都很好.难度分为三个级别:简单,中等和困难. 能够专注于一个主题(又称按主题过滤问题):此功能也很好. 问题描述:请记住,一个编码会话大约需要45分钟.这个问题应该易于理解和记住.它不应该太大(没有公式等).让我们来看一个例子.
该描述非常简单,简短,并包含一些示例. 简介:Leetcode是一个很好的平台,可用于编写编程访谈.有一个缺点:并非所有问题都可以访问,并且按公司过滤是一项付费功能.
黑客排名
HackerRank是另一个学习平台.
可以按公司名称过滤的功能:否,此平台不具有此功能. 不同的困难:“简单”,“中等”,“困难”:是的,此功能存在. 专注于一个主题的能力(又称按主题过滤问题):此功能一切都很好. 问题描述:是和否:)面试过程中可能会问一些问题,有些则不能.让我们来看一个例子.
不错的描述,但您几乎不会在面试中看到它,它甚至不是完整的版本. 简介:一个不错的资源,可以提高解决问题的能力,但不是一个准备进行编码面试的好资源.该资源有其自己的重点,并且编写采访编码的主要目的不是.
编码标准
CodeStandard-在线编程学习平台
可以按公司名称进行过滤:是的,可以按公司名称进行过滤,此功能是免费的. 不同的困难:“简单”,“中等”,“困难”.使用此功能,一切都很好. 专注于一个主题的能力(也可以按主题过滤问题):很好,也可以按主题过滤 问题描述:很好.让我们来看一个例子.
描述非常接近您在编码面试中得到的内容 简介:CodeStandard是编写编码面试的绝佳起点,而且完全免费.我只看到一个缺点:它没有Leetcode那样多的问题.
ProjectEuler
ProjectEuler是旨在用计算机程序解决的一系列计算问题的来源.
可以按公司名称过滤的功能:不,此网站没有此功能. 不同的困难:“简单”,“中等”,“困难”.不,该网站没有此功能. 能够专注于一个主题(又称按主题过滤问题):不,该站点没有此功能. 问题描述:很好的描述,但比起编写编码面试,它更适合解决问题的一般技能.
概要
我希望本文能帮助您从不同的角度看待编码采访.关键是:创建一个准备计划,记住您的目标和练习,再练习一些. 而且,请不要忘记您将在团队中工作,您也需要具有社交技能. :)
历史
- 日
许可
本文以及所有相关的源代码和文件均已获得The Code Project Open License (CPOL)的许可。
Dev Beginner Intermediate Advanced All-Topics 新闻 翻译