谷歌、亚马逊、Facebook 和微软。如果您是一名充满激情的程序员,并且可能了解这些公司的福利、薪酬和声望,那么进入这些以产品为基础的公司可能是您梦想中的工作。如果您遵循正确的方法,在这些基于产品的公司中获得软件工程师的工作就像轻而易举至少尝试申请这些公司的工作。您需要通过两个步骤才能进入这些公司。
接到面试电话
我们知道,对于大多数学生或专业人士来说,这对他们来说是艰难的一步。你有技能,你知道这些公司正在寻找的一切,但你没有接到这些公司的面试电话。因此,让我们讨论如何从这些公司获得电话。您可能来自任何顶级工程学院、一些私立工程学院或工作专业人士。
- 我们需要在这里明确指出,这些基于产品的大公司大多从IIT 或 NIT等顶级大学招聘应届生,他们会到这些顶级大学进行校园招聘,或者他们更愿意雇用有经验的人。原因是这些公司有一定的预算,在这个预算内,他们应该填补空缺。如果他们访问任何大学,该预算还包括旅行费用,招聘费用和其他费用。所以他们更喜欢去那些可以找到一些优秀学生的大学。在普通的工程学院中,大多数时候他们过滤每个人,没有找到任何合适的候选人。因此,如果您来自这些顶尖大学,那么您很幸运,并且在第一步中不会遇到任何问题。
- 如果我们谈论一些私立工程学院的学生,那么我们需要说您可能需要努力工作并付出额外的努力才能接到这些公司的电话,但不要失望,如果您遵循一些提示和正确的方法,那么你可以接到面试电话。
- 如果您已经有软件开发经验,那么您可以直接向这些公司申请,或者从在这些公司工作的员工那里获得一些推荐。
提示:
- 你的简历是第一件事,在接到面试电话方面起着至关重要的作用。它应该简短而准确,所以尽量在一页内总结所有内容,因为招聘人员只花 10-15 秒浏览一份简历,所以请确保你在简历中写的每一行(尤其是顶部)都应该回答一个问题招聘人员“我们为什么要雇用这个人? “。下面是帮助您制作一份好的简历或作品集的链接,其中清楚地提到您应该在简历中包含哪些内容以及不应该包含哪些内容。简历建设——资源和技巧
- 开始使用领英。尽可能多地在那里建立联系。接近招聘人员或尝试从在这些公司工作的员工那里获得推荐,因为如果你得到一些推荐,面试电话的机会就会更高。使您的 LinkedIn 个人资料和连接太好。有时招聘人员会从那里筛选出合适的候选人名单。
- 如果您没有任何经验,那么首先要培养您的编程技能。您可以参加一些 Hackathons 或在一些好的网站上进行一些编码挑战。您可以参与或练习编码技能的一些网站是 GeeksforGeeks、HackerRank、CodeChef、CareerCup、LeetCode、InterviewBit、HackerEarth 等。在您的简历中也提及您的编码资料。
- 如果你没有经验,可以做一些副项目(它向招聘人员表明你对编程充满热情)或贡献一些开源项目,以在你的简历中展示它。您的项目可以是安卓应用程序、iOS 应用程序、视频游戏或网络应用程序等。
- 在大学期间申请一些实习并获得在该行业工作的实践经验,请在简历中提及这一点。有时你的实习会变成一份全职工作,大多数公司更愿意先雇佣实习生来测试他们的技能,而不是雇佣一个全职的新候选人。
- 你能做的最好的事情之一就是找到一位长期从事某些项目的导师,并请他们指导你。您和您的导师可以一起准备一个提案并将其发送到 GSoC(谷歌代码之夏)。如果 GSoC 批准它并且您成功完成您的项目,您可以从那里获得证书,这非常有价值并证明您是一名优秀的程序员。您可以在您的投资组合或简历中展示这一点。如果您拥有 GSoC 证书,Google 也会挑选这些候选人。您还可以从 Google Summer of Code Preparation 中查看 GSoC 准备。
- 您的 GATE 分数还可以帮助您接到这些基于产品的公司的电话,因此如果您的 GATE 分数很高,请在简历中提及它,因为它表明您对核心计算机科学学科有很好的掌握。
破解面试
一旦您入围面试,所有这些公司都有一种类似的面试流程,您可能需要经过 5-6 轮面试。现在的问题是他们会在这 5-6 轮中问你什么?您需要关注的地方,或者您可以找到资源为这些轮次做准备的地方。我们将详细讨论这一点。以下是入围后的面试流程……
- 能力与逻辑推理:本轮针对通过校园招聘申请的学生进行,主要是为了筛选人群并挑选候选人进行另一轮解决问题和编码。这一轮基于 MCQ,您不需要花太多时间准备能力或逻辑推理,如政府或竞争性考试准备。花几周时间在这部分上获得本轮的入围名单。你需要专注于基础数学,你可以借助GeeksforGeeks或在互联网上找到一些资源来解决一些基本的数学问题或能力和逻辑推理。
- 技术回合: “你会编码吗?”是的..这是本轮面试官的主要关注点,对于大多数候选人来说,这可能是可怕的一轮。当您入围这些公司的面试名单时,您可能需要先进行电话面试或在线编码面试,否则他们可以直接打电话给您进行面对面面试。现在你真的需要专注于你的数据结构和算法部分,因为他们会要求解决一些编码问题,而这一轮是为了检查你的问题解决和编码能力。您需要为他们将提供给您的问题编写代码,他们还将检查您提出的问题的最佳解决方案。您应该知道何时应用哪种数据结构或算法以及解决方案的时间和空间复杂度。面对面面试可以是纸笔面试或白板面试。从我们在上一步中提到的链接中练习编码。
一旦你完成了你的编码回合,你将进入下一轮,在这里你需要准备与你在工作或实习期间完成的项目或任何类型的副项目相关的所有答案。您应该了解您的项目,例如您最喜欢哪个项目、您的贡献、您提供的解决方案对网站的任何重大影响以及与您的项目相关的其他事项
这些公司还在一轮编码之后进行系统设计,在那里你将被要求设计一个系统,如 Twitter、信使、社交媒体,你需要告诉他们你的完整方法。您可以从此链接获得帮助,面试系统设计介绍。以下是受聘于产品型公司的候选人撰写的面试经历链接。
- 谷歌面试经历
- 微软面试经历
- 亚马逊面试经历
- Facebook 面试经历
- 公司面试经历
- HR 轮:这是这些公司的最后一轮,他们将检查候选人的文化契合度。处理压力,与同事的协调,大学生活,短期或长期目标,为什么要加入组织这样的问题。你只需要记住,你不要在这里说任何消极的话,这样他们就会发现你适合他们的组织文化。
提示:
- 每当面试官给出问题时,首先清除所有疑问并提出相关问题。
- 如果需要,请简要讨论蛮力方法。一旦你完成并且面试官被说服了,就为此编写程序。如果您不知道问题的完整解决方案,一些面试官也会在编码时尝试帮助您。他们可以给你一些提示,通常会引导你找到正确的解决方案,所以即使你不知道完整的答案,也要继续与他们沟通。如果您的方法正确,您可能会被选中。
- 当你为面试官给你的问题编码时,他们总是期待更好的解决方案,如果他们要求你提供另一个优化的解决方案,那么你需要告诉他们不同的方法。如果他们期待递归解决方案,请告诉他们那个。如果他们试图更改您问题中的一些内容,例如输入数量或更改数组的顺序,请告诉他们该问题的解决方案。他们会检查您解决问题的方法以及您对某个问题的看法。通常,他们这样做是为了检查您是否可以为您以前没有遇到过的问题提供解决方案。
- 在适用的情况下,使用数学、排序、搜索、遍历、递归、位操作、动态规划等。
- 在编写代码之前,请考虑所有测试用例并编写可重用、松散耦合、小且只做一件事的函数。使您的程序简单而简短。避免不必要的变量或许多嵌套的 if/else 情况。
- 2-3人一组,做一些模拟面试。尝试在白板上或使用笔和纸练习您的代码。查看链接 SDE 模拟面试以获得模拟面试的帮助。
- 编程语言只是编写代码的工具,大多数学生和人们都存在这种误解,认为这些公司偏爱新技术或任何流行的语言,这是完全错误的。
- 在这一轮中更加口头和解释。不要做任何事情或解决你大脑中的问题。与面试官沟通并告诉他们你解决问题的过程,在面试时也要友善和礼貌,不要假装,微笑,眼神交流以显示你的自信,永远不要在面试中表现出你的自负。
- Cracking the Coding Interviews是为这些以产品为基础的公司做好准备的最佳书籍,因此请尝试完成这本书。
- 面试时要和蔼可亲,不要假装,微笑,适当沟通,眼神交流以显示你的自信,永远不要在面试中表现出你的自负。
重要链接:
- 必须做好面试准备
- 破解技术面试
- 破解任何编码面试的练习
- 谷歌编程模拟面试