在LinkedIn做面试官的故事

标签: linkedin 面试 故事 | 发表时间:2015-04-27 16:07 | 作者:
出处:http://kb.cnblogs.com/

  问题:硅谷公司的招人的渠道有哪些,跟国内有何不同?

  一般公司都有自己的Refer和面试系统,HR人员寻找候选人,在LinkedIn上就有丰富全面的简历库,通过对毕业学校,就职公司的过滤去挖掘潜在员工。还有一些高水平的学术会议,工业界愿意支持和参与,像SIGMOD,VLDB顶级数据库大会;也喜欢举办公开技术讲座,邀请社会各界参加,注册时留下联系方式。或者写一些技术博客,开源产品,通过他们做的有意思的项目来间接吸引人才。有时也举办一些hackathon比赛,24小时做出一个小产品原型,欢迎各类技术人才挑战。当时我也参加LinkedIn的编程马拉松,每人发一件T-shirt,写着 Eat, Code, No Sleep。我记得内部统计表示,2/3的人都是通过内部推荐进来的。

  其实国内的思路更厉害,比如最近雅虎北京一裁员,忙坏了各路IT公司,某创业公司也凑热闹一起去抢人,派出2个高级工程师去面试,结果,负责面试的2个员工都被人挖走。还有一些无节操HR,伪装成下面这个,我接触过的妹子不多,你们不要骗我。

  问题:硅谷公司招聘流程是什么,跟国内有和不同?

  我刚好在国内外都工作过,我可以做个对比。

  国内:如果是在校生,一般都要有个笔试,通过率也不高,可能就百分之几,然后在校园里面试3轮左右,分别对技术,基本功,价值观的考察。然后就会大规模发offer,一些大公司如百度,阿里一年招上千人是很常见的。

  硅谷公司:一般是没有笔试。如果HR发现简历的一些关键字和背景符合职位需求,简单介绍公司,安排1,2轮电面,如果通过,邀请onsite面试,里面会有4-7轮,里面涉及到不少白板编程,虽然很多人争议,参见附录,但目前为止还是有些无奈的选拔手段。

