一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1305|回复: 4
收起左侧

Amazon System Engineer面经

[复制链接] |试试Instant~ |关注本帖
lelejessy 发表于 2014-6-20 13:04:55 | 显示全部楼层 |阅读模式

2014(4-6月) 码农类 硕士 全职@Amazon - 网上海投 - HR筛选 技术电面 Onsite |Fail

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本弱在地里级别太低,只能借妹纸的号来一发~~求RP~~

面试已经过去一个多月了,onsite前一天晚上在地里刷这个职位的面经没啥收获,估计是没多少人投这个职位,所以就打算写点儿面经为地里做点贡献,攒点RP。
言归正传,我面的是AWS S3组(一开始HR告我是AWS DBaaS组,直到onsite的时候面试官跟我说我面的是S3组,Amazon的HR果然是overwork得厉害)。面试总共三轮,一轮HR,一轮电面,一轮onsite,最后挂掉。。。
总体来说,这个职位考的就是你对linux和network的熟悉程度,另外会写python也是一个plus。本弱虽然干了好几年system相关的活儿,却一直懒得碰python天天写又长又臭又费劲的bash。所以我猜python无能也是我挂掉的一个主要原因。面试题涉猎的方面比较杂,加上周围认识的人大多都是面SDE没有面这个职位的经验,所以准备的时候完全无从下手。傻了吧唧地刷算法,结果基本没用上。总结了一下, 面这个职位主要要有这些知识背景:linux基本结构(什么是FHS,什么是inode,什么是init,log文件在哪儿,启动步骤是怎样的等等)、linux下的常用基本工具(grep, sort, uniq, wc, sed, awk, head, tail, cut, pipeline 。。。基本就考如何用一行bash做简单的统计)、linux性能监测和优化(vmstat, mpstat, top, ps, netstat, iperf, lsof, tcpdump 。。。开放式的题,所以当然是知道得越多越好)、network(DNS, subnet等等,比较基础)和基本的数据结构。下面来说具体的题目:
第一轮 HR电面:
跟HR说周五有空,HR没理我,结果到了周五中午直接一个电话就甩过来了,当时还在上班,就在公司的lobby里面接的电话。因为没有准备,所以以为也就是跟HR聊聊天扯扯淡。没想到正当我扯得兴起的时候,HR面试开始了。。。题目如下:
  • 什么是DNS中的TTL?
  • soft link和hard link的区别
  • 如何mount一个filesystem,如何加载这个filesystem的driver?
  • init的pid是多少?
  • 一个23的网段有多少可用IP?
  • 如何添加sudoer
  • mysql的默认端口是多少?
  • 描述一下你知道的数据结构

大概就是这些,可能漏了一两个。问题还算basic,但是因为没准备过,所以说得没啥条理。但是估计HR也不懂,就是看你有没有扯到关键词,所以我就尽量扯关键词。总之轻松混过,一周以后安排一轮电面。HR问我之前有没有用过AWS,我说没有,她就叫我去看看,说面试的时候可能会被问到。又问我会不会python,我说不会,她也叫我去看看。。。我当时心想电面估计就是去当炮灰了,所以倒也没太放心上。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
第二轮 technical电面:
.1point3acres缃
一个礼拜时间完全不知道要准备啥,而且当时正值毕业,一堆破事儿,完全无心准备面试。 虽然HR给我指明了方向,但本弱之前的工作经验其实大多都是跟cloud computing相关的,所以我知道看AWS的doc基本上跟看字典没啥两样,干脆就没看。python的话,以前闲着没事的时候翻过那个127页的神书,感觉临时抱佛脚应该够了。面试之前看了看一些常用命令的具体用法,比如ps, netstat, df, netstat这些。其实跟大海捞针没啥区别,事实也证明了,就是大海捞针。

电面一共45分钟。面我的是个白叔(我知道是因为onsite的时候他又面了我),上来就跟我说他赶时间,咱们尽量30分钟结束战斗。我也没有辜负他的期望,因为我根本没招架住30分钟。具体的题目如下:

  • 如何查看磁盘空间使用情况?如果你发现你的磁盘空间不足了,如何找出前十个占用磁盘空间最大的进程?前十大的文件类型呢?
  • 假设你有100台web server,如何通过分析access log找出前十个访问量最大的URL
  • 什么是Hash?原理?
  • python中什么是dictionary?什么是tuple?tuple和list的区别?
  • 人文问题:你认为怎样才能成为一名成功的teammate?

大概漏了一两题。总之从第一题我就开始卡壳儿。占用内存空间最大的进程我还能理解,磁盘空间?难道是进程打开文件的大小?我就说可以用lsof做,但是具体的stat我忘了,对方还算满意。第二题我觉得可以mapreduce,但是当时觉得对方可能考的是bash,所以一直纠结bash纠结了很久,就草草收场了。第三题我就扯hashtable是怎么工作的,但是由于之前表现不太好很紧张,所以也说得语无伦次的。python这个题,dictionary还好办,tuple完全忘记。人文问题我倒是扯得很开心。总共花了30分钟,对方也觉得跟我没啥好聊的了,就挂了。

第三轮 onsite

面完第二轮基本就没抱希望,还跟同僚们说要吸取我的失败教训。结果半个月以后收到HR邮件说让我去onsite,叫我挑个时间。当时心想这组是得多缺人啊,我面成这样还能去onsite。。。

onsite安排在两周以后。经过两轮面试,我还是执迷不悟继续刷算法,一方面感觉onsite你不让我写代码还能让我干嘛;另一方面,linux那些东西现学现卖也来不及了。俩礼拜以后,题刷得挺利索了,就飞去seattle了。

面试被安排在早上8:30(坑爹啊!!),结果我等到了9:00多点儿才等来HR。简单地参观了一下工作区,我不知道其他campus怎么样,反正我去的那个campus就是很普通的办公场所,一个cube一个cube分开来,然后有几个大大小小的会议室。休息区也是大多数公司那样的,冲个咖啡接个水的地方,没有硅谷公司的那些perks。倒是景色不错,放眼望去就是space needle。HR还特别强调了可以带狗上班,我也特别强调了我连自己都养不活。

参观完才开始面试,一共5轮。
. 鍥磋鎴戜滑@1point 3 acres
1st round:

一个30来岁正常身材的白哥,相比后面几位比较严肃。问的题目如下:

  • 说一个最有挑战的project
  • linux的boot steps,包括如何加载ramdisk、如何加载kernel、如何挂载filesystem、grub在其中的作用等等。
  • 给了一个scenario,是几台web server连接着一个load balancer。现在用户抱怨上这个网站慢,如何进行自查?需要从用户那边收集哪些信息?
  • 给了一个log文件, 有user, url, ip addr三列,每一行表示一个用户访问了一个URL已经这个URL所对应的IP。 用一行bash找出前十个访问量最大的URL。然后再找出每个用户的访问量前十大的URL。
. from: 1point3acres.com/bbs
第一题这种没准备过,就找了一个很没代表性的project,啥highlight都没说出来。第二题我有点儿模糊,所以也回答得不清不楚。第三题开放式的,我就把一顿扯,能说的都说了,但是白哥觉得我有点儿跑偏。第四个问题第一小题秒回,第二小题硬是没想出来怎么一行解决战斗,最后写了个for loop然后被白哥深深地bs。

2nd round:

一个30多岁的胖白哥,有点逗比。上来先跟我聊天,后来我俩就聊high了。过了大概10分钟他才反应过来他是来面试我的,就开始问简历。由于之前聊得太high,我有点儿放松警惕了,所以在吹牛逼的过程中有一些逻辑不通,但是白哥貌似也不介意。问题如下:

  • 最有挑战的project
  • 为啥不写python而写bash?
  • 如何制作VM image?

其实不算是问题,基本就是聊天。45分钟就在这么喜庆祥和地氛围中结束了。

3rd round:
. 鍥磋鎴戜滑@1point 3 acres
一个20多岁的小个儿白哥,看起来挺geek的,但人很nice。先上来也是问简历,具体问题如下:

  • 最有挑战的projet(没错,又是它!)
  • 如果出现一个write error,如何debug?
  • syslog在哪儿?查看syslog的命令?syslog的daemon是什么?
  • 如何查找disk上的badblock?
  • 如何排查disk故障?
-google 1point3acres
第一个问题我都要说吐了,后面几个问题除了badblock我真的不知道可以用badblock找,其他还算顺利。
. 1point3acres.com/bbs
4th round:

一个30多岁的健美拉丁男,超级客气,客气得我都慌了。具体问题如下:
. Waral 鍗氬鏈夋洿澶氭枃绔,
  • linux启动时如何从网络上加载kernel?
  • 什么是LDAP?linux上如何使用LDAP管理authentication?
  • 用什么命令发送HTTP request?由于我二逼一样地说用curl,所以哥们儿就问我用什么命令发送一般的request
  • 如何判断一个server overload了?怎么解决?如果确定是CPU overload了怎么解决?
  • 虚拟化的缺点
  • linux下如何抓包并分析?如何抓某个端口的包?如何抓TCP/UDP的包?
  • HTTP header的构成?如何建立persistent的HTTP connection?
  • 为什么选择Amazon?什么职业是你最想做的职业(我回答的SDE。。。)?

前两个问题都只知道个大概,但是哥们儿特别客气,也不知道他是满意还是不满意。后面这些不算难,除了犯二,基本都回答出来了。

5th round:

面我的就是上一轮电面那哥们儿,应该是bar raiser。笑眯眯地跟我说他不面technique了,主要就是跟我聊聊。结果问了一题设计题,我毫无招架之力。具体问题如下:

  • 说一个你在团队中提出异议的经历?说一个别人向你提出异议的经历?你是怎么解决的?
  • 你做过的最复杂的project?遇到什么困难?怎么解决的?
  • 设计一个short url的service, 从程序设计到具体的server部署方式

面到第五轮脑子基本已经停转了,哥们儿上来还放松我的警惕。前两题回答得没啥重点,第三题一出来我就卡那儿了,然后有的没的说两句,结果就是这哥们儿看起来不是很满意。

写了好长,总结一下就是还是经验太不足,重视程度不够,没有好好准备,以至于最后人文问题答得很糟糕,当然实力还是太弱,回来看了本performance tuning的书发现自己就是个菜逼。 希望这点儿经验能帮助各路要申system engineer的大神过关斩将。

评分

3

查看全部评分

joy9088 发表于 2014-7-26 04:03:49 | 显示全部楼层
非常详细啊
回复 支持 反对

使用道具 举报

lyzero00 发表于 2014-8-1 04:44:01 | 显示全部楼层
问得好难啊~ 我面试的都好简单。。。
回复 支持 反对

使用道具 举报

skndmx 发表于 2014-8-11 15:15:25 | 显示全部楼层
好难。。没有几个我能回答的。。
回复 支持 反对

使用道具 举报

chwcrazy 发表于 2014-10-26 07:28:13 | 显示全部楼层
非常详细 感谢楼主分享
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 15:43

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表