📅  最后修改于: 2023-12-03 15:06:21.987000             🧑  作者: Mango
作为一个有2.5年经验的SDE 1,最近有幸经历了一次亚马逊的面试过程,以下分享经验供大家参考。
亚马逊的初试是一道在线评测题,通常会有两个小时的时间限制,这道题不仅考察了算法和数据结构的知识,还要求开发者考虑到时间和空间复杂度的问题。我的题目是用树状数组(Fenwick Tree)计算逆序对(Inversion Pairs),难度相对较高。
一面主要考察开发者的算法和数据结构基础以及编程经验。我的一面面试官是一位非常友好的印度程序员,先是问了我个人的基本情况,随后在写代码方面主要考察如下几个问题:
面试结束后,面试官问了我是否有问题想问他,并告诉我会在一周内通知我第二轮面试的时间。
二面主要考察开发者的系统设计能力和分布式系统的基本原理。我的二面面试官是一位非常自信的美国程序员,他在设计问题上让我做了以下两个问题:
二面面试官结束后,他告诉我第三轮面试将是一个面对面的Bar Raiser面试,面试官将会对我的全部表现进行评估。他又问我是否有问题想问他,并向我提供了一些关于亚马逊的文化和工作环境的信息。
三面是亚马逊的Bar Raiser面试,主要考察开发者的对自己团队和亚马逊整体的了解以及是否适应亚马逊的工作文化。我的三面面试官是一位亚马逊的高级经理,他对我的工作经历以及与组织合作方面的能力进行了详细的提问。此外,面试官还问了我如下问题:
面试结束后,面试官告诉我会在两周内通知我是否被录取。
亚马逊的面试过程非常严格,需要考虑到每一个细节。整个面试过程中每个面试官都非常专业,并提供了非常有用的建议。建议准备面试的时候,一定要注重自己的算法和数据结构基础。此外,还要注意亚马逊的文化和工作环境,以便更好地适应这个公司。