How to Conduct a Better Coding Interview « Eric Elliott

  LinkedIn会花很大代价去组织,包括报销来回机票,吃穿住行,赠送小礼物,给候选人一种非常受尊重的感觉。比如附带礼物中有一个inMap, 把你在LinkedIn上面的联系人聚类可视化呈现出来。非常酷。

  这里面成功率非常低,真的是千里挑一,虽然代价很大,但很多公司都是强调人才是第一位的,在宣传企业文化和价值上也是起到积极作用。然后就是收集反馈,一般是2个面试官back to back同时给出评价,按1-4打分,最后取平均分, Yes = 3.0 ; Very Yes = 3.5 ; No = 2.5 招聘委员会通过投票和辩论来确定是否发放Offer。

  上图是LinkedIn内部招聘流程图
  我记得印象深刻的面试:面试者岁数大些,当时我面的时候也没出众,我准备给他一个一般的分,但他回去马上给我写了一篇长信,解释当时我问的问题,给出详细参考,我对他的回答非常佩服,至少态度很积极,也许是当场没有发挥好,我立马改变了印象,给他很高评价,但其中有个初级面试官居然给他1分,什么概念(if you hire him, I will go), 这样就把他平均分给拉下来,我觉得这样不公正,就在招聘会议上为他说话,最后他也拿到Offer顺利来到公司,事实证明这是一个挺优秀的技术人员。

  问题:简历怎么写才能规范并吸引人呢?

   怎样写好求职简历? - 董飞的回答

  下面这个是很有趣的程序员是如何读简历的:

  问题:硅谷公司是如何选拔技术人才的?

  硅谷公司对基础架构很重视,注重基本功,员工素质和价值观认可。技术人员还是需要关注生产力的,其实也很难短时间考察,公司也考虑过是否通过一些做小项目,直接上机模拟真实环境来评价。但真正实施又难度很大,LinkedIn 有个专门负责招聘Staff Engineer Jacob Kessler写过文章阐述面试理念: Interviews are not Exams 主要是想保持自然,一起应对一天工作中场景。

  我总结成3C (Culture, Communication, Curiosity),下面也展开一些重点。

  技术:平常扎实的技术积累,包括系统知识点,不同编程语言,开源工具,团队合作工具,比如, Restful架构有哪些特点,动态语言的优劣。我在知乎上也给出了 硅谷跳槽工具箱指南

  基本功:代码简洁优美没有bug,常见算法的应用,优化技巧,比如如何把一个O(n^2)的算法优化成线性。好的编程习惯一定要坚持,格式:缩进可以良好排版,括号要对齐,变量名起的有意义。边界检查,参数检查,异常处理,单元测试。主动写出合理的Test case,一些常见的null检查。不管你之前做过多少年,只要申请工程师职位都要经历过编程的基本考核。

  交流:实技术人员用到的英文都比较浅显,听和读应该问题不大,但最好在说和写方面下大功夫,这能突破一些天花板,更多融入团队交流。

  系统设计:包括设计大型系统的架构选型,各种不同组件的tradeoff,数据库系统,网络系统,分布式系统。比如什么时候适合用NoSQL,如何做一个推送系统,缓存系统如何搭建。

  问题:您在面试中会重点考察面试者除了技能之外的哪些点?面试者身上哪些特点往往会是各公司认为不能接受的?

  首先,看背景是否 符合职位的需求,比如做分布式计算的工程师,对系统底层,大数据架构就要有一些涉猎。

  第二, 聪明,如果我交流的时候发现他们能很快意识到我说的意思甚至补充我心里想的,这种人非常讨喜。如思路异与常人,很快给出最优解,能挑战一些难度大的问题。

  第三, 好奇和热情,如果面试者说不清为啥要申请,或者没啥主动提问的,我会觉得对公司兴趣不大,没有好好做功课,态度上不够积极,而就算最后技术很出色,在评价上也是要打折扣。另外如果他技术面很狭隘,技术兴趣不广泛,可能也要考虑是否能胜任创业公司不断变化的环境。

  不能接受的

  不愿意学习,对他说的或者写的很自大,但却不虚心接受其他人指出的问题和建议。

  企业文化不合,对公司的使命和价值观有一些偏差,这个比技术功底更致命,主要是找志同道合的。

  给大家附录中推荐的,Coursera的CPO分享的 “像谈恋爱那样去招人”说的很有启发。

  问题:对于初级程序员的面试,最难的部分可能就是所谓的设计题。这部分是什么流程?

  设计题可以分成两个部分,系统架构设计和利用面向对象编程原理进行程序设计。前者所涉及的技术往往包括数据库,并发处理和分布式系统等等,对于经验要求和知识要求比较高。系统面试的流程如下:

  1. 题目描述

  往往非常简单,如:设计一个XX系统。 或者:你有没有用过XXX,给你看一下什么界面和功能,你来设计一个。

  2. 阐述题意

  面试者需向面试官询问系统的具体要求。如,需要什么功能,需要承受的流量大小,是否需要考虑可靠性,容错性等等。

  3. 面试者提供一个初步的系统设计

  4. 面试官这对初步的系统中提出一些Follow-Up的问题:如果要加某个功能怎么办,如果流量大了怎么办,如何考虑Consistent怎么办,如果机器挂了怎么办。

  5. 面试者根据面试官的Follow Up逐个解决问题

  总体特点是以交流为主,画图和代码为辅。

  问题:从面试官的角度给出一些系统设计上的考量标准是什么?

  我先给一个内部培训面试官的方法,大致说了考量环节。根据我的经验,也列出一些关注点

  1. Adapt to the changing requirements (适应变化的需求)
  2. Produce a system that is clean, elegant, well thought (设计干净,优美,考虑周到的系统)
  3. Explain why you choose this implementation (解释为何这么实现)
  4. Be familiar with your experience level to make decisions (对自己的能力水平很熟练)
  5. Answer in high level of scale and complexity (在一些高层结构和复杂性方面有设计)

  其实大家大可不必追求完美,在真正的面试中,没有人能对答如流,往往面试官也会给出善意的提示,就算你没回答某个子问题,在面试后的评价中也会综合衡量,跟其他的面试者比较,最终打出一个分数。很多人在2到3分左右,目标是尽量在3分以上。

  问题:我不是算法大牛,不是ACM队员,听说Google,Facebook有很多牛人才能进,那我怎么能拿到好Offer?

  首先要是要有信心,算法不是想象那么难。

  第一:因为面试常见的算法就那么几种。只有你努力去总结归类相似题目,才能只做很少的题就可以会很多的题。不要盲目关注数字。做题质量非常重要。标准是:你做过的题目,让你再做一次,你就能“完美解决”。

  第二:即使你知道一题的解法,你未必能写好。因为你可能每次写出来的程序都很随性,这样会漏洞百出。程序员是一个非常讲究严谨性的职业,如果你在总结题目的时候能够找到这些题目的模板,你把模板提炼好,碰到类似的题目,可以一边写模板,一边想想怎么在模板上做一点简单的改动。这样节省时间又保证不会出错。

  问题:如果本科不是学计算机的,又想转行该怎么准备?

  1. 让自己更Professional。比如你的简历只能放和计算机有关的东西,其他东西再牛也不能发挥用处(比如学生会主席)如果Resume还是很空,就多去做项目。在Github上面多去follow项目,然后参与到感兴趣的当中。

  2. 在某一方面达到工程师实力。临时转行时间短,找一个容易入手的准备,如果你以前做的事情跟数据有关,就申请Data Analyst。本来就会一些基本技术的,可以做前端,JavaScript, HTML, CSS,去真正做一个自己博客。如果对产品感兴趣,就玩Django, ROR这样的网站框架,了解一个网站是怎么搭建起来的。如果对Mobile感兴趣,就用IOS或者Android写2个APP。这样做的好处是,简历不空,如果问到,可以驾轻就熟。如果不相关,坦诚相见,说由于我是转行的我这方面不熟悉,可以尝试猜猜看。也可以直接告诉面试官,我是转行的,我对计算机很感兴趣,做了这么这么几个项目。于是面试官不会问你难题。结果你早就准备好了,超出面试官预期,就是一个高分!

  问题:面试时候如何表现自己体现沟通能力?

  首先你要站在面试官的角度,面试官招你进去当同事,他希望同事怎么样的人就决定了他的立场。学会换位思考。

  让面试官时刻明白你的意图,不要闭着眼睛不停写。对于面试官来说,他根本不知道你的解题进行到哪一步了。你可以反复和面试官交流自己的想法,得到面试官认可以后再动手写。可以讲讲你怎样想到这个思路的。记住,你并不是要说服他接受你的想法,而是要把你的想法解释给他听。面试官提出质疑的时候,第一,不要觉得面试官什么都不懂,怎么这都不知道(其实他只是看一下你是否真的懂),第二,面试官比你经验丰富得多,很有可能就是你犯错了,赶紧想想是不是真的有问题。

  问题:面试中出了Bug怎么办?

  BUG Free很重要,这个需要我们平时不断的练习,按照我们方法的准备,还是可以避免一些坑。但碰巧你可能不在状态,写出了BUG被面试官指出,是不是就挂了呢?

  别担心,出BUG很正常,也许面试官来面你之前正在DEBUG:( 衡量一个程序员能力的标准,并不是他能想出多牛的算法(那为什么还要面算法题?)而是当遇到问题的时候,程序员去分析和解决问题的能力。而出BUG的时候,正是展现你是否是一个合格程序员的时候。

DEBUG流程:

  1. 通过TEST CASE定位BUG所在位置

  2. 不要立即修改代码,重新梳理逻辑。因为很有可能还有其他BUG。

  3. 走完所有逻辑之后,心里有数怎么改了,再动手开始改

  4. 用TEST CASE再走一次新的代码。

  5. 在整个过程中,不停的告诉面试官你在干嘛(在不影响正常写程序的情况下)

  这样,成功排解BUG,不但不会减分,还会因为你优秀的DEBUG能力和与此同时展现出来的沟通能力而加分。

  问题:面试中不同人考察的内容都有哪些?

  给一张表大家可以了解:

  最后希望大家在找工作方面能有所收获,不用多久,就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰~想想还有点小激动呢,嘿嘿~~ 同学,梦醒了么,该去搬砖了。

  参考资料

   How to Conduct a Better Coding Interview « Eric Elliott

   In Defense of Whiteboard Coding

   像谈恋爱那样去招顶级程序员吧!

   劲爆!萌萌哒华为校招视频——值得HR借鉴

   当面试官问「你有什么要问我的吗」时,应该问什么?

相关 [linkedin 面试 故事] 推荐:

在LinkedIn做面试官的故事

- - 博客园_知识库
  问题:硅谷公司的招人的渠道有哪些,跟国内有何不同.   一般公司都有自己的Refer和面试系统,HR人员寻找候选人,在LinkedIn上就有丰富全面的简历库,通过对毕业学校,就职公司的过滤去挖掘潜在员工. 还有一些高水平的学术会议,工业界愿意支持和参与,像SIGMOD,VLDB顶级数据库大会;也喜欢举办公开技术讲座,邀请社会各界参加,注册时留下联系方式.

中国的LinkedIn们

- - It Talks-魏武挥的blog
我倒并不想完全断言中国BSNS没有一点点的未来,但做生意是真金白银的消耗,非常讲究一个timing问题. 中国BSNS,要想走出中国的LinkedIn的道路,恐怕得花上比LinkedIn自身发展更长的时间. 与目前股价一路扶摇直上的LinkedIn相比,中国的BSNS(商务社交,也有自称PSNS专业社交的)显得有些不愠不火,差强人意.

向LinkedIn学习什么

- 车东 - 《商业价值》杂志
准确的定位和极优的数据整理能力,是LinkedIn最终成功的原因. 中国模仿者们需要模仿到基因层面才会有希望. 2010年12月,美国非上市公司股票交易平台SecondMarket评选出五大估值超10亿美元的非上市公司,LinkedIn挤掉Youtube等大热门而上榜. LinkedIn这家比Facebook还早的老牌社交网站,在将近10年的互联网大潮中,一直以低调稳健但内容乏味的姿态潜行.

中国会不会有Linkedin?

- zhangv - It Talks--上海魏武挥的博客
本周根据外电,Linkedin已经为自己的IPO做了定价,区间大致在32-35美元,预期募集资金2.71亿,估值在30-33亿美元. 这个主打所谓高端人群,74%会员受过高等教育,被誉为“职场SNS”的网络公司,拥有1亿用户,2010年营收2.43亿美元,利润1500多万. 据公司声称,在linkedin上,有200万个公司页面,73%的财富100强公司用过它的招聘解决方案,世界500强则全数成为它的会员.

[原]LinkedIn Cubert安装指南

- - OopsOutOfMemory盛利的博客
最近工作需要,调研了一下LinkedIn开源的用于复杂大数据分析的高性能计算引擎Cubert. 自己测了下,感觉比较适合做报表统计中的Cube计算和Join计算,效率往往比Hive高很多倍,节省资源和时间. 下面看下这个框架的介绍:. Cubert完全用Java开发,并提供一种脚本语言. 它是针对报表领域里经常出现的复杂连接和聚合而设计的.

LinkedIn架构这十年

- - 鸟窝
原文: A Brief History of Scaling LinkedIn. Josh Clemm是LinkedIn的高级工程经理,自2011年加入LinkedIn. 他最近(2015/07/20)写了一篇文章,介绍了LinkedIn针对用户规模急速扩大带来的架构方面的变革. 文章有点像子柳写的 淘宝技术这十年.

用户到底如何使用 LinkedIn?

- jl1987 - 爱范儿 · Beats of Bits
作为最热门的职业社交网络,LinkedIn 正以每秒增加一位新注册用户的速度快速扩张. 近日,由互联网调研公司 Lab42 根据500位LinkedIn用户的调查反馈,制作了一张名为 “The LinkedIn Profile”的信息图. 调查问卷就用户使用LinkedIn 网站的目的和效果进行了分析和归总.

LinkedIn CEO:人们没空玩Google+

- Ice - cnBeta.COM
据国外媒体报道,LinkedIn CEO 杰夫・威纳(Jeff Weiner)认为,人们没空去玩Google+. 当被问及社交网络是否有共存的数量限制时,威纳表示,谷歌必须变得更社交化,但他质疑在这点上谷歌能走多远.

从 LinkedIn 发现企业家“基因”

- danefy - 爱范儿 · Beats of Bits
或许是 Facebook, Apple 的故事太耳熟能详了,以致让许多年轻人都觉得“创业需趁早”,“名校毕业的人创业成功几率更大”……诸如此类的想法多多少少给科技公司企业家打上了许多失实的标签. 为了通过数据找到真实原貌,LinkedIn 高级数据研究员 Monica Rogati 通过筛选了1万名科技公司创始人的个人资料,并基于他们的个人背景为我们描绘了一名美国出生的科技公司企业家的大致图景.

Linkedin 大数据生态系统

- - 冰火岛
随着hadoop及其生态系统技术的应用,海量数据挖掘和机器学习算法在实际项目中的作用不断增加. Linkedin的大数据生态系统主要基于hadoop,hive,pig等,从而帮助数据科学家和机器学习研究人员从海量数据中抽取知识,构建新的数据产品特征. 实际上,主要是为了解决最后一公里,提出一套丰富的开发生态系统.