苦战十轮,拿下AWS 澳洲Offer(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苦战十轮,拿下AWS 澳洲Offer(上)相关的知识,希望对你有一定的参考价值。

前言

2020,新年快乐,祝大家万事如意,“富”如东海。

2020, 21世纪的第三个十年的开始,相信很多朋友已经摩拳擦掌,计划接下来的人生目标,并为之而奋斗。

回望2019,于每个人而言,酸甜苦辣咸皆有之,而今天,我就给你们分享一下,2019年于我而言,比较有趣,也算是改变人生轨迹的一件事,也许这个故事能够给你带来一些启发,让你的2020多一种可能性,多一分思考。

我只想做个安静的bloger,但是.....

今天,作为AWS (亚马逊云计算Amazon Web Services)澳洲悉尼办公室为数不多的资深网络开发工程师(Senior Network Dev Engineer),我一边撸着代码,一边回想起这半年来不可思议的故事,十轮面试,24小时澳洲游,纠结中等待....,其中缘由,且让我细细道来。

技术图片

故事要从2019年初说起,我完成了第二个51cto的专栏,在51cto小伙伴们的帮助下,日夜兼程,一年之间一共码了40余万字。

本打算准备给自己放松放松,偶尔写写博客,读读书,给自己一个舒缓的2019,还计划了一趟六月底的夏威夷度假之旅。(记住这个旅行,很重要的一笔。)

不知不觉,时间来到2019年六月中旬,正是新西兰的初冬。

周一晚上去邻居好朋友家吃完饭,无意间聊到了搬家去海对岸的澳大利亚的想法,计划是去布里斯班(Brisbane)这么个一年四季都是夏天,房价便宜,生活富足的地方,更重要的是,每年夏天有很大概率看到周董带着昆凌回老丈人家探亲,来个偶遇。

聊完以后,第二天仍然像往常一样去上班,像我这般有一颗骚动之心的人,没事会去看看Linkedin有什么好玩的事儿(好工作机会),结果发现还真有人给我留言,一看居然是AWS的HR招聘经理,大概内容是AWS正在招聘网络开发工程师职位(network development engineer),职位在澳洲悉尼,是否有兴趣等。

这下小心脏就有点受不了,这不昨晚刚和邻居说完搬家去澳洲的事情,今天就有人来撩了,天意啊。

众所周知,AWS是全球云计算老大啊,市场份额将近40%,他们的网络规模据说全球第一,作为一名网络工程师,这是梦寐以求的职业发展机会,让你尽情施展个人技能的舞台。而且通过我私底下了解,一旦成功拿到offer,不管你在世界那个角落,一般情况下公司包搬家费,给你办澳洲工作签证,入职满足条件后就可以担保澳洲PR(俗称绿卡)。

这不是赤裸裸的一条龙服务么,这让人如何受得了。

当天晚上,和媳妇商量了一下,改了改堆满灰的简历,在Linkedin上联系了这位HR,把简历发了出去。

Game Round 1:电话面试

技术图片

给了HR简历以后,周三HR就找我约时间要电话面试了,看来是对我的简历挺感兴趣。

鉴于下一周我要去夏威夷度假,我要求电话面试在本周内完成,这里其实是有考量的。


内心独白:

因为电话面试在度假之前解决,那么期间我就可以知晓电话面试是否通过。

若通过的话,根据我的调查,他们会安排现场面试,那么在这个假期期间直到现场面试期间,我有足够的时间去准备面试。

为什么要这么小心翼翼,一方面我知道AWS的电话面试不轻松,现场面试更不轻松。另外一方面,人生就像Play Games,既然开始做了,就要赢。

所以不做好充分的准备,就别急着上战场。

经过与HR的协商以后,他们同意并安排了相应的工程师在周五进行电话面试,这里不得不佩服他们的效率,相比澳大利亚和新西兰很多本地公司,安排一个面试一般动辄一周或者数周。AWS两天之内敲定电话面试,这是非常快的速度了。

同时他们又非常贴心,为了让面试者表现出自己最好的一面,通知面试的电子邮件还附上了具体面试的技术内容,以及该重点准备的对象,这样让面试者不至于像无头苍蝇面对浩瀚的知识库,无从下手。

面试当天,我找了一个安静的地方,带着耳机准时和AWS的工程师进行了一个小时的一对一电话面试,电话面试是纯英文进行,而且请注意因为AWS全球到处搜罗人才的缘故,大部分工程师都来自于非英语母语的国家,,所以在电话面试期间,面试者会有英语口音问题,如果应聘者的英文能力不够好,容易吃大亏。

试想如果你连面试的问题都听不懂,该怎么回答?不过还好的是,因为面试都是围绕日常工作和网络知识,不会问道你七大姑八大姨的事情,所以只要日常工作英文沟通不成问题,总体还是OK的。

电话面试内容,主要分为技术内容面试和公司企业文化,领导力准则面试。

技术面试内容

先说说技术面试,就面试网络工程师而言,电话面试环节你只需要准备两个主题OSPF,BGP。

你可能会惊讶,这也太简单了吧,就这两个主题,那交换不问么?MPLS不问么?安全不问么?

其实无论是面试AWS或者其他公司,如果遇到类似场景,你一定要小心了。

试想将近一小时的聊天,如果就聊聊OSPF都有什么LSA类型,区域类型。BGP是什么,BGP防环,邻居类型等等浅显的问题,那估计十分钟就搞定了。

所以,如果面试环节,某个公司什么方面的技术都问你,那么他们只需要你知道个浅显的原理,知道怎么去使用就行了。

反之,如果给你非常有限的范围,那肯定是往深里刨,往死里挖,直到挖得你焦头烂额。面试的目的很简单,就想知道你这桶酒到底有多深。

但是,稍稍反人性的是,包括你和我在内的很多网络工程师,很多理论知识在日常工作中基本上很少用到,例如你日常配置OSPF的时候,需要考虑它的最短树算法么,需要考虑每一条LSA的属性么,需要查看Age,序列号等内容么?

而AWS,或者FAANG俱乐部(Facebook,Apple,Amazon,Netflix,Google)的面试都是这种调性。

挖掘的是一个工程师对于细节的理解和把控程度。

如果你理论和实践都玩得很溜,恭喜你技术方面你过了,但是这仅仅决定你的电话面试50%的结果,另外一半,就是企业文化和领导力准则考察。

企业文化面试 & 领导力准则面试

电话面试环节会余留相当一部分时间专门来考察你对于AWS企业文化的契合度。

在AWS,或者说它的老母亲Amazon,在贝佐斯创建初期慢慢的形成了一套理论体系,来指导每一个员工应对日常工作中的诸多问题和抉择,提炼以后,就成为14条领导力准则(leadership principle),这14条我就不粘贴在这里了,大家可以自行百度。

而对应到面试上,面试官会问一些案例问题,被面试者则需要基于STAR原则来回答。STAR是指(Situation:场景,Task:任务,Action:采取的行动,Result:最后得到什么样的结果。)

例如下面这些例子。(摘自亚马逊招聘官网https://www.amazon.jobs/zh/landing_pages/interviewing-at-amazon)

请告诉我,您在曾经遇到问题,而这个问题有多种解决方案时是如何处理的。问题是什么,您怎样选择该采取哪种行动? 这个选择带来了怎样的结果?

您有过冒险,犯错或者失败的经历吗? 您是如何处理的,您从那个经历中收获了什么?

描述一次您领导项目的经历。

当您需要激励一群人或促进某个项目的合作时,您是怎么做的?

您如何利用数据制定战略?

这种问题,我的建议是基于你曾经多年工作经验积累的案例和教训,并改编为STAR形式来回答上述问题。

细节决定成败

回到我当时的电话面试环节,我自认为网络细节把控得还可以,但是仍然在OSPF的某一个很罕见的场景上卡住了,怎么都想不起来答案,而BGP则很顺利的过关。在企业文化环节,因为多年工作经验攒了不少案例,也能够及时找到对应的案例来回答问题。

电话面试尾声时,面试的我工程师很善意的提醒了我,一定要回去重新过一遍协议细节,现场面试会比电话面试残酷的多。

我听了这句话,心里大概知道这次电话面试pass了,果然,没过多久HR就发来一封信,说面试效果很好,希望安排一个时间去澳大利亚悉尼的AWS办公室现场面试,由于我接下来三个周出国度假,所以现场面试就安排到了下个月的中旬,中间给与了我20余天的缓冲时间。

充实的20天

电话面试虽然侥幸pass,但是却让我了解到自己对于OSPF的细节远远不足,同时结合职位描述Job description,以及大量Google和 国外视频网站(youtube)上历年大量面试者的信息,制定了20天的作战计划。

Job description 参考如下:

https://www.amazon.jobs/zh/jobs/939653/network-development-engineer

#注意,以上链接只是无数招聘职位中的某一个,仅作为参考,链接可能会随时更新。
PS: 在Google搜索中,我发现有一个最经典的Glassdoor网站(玻璃门:意指透过这道门可以清清楚楚看到门后面的内容),Glassdoor包含了全球知名公司的薪资,面试等信息。有实名和匿名的信息。
PS:作为一名IT民工(网络,开发,Devops等等),如果你正在准备跃跃欲试FAANG俱乐部,那么Glassdoor是一个绝佳的好去处。

同时,另外一个北美华人IT聚集地也是有大量及其有用的信息,名字叫:一亩三分地。
此地及其不简单,基本上所有北美的牛叉IT公司的面试经历都写得有,牛人众多,值得朝圣。虽然是北美,但是其信息覆盖的公司无论在哪都可以借鉴。

路由协议

为了彻底了解OSPF和BGP,市面上无数的书籍中,一本足矣。

那就是Jeff Doyle的TCP/IP 路由技术卷一、卷二。

我以前到现在读了无数遍,这一次再次针对上面两个协议,彻彻底底的过了一遍,那需要了解到什么程度呢,以OSPF为例,你需要记下来每一个LSA数据包结构字段的含义,以及每一个OSPF 数据包类型的结构和对应的flag标识。

打个比方,ABR,ASBR路由器宣告的路由,其他路由器怎么知道是ABR和ASBR发布的,肯定是此路由对应的LSA里面某一个地方写上了特定的标记。

或者当一个区域里面,同时存在两个ABR的时候,选择哪一个ABR作为主ABR,以及对应的防环机制等,都是写在了数据包结构里面。

TCP/IP

对,你没看错,一整套TCP/IP协议的流程和细节都要过一遍,尤其是最常见的DNS,DHCP,ICMP,UDP,和最重要的TCP。

比如,DNS的查询方式有两种,是哪两种?

TCP的flow control原理,connection management怎么做,Selective Ack是神马回事,Fast retransmission 怎么搞等等。

统统这些,都可以在一本书上找到答案:TCP/IP详解 卷一,第二版。(tcp/ip illustrated volume 1 second edition)

Linux

现在Linux就好比多年前的windows,越来越作为一门网络工程师必修课了。

通过Job Description来看,所需Linux技能主要是文件和数据的操作和处理,针对Linux 的书籍众多,我选了其中一本作为主要阅读对象: Linux 命令行与shell脚本编程大全。(Linux Command Line and Shell Script Bible。)

这一本在手,万事不愁。

编程- Python、Perl、Shell、C++、Java等

由于AWS需要应聘者有较强的编程和开发技能,编程语言可以会上面几种中的一种。

这个算是所有需要准备的技能里面比较难的一个,因为你很难短时间之内看书来突击。

反之,它需要的是长期的积累和项目的锤炼,然后辅之以一些理论细节的补充即可。

这里因为过去几年积累的缘故,加上我在当时的公司用Python独立开发了一些自动化系统,所以这方面没有太多准备,纯粹靠吃老本。

同样的,如果你未来想申请AWS职位,你最好需要有一定的编程经验或者开发项目作为支撑,才能足以让你满足后续的面试考核。

你可能会想,20天要把上面这些书啃完,还要面面俱到,根本不可能。

完全正确,因此我做到了有的放矢,例如Linux部分我就舍弃了很多内容,琢磨他们应该不会问得那么深。(结果证明我的想法完全错误,后面被虐得很惨。)

所以,墨菲定律是很准的,你越觉得不可能发生的事情,它越会发生。

澳大利亚旅游、商务签

最后,也是最重要的。收到AWS的现场面试安排之后,我速度去申请了澳大利亚商务签证,否则没有签证没法进入澳大利亚,准备再好也是白瞎。

这个就请自行查阅澳洲的签证申请中心,此处不表了。

Game Round 2:现场面试

经过一番苦心,没日没夜的准备之后,战斗打响了,2019年七月中旬,我踏上了去澳洲的国际航班,开始了为期24小时的澳洲之旅,以及五轮不间断密集轰炸。。。。

技术图片

预知后事如何,请听下回分解。

AWS内推机会:
如果你对AWS很感兴趣
如果你希望了解云计算技术前言
如果你想移居国外,而不想走复杂而冗长的离岸申请
同时,最重要是你还具有我上面所说的语言和技能要求
请在51CTO私信我,我可以给你提供内推机会,进入HR招聘快车道。

以上是关于苦战十轮,拿下AWS 澳洲Offer(上)的主要内容,如果未能解决你的问题,请参考以下文章

一周拿下多线程+源码+微服务+分布式+调优,金九银十轻松跳槽,Offer拿到手软

成功拿下美团offer,实战解析

测试面试真题 | 从屡次碰壁到成长蜕变,半年拿下某大厂 60W 年薪测试开发 Offer!

java移位运算符右操作数是负数,成功拿下大厂offer

程序员如何在工作中自我增值?轻松拿下offer

java企业级应用教程视频,轻松拿下offer