译者:今天我们为您发布了
文章Priyakty Tatavadkar ,她是一位经验丰富的开发人员,但是她的知识和经验使她得以在Google工作(第二次尝试),成为YouTube开发团队的一员。
谷歌从一开始对我来说就是一个梦想中的公司。 当我成功通过面试后,许多熟人和朋友开始求我分享我的经历。 与他们交谈,我确定了对于大多数人来说最重要的事情,现在我在本文中与大家分享。
Skillbox建议: Python数据分析师应用在线课程。
我们提醒您: 对于所有“ Habr”读者来说,使用“ Habr”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
我必须马上说,在2014年,我已经试图在Google找工作,但因面试而惨败。 几年来,我学习,工作,获得了新的经验和知识,这有助于我获得录取通知书。
动机
在三年半的时间里,我是一家初创程序员,并且还与多家金融科技公司合作。 每一件作品都给了我很多经验,最终使相对容易地进入Google。
我了解一件事:当新的机会迫在眉睫时,我将为即将到来的变化做准备,而不会被次级人员分心。 培训帮助我在Google找了份工作,尽管在我看来,可能性不到1%。 但是我确信在我灵魂深处的某个地方值得尝试。
候选人通常不了解研究您想工作的公司的特征有多重要。 忽略这一点是不值得的。
我们确定面试的准备阶段
我的经验使我可以谈谈准备过程中必要的五件事。 编程,设计,语言技能,以前的项目和履历是最重要的,但不是准备的唯一要素。
程式设计我面试过的所有公司至少引导了我两轮纯算法问题,这些问题为您提供了一个需要解决的问题-有时您必须为此编写代码。
示例:编写代码以在控制台中显示1到10之间的值(当然,我简化了)。
结构形式根据访谈的级别,在创建软件平台草案方面,我承担了不同的任务。 在大多数情况下,他们显示了一个抽象系统,为此必须开发一个结构。
示例:如果您必须从头开始编写一个社交网站,您将如何设计系统?这个面试阶段是分开的,在其他阶段询问有关应用程序设计的问题。
语言能力测试在大多数面试中,通常希望您会了解该语言,这对您的工作最为方便。 在某些情况下,他们会提出基本问题,而在另一些情况下,他们会深入探讨本质。
示例:Java中的继承是什么?以前的项目/摘要这是我有时忘记准备但徒劳的阶段之一。 面试不仅涉及编程和应用程序设计。 这也是试图找出您作为团队成员的能力如何。 您需要告诉您如何与上一个团队的其他成员一起工作。 这里的问题可能非常具体。
示例:向我们介绍您引以为傲的项目。公司资料正如我已经说过的,面试的准备阶段(包括研究有关您所工作的公司的详细信息)通常被申请人忽略。 您可能会被问到有关公司本身(潜在雇主)的直接和间接问题。
示例:为什么要在XYZ中工作?
面试准备
我精心准备了面试,从各种渠道获得信息。 下面列出了其中一些。
乌迪米课程我记得准备工作的开始:我修了三门Udemy课程。 他们用基本的东西帮助了我。 顺便说一句,我没有完成任何一个,但是我完成了每门课程的大部分。 我选择这些课程,是因为我了解视频格式将使您准备的时间比文字格式要快。 最重要的是,当有人解释您自己无法解决的困难地方时。 这些课程有助于回忆如何解决讲座中的练习。
LeetCode高级课程我花了大约70美元购买了这些课程,它们值得每一分钱投入。 他们帮助我练习编程,学习对培训和工作很重要的复杂技术知识。
YouTube视频YouTube是帮助准备过程的朋友。 不仅在学习中,而且还在学习中休息。 当时的想法是寻找视频来帮助我找出未提供给我的东西。 无需学习任何课程,只需观看带有说明的简短视频即可。 我经常看一些视频,在过程中碰到了其他视频,同样有用。
我什至无法想象我会在两个月内开始在YouTube团队中工作! 奇迹确实发生了。
其他资源我还推荐Gayle Laakmann McDowell的资源:
破解编码面试以图表的形式对采访进行分步说明。
系统设计阶段的准备工作:
参加技术课程设计采访,拉蒙·洛佩兹(Ramon Lopez)的播放列表。
在面试前一个月,我开始为编程阶段做大量准备,并通过解决60-70个任务(主要是面试中最常问到的问题)来完成研究。
为期一个月的“程序员”阶段的准备
我已经说过LeetCode课程对我有何帮助。 他们被教给他们编程,帮助他们解决面试中最常遇到的问题,并揭示在与申请人面试中提出的问题的实质。 公平地说,我不会说所有这些问题都是我个人提出的,此外,他们在面试时向我提出的问题根本不在网络上发生。 但是我注意到问题本身的概念与在互联网或课程中所发现的非常相似。 所有这些都与解决问题,模式识别和其他问题有关。
在准备过程中,我每天解决了两个或多个问题。 问题可能会有所不同,他们的解决方案需要半小时到一个小时。 这完全取决于问题的复杂性。 课程级别分为简单,中等,复杂,公司特定。 对我来说,即使是中级任务也很困难。 他们的决定花了一个小时。 我的建议是,如果一个小时后找不到解决方案,请回头看看。
总的来说,我专注于解决轻中型问题。 我认为困难不超过十个。 在困难的地方,YouTube挺身而出,我在那儿寻找解决方案。
我还尝试解决公司特定部分的问题。 在这里,我犯了一个错误,只处理来自Google的任务。 我从他们开始,而不是从“简单”部分的问题和任务开始。 它们非常复杂,我无法应付。 结果,我很沮丧,我的动力下降了,有一段时间我什么也没做。 提示-从简单的问题开始,进入中等难度的任务,然后再进行特定的练习。
一般提示
不要紧张自己。 在准备过程中,我过着充实的生活,在上一家公司工作时保持着同样的效率,并且并不感到太紧张。
每天分配少量时间,但要充分利用分配的时间进行一到两个月的准备。
周末是我们最好的朋友! 充分利用它们。 对于我来说,我花了两天的时间准备,一次过许多课程,解决了一些困难的问题。 这个周末给了我动力,对将来有所帮助。
人力资源部也是您的朋友。 面试之前,不要犹豫,询问面试的形式,值得使用的材料,一般性提示。
从一般培训开始,包括课程,YouTube,阅读文章。 特殊的材料留给甜点。
不要只是编码。 解决其他任务,包括系统设计。 观看专题视频。 享受学习过程。
在面试时,您可以要求一台笔记本电脑。 我在面试中做到了这一点。 只是在董事会上写下决策有点奇怪。 通常,最好在纸/板上显示解决方案的进度,并且实际的实现已在计算机上完成。
在网上寻找主题信息,不时进行。
想想最坏的情况。 我曾想过无法在Google工作的情况。 原则上,在这种情况下,没有什么不好的事情,您可以在上一家公司工作,也可以尝试在其他公司进行面试。 它使我放心,使生活更轻松。
保持冷静并编码 。
Skillbox建议: