16

苦战十轮,拿下AWS 澳洲Offer(上)-姜汁啤酒的网工日常

 4 years ago
source link: https://blog.51cto.com/gingerbeer/2463610
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Game Round 1:电话面试

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

给了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 澳洲Offer(上)

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

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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK