我是如何获得 AWS 的工作的
背景
我的第一份软件工作已经做了三年半,期间我从初级职位晋升到了中级职位。显然,如果我想要继续提升技能,就需要跳槽。
首先,我把我在领英上的状态改成了“准备工作”。大约三个月后,一位 AWS 招聘人员联系了我。在 AWS 工作是我梦寐以求的工作。她说我可以去几个不同的团队面试,最后我们决定去 API Gateway 面试。
我有两个月的时间准备。
步骤 0:研究编码挑战
我读了两本书,唯一推荐的是《破解编程面试》。这是很常见的建议,但它能让你更好地应对编程挑战。我通读了这本书,每章至少做了一道题,然后根据时间尽可能多地复习了每章的附加题。
步骤 1:参加亚马逊的面试研讨会(如有)
AWS 为求职者提供了大量资源。他们希望人们取得成功。如果我没有参加招聘人员提供的一小时研讨会,我可能就不会得到这份工作。本文中的大部分建议都与他们的建议相呼应。
第 2 步:为每个 LP 找到两个故事
亚马逊严格遵守领导力原则。这是一组用于指导决策的短语。
根据领导力原则选择两个故事。每个故事应该:
- 遵循STAR技术。
- 简短地(最多 3-5 分钟)解释。
- 与职业经历挂钩。如果你刚从大学毕业,可以将其与大学经历或业余项目挂钩。
写下足够多的故事内容,以便您在采访中能够查看笔记并记住这个故事。
这花了我大约10个小时。当时有12条领导力原则,也就是24个故事。我尽力想出了大约20个故事,其中4个故事与这些原则相互重叠。
注意:在采访过程中,我会根据提问的问题调整讲述的故事。采访时不要墨守成规,但要尽可能多地寻找故事,并准备好分享其中任何一个。
步骤 3:找到有用的设计模式并能够应用它们。
Erich Gamma 的《设计模式》这本书是一个很好的资源。不要记住整本书(除非你想)。相反,选择 4 个你认为可以帮助你解决问题的不同模式。
我选了:
- 抽象工厂
- 建造者
- 单例模式
- 装饰器
- 代理人
- 观察者
- 迭代器
我在面试的软件设计部分只用到了其中一种。不过,随着面试的进行,我又顺便提到了更多。
第四步:观察树木
这是《破解编码面试》这本书的内容。请仔细研究一下。即使只是 BFS/DFS 算法。
步骤 5:了解 O(n) 符号
有些人已经这样做了,但以防万一,这真的很重要。不仅仅是为了面试。
第 6 步:至少提出 4 个需要深思熟虑的问题
提出一些问题来表明你清楚自己想从工作中得到什么,并且希望在公司工作,这会非常有帮助。问问你关心的软件方面的具体问题。我喜欢的一个例子是:“你的值班时间表是怎样的?”或者“你们团队的软件发布流程是怎样的?”
弄清楚您在工作中关心什么,并事先写下这些问题。
基本步骤:记太多笔记
上面这篇文章的图片是我面试的准备工作。课堂上提到过——允许做笔记。一定要坦诚地说明你的笔记。如果你要参考笔记,而你恰好不在现场,可以随意地说:“嘿,你介意我参考一下我的笔记吗?”或者“让我快速浏览一下我的笔记,找到一个符合的报道。”
说实话,除了那20个LP故事,我都记住了。但这20个故事写下来非常有用,我很高兴自己花时间写了更多,因为它们在我的脑海里留下了更深刻的印象。
面试形式
自从我面试以来,这种情况可能已经发生了变化,但以下是我必须经历的几轮:
- 与招聘人员进行电话筛选
- 两道简短的、在家进行的 LeetCode 风格测试
- 与招聘人员联系,了解面试时间和培训机会
- 4个小时的面对面面试:系统设计、软件设计(模式)、2个编程练习。每次面试我都会被问到一个行为问题。
有用的链接
- 破解编码面试:https://www.crackingthecodinginterview.com/
- 位操作技巧:https://graphics.stanford.edu/~seander/bithacks.html
- Grokking Algorithms(我最近了解到的一本非常适合初学者的书):https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230
- 设计模式:https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612
- STAR 面试技巧:https://www.amazon.jobs/en/landing_pages/in-person-interview
- 领导力原则:https://www.amazon.jobs/content/en/our-workplace/leadership-principles
这花了多长时间?
在开始准备之前,我没有任何LeetCode经验。我的第一份工作没有编程挑战。我读过《设计模式》这本书,但没有记住清单。这是我第一次申请FAANG职位。
这是我梦寐以求的工作,所以我几乎每晚都花上好几个小时来准备。我估计我准备面试的时间足足有100个小时。
这其中有多少是运气?
面试总是需要运气的。我现在在LTK工作,第一次被拒,第二次才被录用。
你会采取什么不同的做法?
我在offer阶段处理得不太好。他们最终给我的薪水比我要求的多了3万美元,因为我对之前对亚马逊通常薪酬水平的调查不太相信。如果当时我当时相信了,或许还能谈成多1万美元的薪水。
加入后,你可以选择使用的操作系统。真希望我当时问问团队成员用的是什么操作系统。此外,还有第三个未列出的选项:购买一台 Linux 笔记本电脑。我在 8 个月后换成了 Linux 笔记本电脑,体验非常棒。
你得到这份工作后发生了什么?
我加入 AWS 从事 API 网关工作已有一年半。在此期间,我被安排在一个 S 团队项目中,领导了该项目的各个部分,并取得了巨大的成功。我故意说得比较模糊,因为我不确定能分享多少。
然后,AWS 要求所有人返回办公室。我被要求选择一个地点,或者(默认)搬到科罗拉多州。他们以尽可能好的方式处理了这件事——给了我一年的时间来决定。我非常感激他们给了我这么长的时间。
我决定离开,但在 AWS 工作是我最喜爱的职业经历之一。和我一起工作的人都是我见过的最资深的工程师。等我儿子长大到我待在家里不再那么重要的时候,我会考虑重新加入。
如果您想发出鼓励的声音和/或在这些帖子公开之前阅读它们,请给我买杯咖啡,让我们开始对话。
文章来源:https://dev.to/winstonpuckett/how-i-got-a-job-at-aws-5hm3