许多技术人员都希望能有机会进入Google工作。这家搜索引擎巨头除了提供丰厚的薪酬和福利还提供给大家一些可以参与真正开创性项目的机会,包括移动应用程序开发以及量子计算。
然而,实际上在谷歌找工作是说起来容易做起来难的事情。尽管这家公司很久以前就放弃了臭名昭著的脑筋谜题来区分其面试流程,但它仍然让许多求职者参加多轮面试。面试的重点不仅评估你的技术知识,还评估你与潜在团队成员和经理的合作能力。
谷歌的面试过程通常从电话面试开始,在此过程中,你可能需要在一个共享的谷歌文档中编写代码,以便面试官能够当场查看。面试还可能涉及其他类型的问题解决和行为问题。通常情况下,面试官通常会先进行现场面试,会问一些问题来评估你的以下四个方面能力:
- 领导能力
- 解决问题的能力(称为“认知能力”)
- 与职位相关的知识
- “Googleyness”(换句话说,你是否符合企业文化)
对于软件工程的候选人,面试的重点是你如何思考复杂的问题,包括数据结构;你必须为你的解决方案和想法辩护,同时证明你具备申请中列出的所有技能。谷歌有一个视频对这个过程进行了进一步的分解。
在视频中,一位招聘人员谈到了用白板来测试应聘者的编程技能,不过谷歌自己的职业常见问题解答(career FAQ)显示,在很大程度上,白板已经被换成了用笔记本电脑编程,这让人很困惑。如果你在谷歌申请一份工作,为了安全起见,让自己熟悉在白板和笔记本电脑上快速写出代码可能会有好处。
和其他公司的面试一样,技术人员应该确保他们的答案是正确的。他们能够以一种展示他们所学到的知识的方式讲述他们以前的经历和挑战,并且能够解释他们是如何得出特定解决方案的。
任何对谷歌感兴趣的软件工程师可能都会对公司招聘的编程语言感到好奇。幸运的是,我们有Burning Glass。它可以收集和分析来自全国各地的数百万个招聘信息,也让我们了解了在过去90天里谷歌对候选人的要求。以下是分类:
Python排在榜首,这并不奇怪。长期以来,它一直是一种非常流行的“通用”编程语言,它越来越多地被用于数据科学等专业环境中。如果你是Python新手(或者你只是需要复习一下),请查看Python.org,它提供了大量的文档,包括有用的初学者编程指南。微软也有一个视频系列,“Python初学者”,其中有几十个简短的视频,涵盖了从“Hello world”Calling API的所有内容。
Java也有各种在线学习资源,包括Codeacademy,以及大量的文档。谷歌的面试可能还会关注你使用Kotlin的能力,它不仅被定位为Android开发的“一流”语言,而且是Java的升级版(一个有趣的变化是,Kotlin没有进入Burning Glass列表)。
同样值得注意的是,Objective-C相对强大的存在:这种较旧的语言被用来在苹果的生态系统中构建和维护应用程序,包括macOS和iOS。谷歌需要精通这门语言的技术人员,这表明它要么在维护大量的遗留代码,要么对苹果的新开发语言Swift内部兴趣不大。
无论你使用何种语言或从事何种职位,显然谷歌要求你了解自己的业务。在申请所有公司的工作时,请牢记这一点。
作者:Nick Kolakowski