如何在Google实习

一周前,我们讨论了我们的教育计划 ,并在评论中指出了实习和实践经验的重要性。 不能不同意这一点,因为必须通过实践来加强理论知识。 在这篇文章中,我们打开了一系列有关学生暑期实习的文章:这些家伙如何到达那里,他们在那里做什么以及为什么这样做很好。


在第一篇文章中,我将向您展示如何成功完成面试的所有阶段以及如何在Google实习。



关于你自己的几句话


我是HSE圣彼得堡校区的硕士课程的一年级学生,我毕业于机器学习学院的学士学位课程。 在大学学习期间,他积极参与体育节目设计,还参加了各种黑客马拉松比赛。 您可以 这里这里阅读有关后者的信息


关于实习


首先,我想谈一谈Google内部实习的面貌。


每个来到Google的学员都与团队紧密相关。 这可能是一个团队开发内部基础结构的过程,而公司外部的人员对此一无所知,或者是一种被全球数百万人使用的产品。 这些产品可能包括臭名昭著的YouTube,Google文档和其他产品。 由于数十个甚至数百个开发人员参与了这些项目的开发,因此您最终将成为一个专注于其中较小部分的团队。 例如,在2018年夏天,我研究了Google文档,添加了用于处理表格的新功能。


由于您是公司的实习生,因此您有一位称为主持人的经理。 这是一个定期的完整计时器,它本身就是在从事产品开发。 如果您不了解,无法解决或遇到任何问题,请与他联系。 通常,每周安排一次一对一的会议,您可以在其中讨论项目工作的当前状况,或讨论完全不相关的事情。 此外,主持人是评估您在实习期间所做工作的人员之一。 另一个将由另一位审阅者进行评估。 当然,他们有兴趣为您解决所有问题。


Google会给您接种疫苗,但不能肯定这是在您做某事之前编写设计文档的好习惯。 对于不知道的人,dzdok是一份文档,列出了现有问题的实质以及解决方案的详细技术说明。 您可以为整个产品或任何一项新功能编写一份Disdoc。 阅读了此类文档后,就可以了解产品的设计目的和实现方式。 同样,在评论中,您经常可以看到工程师之间的对话,讨论了实施项目某些部分的各种方式。 这样可以很好地理解每个决策的原因。


实习的一个特点是您必须使用出色的内部开发工具,其中有很多Google。 与他们合作并与许多以前在亚马逊,Nvidia和其他知名技术公司工作过的人聊天,我可以得出结论,这些工具很有可能成为您一生中遇到的最好的工具。 例如,一个名为Google Code Search的工具不仅使您可以查看整个代码库,每行代码的更改历史记录,而且还可以浏览Intellij Idea等现代开发环境中我们习惯使用的代码。只是一个浏览器! 与该功能相关的一个缺点是,在Google之外,您会错过这些相同的工具。


至于好吃的东西,公司有很酷的办公室,他们吃得很好,提供健身房,良好的保险和其他烤肉。 只需在这里留下纽约办公室的几张照片:






如何获得要约?


复习


现在该讨论更严肃的事情了:如何获得实习?


这与Google无关,而是与一般情况有关。 关于Google实习生甄选过程的功能,我将在下面写下。


采访公司的过程可能看起来像这样:


  1. 申请实习
  2. Hackerrank / TripleByte测验比赛
  3. 筛选面试
  4. 第一次技术面试
  5. 第二次技术面试
  6. 现场采访

申请实习


显然,这一切都源于您渴望获得实习机会。 为此,您必须通过在公司网站上填写表格来表达它。 如果您(或您的朋友)有在那里工作的朋友,那么您可以尝试解决他们。 首选此选项,因为它可以帮助您在众多其他学生中脱颖而出。 如果无法做到这一点,那就养活自己。


当您在邮件中收到“您很酷,但我们选择了其他应聘者”形式的信件时,请尽量不要感到沮丧。 在这里,我为您提供提示:




Hackerrank / TripleByte测验比赛


如果您的招聘人员喜欢您的简历,则在1-2周内您将收到一封包含以下任务的信函。 最有可能的情况是,您将被要求参加在Hackerrank举行的竞赛中,您将需要在指定时间内解决算法问题,或在TripleByte测验中,您将需要回答有关算法,软件开发和低级系统设计的各种问题。 该阶段用作选择过程中的初始过滤器。


筛选面试


如果测试成功,那么将等待您进行甄别面试,在面试中,您将与招聘人员讨论您的兴趣以及公司向实习生提供的项目。 如果您有兴趣,并且您以前的经验可以满足公司的期望,那么您将获得绿灯。 以我的经验,这是整个过程中最不可预测的地方,这在很大程度上取决于招聘人员。


如果您在这三个测试中都成功了,那么机会的主要份额已经落后了。 然后,有一些技术面试更加依赖您,这意味着您可以更多地影响他们的结果。 这很好!


技术面试


接下来是通常通过Skype或环聊进行的技术面试。 但是有时候,有更多的特殊服务需要安装其他软件。 因此,请确保一切都可以在您的计算机上正常工作。


技术面试的格式高度取决于您所面试的职位。 如果我们正在谈论Software Engineering Intern的职位,那么很可能会为您提供一些算法问题,需要在某些在线代码编辑器(例如coderpad.io)中对这些问题的解决方案进行编码。 他们可能还会询问有关面向对象设计的问题,以了解您在软件设计方面的能力如何。 例如,可能要求他们设计一个简单的在线商店。 没错,我从来没有遇到过这样的任务,通过解决这个问题,确实可以判断出这项技能。 面试结束时,您肯定会有机会提出问题。 我强烈建议您认真对待这一点,因为由于存在问题,您可以表现出对项目的兴趣,表现出您对该主题的能力。 我通常会事先准备一个潜在问题清单:


  • 项目工作如何安排?
  • 您最近要解决什么困难的任务?
  • 开发人员对最终产品的贡献是什么?
  • 您为什么决定去这家公司工作?

将来您将不会总是受到与您一起工作的人的采访。 因此,最新的问题可以使您对整个公司的发展情况有所了解。 例如,对我来说,影响最终产品非常重要。


如果您成功完成了第一次面试,将获得第二次面试。 从头开始,它将由面试官和相应的任务加以区分。 格式可能保持不变。 通过第二次面试后,他们可以提供第三次面试。


现场采访


如果到目前为止您还没有被拒绝,那么当应聘者被邀请到公司办公室进行面试时,将等待您进行现场面试。 它通常包括几次技术面试和一次行为。 在行为面试中,您与经理讨论您的项目,在不同情况下做出的决定等。 也就是说,面试官试图更好地了解您的性格,并更详细地了解您的经历。 一些公司进行3-4次技术面试,而不是进行现场面试,而是仅远程进行一种行为。


现在只剩下等待招聘者的回应。 如果一切顺利,那么一封期待已久的报价信肯定会寄给您。 如果没有报价,不要气disc。 公司系统地拒绝优秀候选人。 明年尝试再次申请实习。


面试编码


所以,嘿...我们还没有进行任何采访。 我们只是了解了整个过程的样子,现在我们必须为面试做好准备,以免错过愉快愉快地度过夏季的机会。


我已经提到了诸如CodeforcesTopcoderHackerrank之类的资源。 在这些站点上,您可以找到大量算法问题,并将其解决方案发送给自动验证。 一切都很好,但更像是对麻雀开枪。 这些资源上的许多任务被设计用于较长的解决时间,需要高级算法和数据结构的知识,而面试中的任务通常并不那么复杂,并且被设计为5至20分钟。 因此,在我们的案例中,像LeetCode这样的资源(它是作为准备技术面试的工具而创建的)更为合​​适。 如果您解决100-200个复杂程度不同的问题,那么在面试过程中您很有可能不会遇到问题。 在体面的任务中,还有Facebook Code Lab ,您可以在其中选择会话的持续时间,例如60分钟,系统将为您选择一组任务,平均需要大约一个小时才能解决。


建议更多阅读“ 破解编码面试” 。 我本人有选择地只阅读其中的某些部分。 但值得注意的是,我在学校期间解决了很多算法问题。 谁没有这样的经验,至少值得翻阅这本书。


另外,如果您一生中几乎没有与外国公司进行过技术面试,建议您进行几次试用。 但是越多越好。 这将使您在面试时更加自信,而又不那么紧张。 可以在Pramp安排审判面试。


行为面试


正如我已经提到的,在行为面试中,面试官会尝试更多地了解您的经历并了解您的性格。 如果您是一名出色的开发人员,但无法团队合作怎么办? 恐怕很多人都不满意。 例如,您可能会被问到以下问题:“您的弱点是什么?” 除此类问题外,您还将被要求谈论您扮演关键角色的项目,必须解决的问题及其解决方案。 值得注意的是,在技术采访的第一分钟,您可能还会被问到这一点。 如何准备这样的面试,在“破解编码面试”一章中写得很好。


谷歌


现在,很清楚一般情况下的实习生甄选过程是什么样的,以及如何准备面试,现在是时候讨论一下Google实习生的工作原理了。


可在此处找到可用的实习列表。 如果您打算在暑期实习,那么您应该在9月开始申请。


求职面试


在这里,该过程看起来有点不寻常。 您将进行一次筛选面试和两个技术面试。 如果您对它们表现出色,那么您将进入项目搜索阶段。 您将需要填写一份相当长的调查表,在其中说明您当前的所有技能,并表达对项目主题和实习地点的偏爱。


认真认真地填写此表格非常重要! 在项目中寻找人选的潜在主持人,研究可用的实习生,并安排与他们喜欢的候选人的对话。 他们可以按地点,关键字,问卷中的对勾标记对学生进行过滤,按面试点对学生进行排序。


在谈话中,面试官谈论要进行的项目,并了解候选人的经历。 有一个很好的机会来了解工作流程的实际情况,因为您正在与将要担任主持人的人进行沟通。 面试后,您会给招聘者写一封信,说明您对该项目的印象。 如果您喜欢该项目,而面试官喜欢您,那么一个报价正在等待您。 否则,您会期望随后的通话,可能是2-3-4件,也许没有更多了。 有必要澄清的是,即使您通过了面试,但在项目搜索阶段却没有一个团队选择您(或者甚至没有人与您交谈),然后,您会被拒绝。


美国还是欧洲?


除其他事项外,您将需要确定实习地点。 我在美国和EMEA之间选择。 在这里重要的是要了解一些功能。 例如,有种感觉,进入美国更加困难。 首先,您必须再进行一次持续90分钟的竞赛,以解决算法问题,另外还要进行15分钟的调查,以揭示您的性格。 其次,根据我的经验和我的朋友的经验,您不太可能对团队搜索阶段感兴趣。 例如,在2017年,我只进行了一次对话,此后团队选择了另一位候选人,而我没有收到要约。 而送往欧洲的家伙有4-5个项目。 在2018年,他们在一月份为我找到了一支团队,这已经很晚了。 他们在纽约工作,我喜欢他们的项目,我同意了。


如您所见,美国的情况有些复杂。 但是我想比欧洲更多。 另外在美国,他们支付的费用更高。



之后该怎么办?


在实习结束时,您有两个选择:


  • 获得明年的实习机会。
  • 进行两次技术面试以获得全职职位。

如果您已成功完成当前项目,则可以使用这两个选项。 如果这不是您的第一次实习,那么他们甚至可以为您提供全职职位而无需面试。


因此,出现以下情况,可以在一张图片中进行描述:



由于这是我的第一次实习,所以我决定接受两次技术面试以获取全职职位。 根据他们的结果,他们同意给我一个报价,并开始寻找一个团队,但是我拒绝了这个选择,因为我决定完成我的硕士课程。 Google不太可能在2-3年内消失。


结论


朋友们,我希望我已经很清楚地谈论了从学生到受训者(然后再回到……)的道路,并且该材料将找到读者并对其有用。 如您所见,这并不像看起来那样困难,您只需要抛弃自己的懒惰,恐惧并开始尝试!


PS我的购物车中还有一条小运河 ,您可以在那儿看。

Source: https://habr.com/ru/post/zh-CN432912/


All Articles