Java 大公司的面试是什么样的详解

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

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

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

让我们开始吧!

谷歌面试从开始,屏幕上显示技术电话(技术问题和编码挑战)。将有 4-5 人参与这些技术电话屏幕。其中一个电话屏幕将是非技术性的。此时此刻,你可以随意问任何你想问的问题。

在这些面试阶段,你的分析能力、编码、经验和沟通技巧都会得到评分。

面试官将他们的反馈提交给招聘委员会(HC)。HC 负责提供或拒绝您。如果 HC 认为你是该职位的合适人选,那么他们会将录用建议转发给其他委员会。最终决定由执行管理委员会作出。

主要的技术重点是分析算法、大脑诱导算法、系统设计和可伸缩性。

最可能的情况是,您需要等待几周才能收到回复。

建议在 YouTube 上搜索谷歌的采访,观看最相关的推荐和路线图视频。另外,搜索谷歌最常被问到的面试问题

亚马逊访谈以亚马逊团队进行的技术电话屏幕开始。如果一些面试官在这个电话屏幕后没有被说服,那么他们可能会要求另一个面试官来澄清问题。

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

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

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

建议在 YouTube 上搜索亚马逊的采访,观看最相关的推荐和路线图视频。另外,搜索亚马逊最常被问到的面试问题

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

最终决定权属于招聘经理。通常,只有当你通过了所有的技术面试阶段,才会联系到招聘经理。

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

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

建议在 YouTube 上搜索微软的访谈,观看最相关的推荐和路线图视频。另外,搜索微软最常被问到的面试问题

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

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

  • 你适应 Facebook 文化的能力,以及一些技术技能——被称为行为绝地采访
  • 您的编码和算法技能(这些是我们将在后面介绍的常见问题,从第 6 章面向对象编程——被称为忍者访谈
  • 你的设计和架构技能——被称为海盗采访

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

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

主要关注的是你用任何语言快速构建东西的能力。您可以在 PHP、java、C++、Python、Erlang 等中使用 T1 代码。

面试官团队将决定是否聘用你。

建议在 YouTube 上的 Facebook 上搜索采访,并观看最相关的推荐和路线图视频。另外,搜索Facebook 最常被问到的面试问题

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

Figure 2.1 – Crossover interview roadmap

图 2.1–交叉面试路线图

所有步骤都很重要,这意味着你在每个步骤的回答都必须通过他们的内部剧本。如果一个步骤没有通过他们的内部剧本,那么可能会导致面试突然结束。但是,最重要的步骤是步骤 3、5、6 和 7。步骤 3 表示一个排除标准认知能力倾向测试CCAT)。例如,你必须在 15 分钟内回答 50 个问题。您必须正确回答 25 个以上的问题,才有机会进入下一步。如果您不熟悉 CCAT 测试,那么强烈建议您进行实践(有专门针对 CCAT 测试的书籍和网站)。如果不认真练习,要通过考试将是相当困难的。如果你不是以英语为母语的人,那么你必须格外注意练习那些需要认真英语技能的问题。

在第 5 步,您将得到一个带有技术问题的测验。共有 30 多个问题和 5 个答案变体(一个或多个答案正确)。此步骤不需要编码。

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

在第 7 步,您最终将通过电话屏幕与某人见面。这通常是技术和非技术问题的混合。

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

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

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

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

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

当然,还有许多其他大公司没有在这里上市。但是,根据经验,这里概述的公司及其流程应该让您对 IT 行业中的一个大玩家的期望有一些重要的见解。

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

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

教程来源于Github,感谢apachecn大佬的无私奉献,致敬!

技术教程推荐

零基础学Python -〔尹会生〕

深入浅出计算机组成原理 -〔徐文浩〕

Linux内核技术实战课 -〔邵亚方〕

乔新亮的CTO成长复盘 -〔乔新亮〕

实用密码学 -〔范学雷〕

程序员的测试课 -〔郑晔〕

手把手带你写一门编程语言 -〔宫文学〕

攻克视频技术 -〔李江〕

现代React Web开发实战 -〔宋一玮〕