作者AmosYang (泛用人型编码器)
看板Oversea_Job
标题Re: [经验] Facebook 面试心得
时间Sun Feb 1 01:47:15 2015
※ 引述《Zoe519 (Zoe)》之铭言:
: 面试公司: Facebook
: 面试会是一个漫长的等待过程,我好像都没有因为直接投履历而
: 得到面试过。但是如果是经由内部推荐或是联络到recruiter就
通常来说,抢手的公司或职缺,内推的人就排队到爆炸了 :D
其实这其中的「人性」道理很简单,後面会详述。
: Anyway, Facebook的理念就是move fast,从面试的过程中
^^^^^^^^^^^^^^^^^
羡慕... :D
: 大概面试完过一两个工作天recruiter就打电话给我了。(也
: 是一大早打来,接电话的时候我还在睡觉。)就是恭喜我得到
: onsite的机会,告诉我前一个面试的时候interviewer对我的评
: 价跟建议。被发现我写code有点生疏了,叫我下个面试前多练习。
个人经验,面试前练习写程式最好是以「手写」方式练习;若有机会
的话要练习在白版上解题,尤其是「解释解题方法」的部分。
不过,我也看过有爆强者带自己的笔电,接会议室的投影机; git init
起手式,开了 vim 就开始喷 code 出来, 解题同时还写 unit test,
甘拜下风 orz
: 於我的履历经验兴趣的问题,就是很基本的behavioral questions,
: 气氛很像在闲聊。最後问了一题简单的DFS的地图题。最後也是
: 留很多时间给我我问题。我建议把想问的问题都留在这里问。因
: 为这轮面试主要是在看你的个性跟职涯规划,所以你问的问题如
: 果可以透露出你的求知慾跟上进心应该是有加分的。(我猜啦XD)
下面这些都是以前提过的,在这里重新作个整理
* 正常的面试是双向的。以北美的知识性工作来说,如果一场面试给
你一种「单向」的感觉,个人建议是: 块陶。
* 资方这边想知道的有三件事
1. Can you do the job?
你是否有胜任这工作的能力? (知识、经验、技能、天赋)
2. Will you do the job?
你是否有执行这任务的意愿?
3. Are you going to fit into this company's culture?
你是否能适应接受整个公司、团队的文化?
通常 #1 是很直接的,以科技业来说,最常见的方式就是出题在白版
上给你解。
#2 与 #3 就很微妙;基本上没有办法在一般单天六小时左右的面试
行程里得到精确、准确的答案. 是故,所谓「问『好问题』有加分」
,通常就是加在 #2 与 #3
这背後的「人性」道理,就在於
一个年薪十万镁的职缺背後的真正成本在 15 至 30 万镁;在 corporate
环境里最有价值的「资产」可说是 "head count"; 今天你是 hiring manager
的话,你会想怎麽使用你得来不易的 head count? 当然是用在「
看起来不会摆烂难管理,或在 18 个月内离职走人,以至於让『我
』这个 hiring manager 看起来像个 idiot 的求职者」
是故,为什麽「内推」受重视? 最根本的理由在於 *spread of accountability* XD
「内推」进来的新人作得好,那自然是 hiring manager 识人有方 (
同时,内推推荐人也能拿到笔奖金) ;若推进来的是个白烂,那可以
把责任倒一半到内推推荐人头上 XD
易言之,就「资方想知道的三件事」而言
1. Can you do the job?
给所有的新人:
不要去担心你「够不够资格」
不要去担心你「够不够资格」
不要去担心你「够不够资格」
刚毕业就是菜,大家都知道 :D
把你所学好好地用 "specifics, examples, results" 三原则展现出
来,资方要怎麽去评量,是他的事;事实上, 他比你更担心。 :D
2. Will you do the job?
3. Are you going to fit into this company's culture?
以 #2 为例,问你自己: 「我需要哪些资料来帮助我回答 "Will *I* do this job?"
这个问题? 」,然後把这问题用 open-ended 的方向问出去
例如
(x) 贵公司是否有员工餐厅?
(o) 通常你们怎麽解决三餐?
不一定要问些大题目,例如「请问贵公司在此产业里的十五年 roadmap
为何? 」,这种题目通常太空泛 (除非你是应徵 director 以上的职
位)
但可问些管理制度的问题,例如这个问题是可以双方通用的
你如何应对 / 调解 / 裁决在工作上的冲突?
以下 combo 技也是双方通用的
* 能不能举个例子?
* 如果能重来,会不会在某些地方采取不同的作法?
能在 #2 与 #3 方面,双方能交换愈多的 data points 愈好; 「让
hiring manager 『觉得』他了解你、能掌握你、能管理你」, 那他
把 head count 花在你身上的机会也就大些
总结:
hiring manager 也是个活生生的人,在 corporate 环境里他也只
是领薪水的。把自己当商人,商品是自己的时间,「求职」也就只是
「出售自己的时间」而已,从买家的角度去推销商品, business 101 :D
: 我现在在忐忑等结果,想说发个心得,帮助需要的人,做好
: 事希望有好报 XD
祝好运
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 68.4.199.75
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Oversea_Job/M.1422726438.A.AEE.html
1F:推 obov: 已读 纯推不下 02/01 02:23
2F:→ AmosYang: 吕 02/01 02:27
3F:推 redcurrant: 应该早点看到的.. 02/01 02:40
4F:推 TripleC: 推 02/01 03:06
5F:推 resay543: 赞!!! 02/01 03:12
补述: 有些问题是需要拿捏的,例如,正式的福利(benefits)、薪资
、法律、签证问题,大概就不适合在技术面试里问,因为那些是 HR
才有被授权回答的问题;管理制度、文化、评量制度、风气,通常都
可以问,因为管理与评量是 hiring manager 的工作内容。
有些问题很明显是「白目」级的,例如,询问对方未公开产品的八卦
流言这类的,除非你想申请的职缺称谓就是「白目」,不然别问。
※ 编辑: AmosYang (68.4.199.75), 02/01/2015 05:06:50
补述上面提到那位爆强者的作法: 先 O(scary) 暴力解,用这暴力解
来建构 unit test cases, 尤其是 edge cases, 然後再一步一步把
big-O 往下降, 同时继续增加 unit test, 虽然最後不总是能找出最
佳解, 但在工程纪律上是十分让人赞赏的
※ 编辑: AmosYang (68.4.199.75), 02/01/2015 05:15:47
6F:推 pest: 推一下 02/01 07:10
7F:→ winnaxx: 可以用电脑写喔? 要是这样我也会用 uni test 起手 Q.Q 02/01 07:18
每家公司面试流程多少都有差异吧,无法一概而论 :)
8F:推 crimson11: 推 02/01 08:41
9F:推 aknr5566: 推整理。但是要我的话除非是公司 policy 不然就统一 02/01 09:21
10F:→ aknr5566: 全部面试者用白板。说真的 unit test 或是 git init 02/01 09:22
11F:→ aknr5566: 这种都小花招而已。面试不是要看这个 02/01 09:22
^^^^^^^^^^^^^^^^
这是一个很好的例子;以我自己来说,我观察到我自己在 MVP 三原
则里是先 mastery, 再 performance, 最後才是 visibility; 是故
我也对能展现 mastery 的求职者多少比较欣赏。相对地,我能理解
别的想法,例如「工具使用法可以再训练,脑子里有料才是最重要」
易言之,这就是为什麽这类「面试守则」总是只讲大方向。因为面试
双方都是活生生的人,无法有效穷举所有的组合然後制定最佳战术。
12F:推 kick1ord: 获益良多给推 02/01 10:27
※ 编辑: AmosYang (68.4.199.75), 02/01/2015 10:55:50
13F:推 aoisama: 强者解法不会太花时间吗?我面试的小技巧是,自备极细白 02/01 10:46
14F:→ aoisama: 板笔,比较好写code,也不怕断水 02/01 10:46
通常一「局」面试是 50~60 分钟,他从 O(scary) 到 O(n log n)
花了大约 25 分钟,但完全地以再实际不过的方式展现他的程式能力
,包括使用 TDD + ALM 工具的能力;就 "Can you do the job?"
来说,我得到了 100% 精确(precise) 的答案。
又,个人觉得极细白板笔不见得适合;从面试者的位置 (离白版 5~10 尺)
通常无法看清楚极细白板笔写出来的东西。
※ 编辑: AmosYang (68.4.199.75), 02/01/2015 11:09:46
15F:→ aknr5566: 我懂你的意思 但是被定白板的人不一定不懂 unit test 02/01 11:16
16F:推 smalloc: 哇! 这篇要推, 值得重覆仔细咀嚼 02/01 11:16
17F:→ aknr5566: or git. 如果给予用 notebook 面试者特别优遇 说不过去 02/01 11:17
与其说「特别待遇」,我的看法是
1. 我希望与我共事的人收到的讯息是「只要合情合理合法(ethically,
professionally, legally),符合验收条件,我不在乎你到底要
怎麽作」
2. 面试是双向的;既然舞台已经交给了求职者,他要怎麽展现他的
能力及证明他的 business value, 我不在乎,只要能让我看懂
就好
易言之,我崇尚的是 "absolute yet disciplined freedom"; 白板
或笔电都好, 以软体业来说,工程纪律是必要的,但其他环节上我宁
愿舍「制式流程的效率」,取「创意」
18F:→ aknr5566: 而且说真的 unit test 或是 git 真的是小东西 02/01 11:17
19F:→ aknr5566: 就算加分也就是加一点点点就够了 02/01 11:17
20F:→ aknr5566: 是说面试也不可能用到 test 或 git 的高深技巧 02/01 11:18
21F:→ aknr5566: 称不上什麽 mastery 02/01 11:18
那你比我强太多了 orz
git 的确是用熟就好,会了就是会了
但我没有自信能在面试场合的压力下还能走 TDD; 我玩 topcoder 或 ACM ICPC
题目写出来的程式都是无可读性的 hacky spaghetti clusterfuck
black magic code... XD
我想,就这个话题,我们唯一能达成的共识就是「因为这类理念是建
构在更广层面的『人生态度』上,并无好坏优劣之分,但也因为基本
价值观的差异,所以无法达成共识」 XD
22F:推 Ouranos: 推!感谢分享~ 02/01 11:33
※ 编辑: AmosYang (68.4.199.75), 02/01/2015 11:55:38
23F:推 maxisam: 推! 02/01 13:22
24F:推 ggggggh: 说到 测试 各位高手 借问 国外软体测试 地位如何阿 02/01 13:53
如果「软体测试」指的是有能力作 test automation, 从 functional,
integration, performance, 到 stress testing; security vulnerability
scanning & analysis; legal compliance; 领导 testing strategy,
这类事的话,虽说专门开给这方面的职缺不多(感觉上 contractor / consultant
居多), 但收入还不错
如果「软体测试」指的是手动测试後写报告, 顶多走走 exploratory testing
的话,低。
※ 编辑: AmosYang (68.4.199.75), 02/01/2015 14:21:51
25F:推 ggggggh: 是自动化测试 看来国外跟国内职缺一样少 02/01 17:03
*感觉上*, 公司规模大的才有资源去开 Test Engineer, Software Engineer in Test
这类职缺;规模小的必须把资源集中在开发。
虽说这种工作难找,但相对的,也因为工作难找,所以有实战经验的
人也少,竞争也少。近年吹起的 DevOps 风的确提昇了对这方面的需
求
有些公司是真正开始了解 DevOps 的意义,有些公司则是追着 buzzword
跑,把 DevOps 当成「一个 dev 抵三人用」的仙丹,就像之前什麽
东西都要来 cloud computing 一下…
26F:→ ggggggh: 看来只能转RD 看leetcode能不能也用python 02/01 17:04
27F:→ ggggggh: 去解 作测试python比其他熟 感谢 ^^ 02/01 17:05
28F:推 frank11118: 推很受用的文章 已收藏 02/01 17:34
29F:推 rush007: 这篇很受用 02/01 22:20
※ 编辑: AmosYang (68.4.199.75), 02/02/2015 00:22:26
30F:推 bmw530li: 推推 02/02 16:53
31F:推 SPower: 题外话leetcode支援python 了呀~ 02/02 18:39
32F:推 Goldexp: 推好文 02/03 14:03
33F:推 angelagrabis: 每次Amos大大的文都很受用,感谢无私分享 02/04 09:23
34F:→ anguso: TDD 不是万能,如果我面试到这样的人我会叫他赶紧跳过去我 02/04 15:27
35F:→ anguso: 只想看你的思路和解法 02/04 15:27
36F:→ anguso: 面试时如果拿出 laptop 我会请他收回去,这样对其他写白板 02/04 15:28
37F:→ anguso: 的candidate才公平 02/04 15:28
38F:推 bluenovocain: 赞!欣赏你的论点!推一个! 02/05 02:42
39F:推 aliciahericc: 强强强!! 02/06 00:29
40F:推 jammy50605: 推个 02/06 01:43
41F:推 a7904120: 推 02/10 15:29
42F:→ landattack: 小弟快35岁了(目前是没想要换工作啦)但如果去面试的话 03/12 01:05
43F:→ landattack: 会想跟面试主管说我目前对工作的态度、能献身多少、不 03/12 01:06
44F:→ landattack: 能接受的事有那些这样吧... 03/12 01:06