一亩三分地论坛

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

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

非死不可 Production Engineer 全套面筋

[复制链接] |试试Instant~ |关注本帖
吴钩霜雪明 发表于 2016-11-23 18:47:47 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Facebook - 校园招聘会 - HR筛选 技术电面 Onsite |Otherfresh grad应届毕业生

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

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

x
新鲜的全套面筋。.鏈枃鍘熷垱鑷1point3acres璁哄潧
学校 career fair 上投的,之后就收到了 PE HR 的邮件,不知道是不是和当时和我聊的小姐姐是 production engineer 有关… 我还是比较想去 SWE,后来又找人内推了一遍 SWE,但一直没动静…
. more info on 1point3acres.com
production engineer 相比 software engineer 的话,coding 的要求会稍低一些,但是会涉及到很多的 system & network 方面的东西。如果你有很强的 OS/network 基础,或者平时用 Linux 很多,或者有 system troubleshoting 经验的话,那么很占优势。如果没有的话,准备面试的时候大概要花不少精力在补习这些方面上。

整个流程包括三轮电面 + onsite. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
1. HR 面
2. 电面,coding
3. 电面,system (troubleshooting)
4. onsite,四轮,两轮 coding(面试官分别是 production engineer 和 software engineer),一轮 system,一轮 behavior. 1point 3acres 璁哄潧

HR 面:
HR 问你十个问题,类似简答/填空题,涉及到 OS 基础概念、linux 常用 command、network 基础概念等等,例子的话地里其他面筋里有。这轮我回答的蛮糟糕的,很多都忘了,没回答出来,目测回答了一半都不到(然后具体问了我哪些题目我也是放下电话就忘了。。。),但是还是当场就过了,虽然 HR 告诉我要回去好好看一下 system 相关知识 orz。感觉要求很低,只是为了稍微筛选一下什么都不懂的人。

Coding 面:
1. 上来先是一道数组的题热身,非常简单,感觉是 LC easy 难度,内容忘了,大概做法是先扫一遍,然后求平均数啥的,然后扫一遍求结果。也可以直接 two pointer 指向两边,然后往中间扫。
2. 经典恐龙题,地里有详细说明的帖子。follow up 是文件内容非常大怎么办,解决方法是把文件分成多块,然后分块处理再合并结果(就是 MapReduce)-google 1point3acres
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
System 面:
1. 经典的当 ls -al *.c 时会发生什么。事前有准备所以答的比较轻松。在描述了一遍之后,小哥又根据回答的内容深挖了各个地方的细节(例如 fork 具体做了什么、什么是 syscall、编译器是怎么把 stat 这类 syscall 转换成汇编指令的过程与方法)。follow up 有些细节事先并不知道,于是和他讨论着猜测了一下。比较有意思的是小哥问我 *.c 是怎么处理的,我说有可能是 shell 也有可能是 command 去做处理,我不确定。于是他问我怎么去验证,我说用 strace 去跟踪一下,看看 execve 加载 ls 程序的时候的参数是 *.c 还是具体的文件名字。(后面自己试了下,发现是 shell 对 *.c 做的转换。)
2. 上一题问完之后发现时间还有不少,于是又问了个 troubleshooting 的题。首先信息是 cpu load 很高但是 usage 很低 -> 可能很多进程在 waiting,vmstat 查进一步信息 -> 确实很多进程在 uninterrupted sleeping,ps -aux 查 state D 进程 -> strace 以及 lsof 看 这些进程是在 waiting 什么 -> nfs -> 啊 nfs 我不太熟。。 -> 我觉得可以用 tracerouter 之类的检查下网络状况吧…
总体还是蛮愉快的。运气也比较好,这两题涉及内容都准备比较充足(除了 NFS。。)。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
必读文章:.鏈枃鍘熷垱鑷1point3acres璁哄潧
http://sysadvent.blogspot.com/20 ... ls-rabbit-hole.html 文章讲的很琐碎,但可以借此把握核心脉络。碰到有疑惑/不明白的地方要去进一步查。学习文章作者是怎么样一步步深入的。. From 1point 3acres bbs
http://blog.notreally.org/2008/0 ... strong-io-in-linux/ 非常好的 troubleshooting 文章。PE 面试 troubleshooting 很大一类都和 block I/O 有关(原因基本都是 NFS)
后来发现的值得读的文章:
http://docs.oracle.com/cd/E19455-01/806-0916/6ja8539fs/. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
http://nonfunctionaltestingtools ... tput-explained.html. 1point3acres.com/bbs
部分重点命令(必须实现都在 Linux 上自己跑过):
strace, vmstat, top, free, ps

Onsite:
1. Coding,面试官 production engineer。(1) 翻转数组中的部分内容。非常简单,顺手写了 in place 和 create new array 两个版本。(2) 给一个文件,统计单词频率,输出出现次数前 N 的单词。follow up 是处理标点。以及问了下文件太大会怎么样。(3) 面经题,有千台机器,有些在旧的端口运行旧程序,有些新端口运行新程序,写程序统计。用 bash 的话比较简单,因为时间有限就没写代码,只讲了思路。先 ssh 到机器上,ps + grep + awk 处理数据得到结果,然后收集结果统计输出就行了。因为机器很多,所以并行处理。然后要用 lockfile 之类的东西加锁解决同步异步问题。bash 并行编程参考文章 http://www.nherson.com/blog/2014/10/31/bash-subshells . 嗯,其实我不知道具体的 ps & grep & awk 要怎么写才能得到结果。。对语法不熟。当时也和面试官表示了这点,不熟语法但是我确定这是可行的。

2. Coding,面试官 software engineer。(1) 给俩字符串,判断是否 one-edit-distance。(2) 给一个 BST 以及一个范围,构造一个子树落在这个范围。recursive 秒之。

3. Behavior. 拿着你的简历一条一条怼你。。常见问题包括 most challenging part 之类的。英语太差,面的稀烂。还好简历句句属实。

4. System. 围绕有一个进程总是 out of memory 导致 crush 来问各种问题。涉及包括限制进程 memory 使用、如何找出进程 out of memory 原因(自己用各种工具尝试 & 和写这段代码的人沟通)、一堆进程无限疯狂 fork 自身,导致 OS 直接没法运行任何 command 了怎么办(去 /proc/pid/ 下查信息->找出问题进程与所属用户->限制用户组进程数目->kill)。总之乱七八糟回答一通。

心得体会:.1point3acres缃
1. 可以看出来,coding 都很简单。python 优势很大,毕竟 scripting 的部分不少。熟悉 bash 有优势,毕竟可以直接用各种 command。
2. linux 要熟悉,OS 基础概念要熟悉,常见 troubleshooting 最好要了解。碰到问题解决问题要有逻辑。
3. 准备常见 behavior question。自己简历要吃透。比较有趣的是,我事先准备了 why fb 和 why pe,结果第二轮 coding 一上来面试官暖场,先问了这俩问题。。(喵喵喵?.jpg)。而 behavior 轮并没问这个,而是全程怼简历orz
4. 第一轮最后时间问面试官问题 & 聊天,他提到说他喜欢问面试者的一个问题是问一个特别特殊的问题,而他期待得到的标准答案是 I don't know (。作为 PE 经常会遇到自己不擅长的问题 & 领域,这时候就要与擅长的人沟通 & 共同解决问题。

. Waral 鍗氬鏈夋洿澶氭枃绔,

. more info on 1point3acres.com
补充内容 (2016-11-23 18:52):
手滑打错个地方…
*部分重点命令(必须事先都在 Linux 上自己跑过).鏈枃鍘熷垱鑷1point3acres璁哄潧
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
补充内容 (2016-12-3 08:01):
收到结果,跪了。可能 behavior 轮面的真是太糟糕吧。

评分

2

查看全部评分

zhenjieruan 发表于 2016-11-30 05:23:09 | 显示全部楼层
太感谢楼主了!!我正好要面PE,超想做这块的!第一次看到这么详细的面经!
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-11 06:43

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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