vlambda博客
学习文章列表

读书笔记《the-complete-coding-interview-guide-in-java》第二章大公司的面试是什么样的

Chapter 2: What Interviews at Big Companies Look Like

大公司的面试是相对较长的过程,技术问题和编码挑战的复杂性逐渐增加(这样的面试过程可能需要一个月甚至更长时间)。大多数公司在提供报价之前更喜欢一个或多个技术电话屏幕、现场技术挑战和面对面面试。通常,这些面试之一将是非技术性的(称为午餐面试)。

让我们大致了解几家领先的 IT 公司是如何进行面试的。一般来说,所有这些公司都在寻找聪明、热情和优秀的程序员。

我们将讨论如何在以下公司进行面试:

  • 谷歌
  • 亚马逊
  • 微软
  • Facebook
  • 分频器

让我们开始吧!

Interviews at Google

Google 面试开始 以技术电话屏幕(技术问题和编码挑战)开始。这些技术电话屏幕将有 4-5 人参与。其中一个电话屏幕将是非技术性的。这个时候,随便问什么都行。

在这些面试阶段,您的分析能力、编码、经验和沟通技巧都会被打分。

面试官将他们的反馈提交给招聘委员会(HC)。 HC 负责提出要约或拒绝您。如果 HC 认为您是这份工作的合适人选,那么他们会将报价提案转发给其他委员会。最终决定由执行管理委员会作出。

主要 技术重点是分析算法、大脑戏弄算法、系统设计和可扩展性。

最有可能的是,您需要等待数周才能得到回复。

建议在 YouTube 上搜索 interview at Google 并观看最相关的推荐和路线图视频。此外,搜索 Google 最常见的面试问题

Interviews at Amazon

亚马逊采访从亚马逊团队进行的技术电话屏幕开始。如果一些面试官在这个电话屏幕后不相信,那么他们可能会要求另一个来澄清问题。

如果您通过了技术电话 屏幕,那么您将被邀请参加几次面对面的面试。来自不同业务领域的面试官团队将单独进行面试并评估您的技术技能(包括编码)。其中之一也被称为 bar raiser 家伙。通常,这个人是最有经验的,他的问题和编码挑战会更难。他们还将根据其他候选人对您进行评估,并决定是否提出要约。

主要关注面向对象编程(OOP)和可扩展性.

如果一周后您没有收到任何反馈,那么您应该向亚马逊联系人发送一封友好的后续电子邮件。最有可能的是,他们会很快回复您的电子邮件并解释您面试的当前状态。

建议在 YouTube 上搜索 interview at Amazon 并观看最相关的推荐和路线图视频。另外,搜索亚马逊最常见的面试问题

Interviews at Microsoft

Microsoft 面试 从几个技术电话屏幕开始,或者他们可能会要求您前往他们的工作分支机构之一。您将与 不同的团队进行 4-5 次技术面试。

最终决定权属于招聘经理。通常,只有在您通过了所有技术面试阶段后,才会联系该招聘经理。

主要关注算法和数据结构。

如果一周后您没有收到任何反馈,那么您应该向 Microsoft 联系人发送一封友好的后续电子邮件。有时,他们只需要一天的时间就可以做出决定,但可能需要一周、一个月甚至更长的时间。

建议 在 YouTube 上搜索 interview at Microsoft 并观看最相关的推荐和路线图视频。此外,搜索 Microsoft 最常见的面试问题

Interviews at Facebook

Facebook 采访 从几个技术和非技术电话屏幕开始,涉及问题(技术和非技术)和编码挑战。通常,面试由软件工程师和招聘经理组成的团队进行。

Facebook 使用三种类型的采访,涵盖以下领域:

  • 你适应 Facebook 文化的能力,以及一些技术技能——被称为 行为Jedi 面试
  • 您的编码和算法技能(这些是我们稍后将介绍的常见问题,从 第 6 章开始, 面向对象编程)——被称为Ninja面试
  • 你的设计和架构技能——被称为 Pirate 面试

您可以期待这些类型的采访的组合。通常,一个绝地和两个忍者就足够了。对于经验要求较高的职位,也会有海盗面试。

如果您通过这些技术电话屏幕,那么您将收到一些作业,包括技术问题和编码挑战。这一次,您必须提供优雅而干净的编码解决方案。

主要关注您的 能力,以用任何语言快速构建一些东西。您可以使用 PHP、Java、C++、Python、Erlang 等编码。

面试官团队将决定是否雇用您。

建议在 YouTube 上搜索 interview at Facebook 并观看最相关的推荐和路线图视频。此外,搜索 Facebook 最常见的面试问题

Interviews at Crossover

Crossover 是一家远程公司。他们通过自己的平台进行远程招聘,并拥有 独家现场面试流程。他们的现场采访遵循以下路线图:

读书笔记《the-complete-coding-interview-guide-in-java》第二章大公司的面试是什么样的

图 2.1 – 交叉面试路线图

所有步骤都很重要,这意味着您在每一步的响应都必须通过他们的内部剧本。如果一个步骤没有通过他们的内部剧本,那么它可能导致面试突然结束。但是,最重要的步骤是步骤 3、5、6 和 7。步骤 3 代表一个消除Criteria Cognitive Aptitude Test (CCAT)。例如,您必须在 15 分钟内回答 50 个问题。您必须正确回答 25 个以上的问题,才有机会进入下一步。如果您对 CCAT 测试不熟悉,那么强烈建议您练习(有专门针对 CCAT 测试的书籍和网站)。如果没有认真的练习,通过它将非常具有挑战性。如果您不是以英语为母语的人,那么您必须特别注意练习需要认真英语技能的问题。

在第 5 步,您将收到一个包含技术问题的测验。有 30 多个问题,有 5 个答案变体(一个或多个答案是正确的)。这一步不需要编码。

如果您达到第 6 步,那么您将收到应在 3 小时内完成并提交(上传)到平台的技术作业。该作业可以包含一个或多个 Java 应用程序,从通过下载提供的存根应用程序开始。

在第 7 步,您最终将通过电话屏幕遇到一个人。这通常是技术和非技术问题的混合。

技术问题将涵盖广泛的 Java 主题(集合、并发、I/O、异常等)。

通常,您会在不到一周的时间内通过电子邮件收到最终回复。根据职位的不同,该优惠将从 1 个月的付费新兵训练营经验开始。请注意,在新兵训练营之后,您仍然可能被拒绝或要求再次申请。在新兵训练营期间和之后,你必须通过衡量你表现的每周指标来保持你的位置。您必须每周工作 40 小时,每 10 分钟使用一次网络摄像头屏幕截图。而且,您 负责安排自己缴纳税款。工资是固定的并在他们的网站上公开。

建议仔细阅读其网站上的职位描述和推荐信。他们还有品牌大使,您可以联系他们以了解有关公司文化、期望、面试流程等的更多信息。

其他远程公司遵循三步面试流程。例如,Upstack 遵循以下模式:

  1. 初次采访:非技术性电话屏幕
  2. 技术面试:包含编码挑战的技术电话屏幕
  3. 报价:向您发送报价并签署协议

当然,还有很多其他的大公司没有在这里列出。但根据经验,这里概述的公司及其流程应该会给你一些重要的见解,让你了解你应该从 IT 行业的大玩家那里得到什么。

Summary

在本章中,我们概述了几家领先的 IT 公司是如何进行面试的。大多数 IT 公司都遵循本章介绍的相同做法,但有自己不同的组合和风格。

接下来,让我们看看最常见的非技术问题是什么,以及如何回答它们。