V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ninechapter
V2EX  ›  程序员

你真以为 Howell 被 Google 拒是因为没做出翻转二叉树么?

  •  
  •   ninechapter · 2015-06-13 08:22:24 +08:00 · 17768 次点击
    这是一个创建于 3480 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Homebrew 的作者Max Howell面试被 Google 拒啦,因为他不会翻转二叉树,然后作者在twitter上开骂:



    1. Max Howell 是个什么鸟蛋?
    Max Howell 是Mac上著名软件Homebrew的作者,Homebrew是什么?可以理解为Ubuntu上的apt-get,用这个软件可以轻松的装其他的Mac上的软件。主要是服务程序员的。这是一个非常重要的对于程序员来说不可或缺的Mac软件。

    他的LinkedIn和Facebook:
    https://www.linkedin.com/in/maxhowell
    https://www.facebook.com/maxhowell

    2002-2007年在读书,2002-2007年在KDE工作,2007-2009去了Last.fm 担任tech lead,2010-2011年去tweekdeck也是担任tech lead。然后2011年开始创业,先后在Racket担任co-founer和在Popular Pays担任CTO。2013年开始,在Mobile Makers Academy上当instructor。

    从这份简历来看,应该是一个很牛的人,大学里就开始在企业实习/工作,接着又创业,当co-founder,做CTO。最重要的是作为Homebrew的作者,让他名声大噪。


    2. 翻转二叉树是个什么鸟题?
    给出一棵二叉树,求这棵二叉树的镜像。如:



    你可以去LintCode上试试看做做这题: http://www.lintcode.com/zh-cn/problem/invert-binary-tree/

    这个题目在LintCode上的难度属于Easy,根据LintCode的定义,如果Easy难度的题目无法在面试中答出来,确实是拿不到Offer的。

    这个题的解法一句话就可以描述清楚:遍历二叉树的每个节点,然后将每个节点的左右儿子对调。

    九章上的参考程序如下,只有8行……8行……8行……:
    http://www.jiuzhang.com/solutions/invert-binary-tree/?source=v2exmhw



    3. 到底为什么被拒?
    面试被拒的原因按照惯例公司是不会告诉求职者的。虽然 Max Howell 从简历上看起来很牛,但是他被Google拒了。具体原因是什么?真的是如他所说的不会二叉树镜像么?那么我们首先要知道,IT企业决定是否Hire一个人的标准是什么。一般来说,主要有在下面三个方面的影响因素:

    1)求职者的经历的牛逼程度
    2) 企业是否有合适的职位给求职者
    3) 求职者在面试中的表现

    很显然Max Howell满足第一个条件。我们会一般认为,牛逼的人企业就应该给Offer。但是这是错误的观念。第二个条件和第三个条件的重要程度均超过了第一个条件。

    对于第二个条件,试想一下如果公司不缺人,为什么还一定要招聘你?再试想一下,这个人在A领域很牛逼,但是公司需要B领域的人才,那么是该发拒信还是Offer?再再试想一下,如果公司空缺的职位所需要的人才只是花10w$请一个应届毕业生就可以搞定,为什么要花30w$来请一个CTO来做?以上三种情况,都极可能会发生在Max Howell的身上。

    对于第三个条件,首先我们要知道面试的流程和面试官给求职者评价的依据。对于Max Howell这样的资深Engineer来说,一般来说面试可能包含如下的四个部分:Coding面试,Experience面试, System Design面试,Culture Fit面试。一般来说至少4名面试官会与你交流给你评价。所以你的面试结果并不是由一轮面试和一个面试官决定的,面试官只是根据面试的情况给出一个评价(hire, no hire, strong hire, weak hire),并说明具体原因。最后这些评价会提交给 Hire Commitee,由HR综合所有的评价给出是否Hire的决定。做二叉树镜像属于Coding面试,算法的考察是一个方面,Coding能力的考察也是一个方面。因此,只是说因为不会二叉树镜像而被拒,是不全面也不负责任的说法。公司并不会给你一个feedback告诉你为什么被拒,只是会告诉你,“这是一个艰难的决定,你很优秀,但是我们没有合适的职位给你,我们期待之后能够再联系”。另外还需要说明的是看似不起眼,但是非常重要的Culture Fit面试。在这一轮面试中,面试官主要考核面试者的内容是看看面试者是否能够和同事们愉快的工作。这方面没有一定的参考标准,但是从Max Howell的经历来看,这一轮的面试很可能无法通过。首先他很Geek。笔者周围的朋友中不乏技术非常牛逼的Geek,但这些人因为太Geek,EQ往往都很低,无法与同事愉快的一起工作,自己一个人干可以,但是在团队中,就非常糟糕,比如总觉得同事都比他傻逼,总觉得老板都是傻逼等等,虽然事实上可能他是对的,但是你愿意和这样的同事一起工作么?从Max Howell的工作经历中,依稀可以看到这一点——每份正式工作都不超过2年,在跳槽不那么频繁21世纪初,这是不正常的。

    4. 到底怎样才能拿到Google Offer?
    根据前面的分析,我们猜想Max Howell可能被拒绝的原因有如下的一些:

    1) 因为不会写二叉树的镜像,表现出来的算法能力薄弱和无法与同事(面试官)一起合作解决问题的能力有欠缺。
    2) 经历很牛逼,但这些经历更适合去一家创业公司,而不是Google这样的大公司。大公司更需要能够与人合作的人才。小公司才更需要单枪匹马的人才。
    3) 有创业经历者,大公司在招聘时会有一些考虑。因为很可能呆不久就又跳槽了,或者挖人走,也可能不专心工作,自己搞项目。
    4) 没有合适的职位提供给他,或招聘他的成本太高。

    那么到底怎样才能拿到Google Offer呢?简单的思路是,避免上面这些被拒绝的原因即可:

    1) 提高算法能力和Coding能力。算法能力体现的不只是算法的知识储备本身,更加是一个人是否是聪明的人的标志。对于Google这样的大公司而言,他不需要你已经具备在某个领域的很强的战斗力,而是希望你足够聪明就可以了。大公司是很愿意花时间去培养你的。而小公司正好相反。
    2) 增强与人沟通和合作的能力。Teamwork是每个大公司都强调的求职者必须拥有的素质之一,一个teamwork方面有欠缺的求职者不仅仅无法做好自己的事情,更加会影响到团队中的其他人。以解决算法面试题为例,其实面试并不是一场“考试”(这是大多数人的误解),而是你与未来同事(面试官)一起合作解决问题的一次模拟。你是可以从面试官那里得到提示和帮助来一起解决算法问题的。一般面试中也会尽量避免算发性特别强的面试题,所以一般只是一些简单的如“二叉树镜像”这样的问题,根本没有难度,做不出来极有可能是求职者过于自负的心理抵触做如此简单的事情。
    3) 别告诉面试官/HR你创业过。或许这个经历很牛逼,但那只是说明你适合去小公司,不适合来Google这样的大公司。
    4) 在合适的时机找工作。通过内部员工或公司网站了解公司的招聘情况,是否缺人等等。如果你看到Google正在裁员,你被招聘的可能性是很小的。眼光放开阔一点,硅谷并不是只有Google才是好的IT企业。
    59 条回复    2015-06-14 22:53:17 +08:00
    yxzblue
        1
    yxzblue  
       2015-06-13 08:32:39 +08:00
    没啥
    vietor
        2
    vietor  
       2015-06-13 08:34:08 +08:00 via Android   ❤️ 9
    自干五思维,楼主哇
    wzxjohn
        3
    wzxjohn  
       2015-06-13 08:38:19 +08:00   ❤️ 3
    我只能说,这篇软广不错。
    txl263
        4
    txl263  
       2015-06-13 08:42:09 +08:00
    v2ex上的软广都这么高大上
    soyking
        5
    soyking  
       2015-06-13 08:46:48 +08:00 via Android
    道理我都懂,但是为什么Google没有要Howell呢?
    miukal
        6
    miukal  
       2015-06-13 08:52:09 +08:00 via iPad
    关于影响因素2,Max 在原推下面回复说是面试 iOS tools 职位的,所以Google有对应职位的。而且我猜Google这样的公司应该不会碰到一个自己需要领域的大牛,但是因为只需要一个应届生干活就给拒了吧。况且如果真不需要大牛,完全可以别请他来面试的。
    影响因素3,他能管理一个大型开源项目,与人沟通能力应该不是问题?
    大公司不喜欢创业过的,这个不了解,真的有这个事吗?Google也收购了不少创业公司,很多不就是为了人才收购吗?
    bbx
        7
    bbx  
       2015-06-13 08:55:28 +08:00
    楼主纯扯淡,google确实有可能因为不会刷题就据了你,因为大部分的面试官之前可能就是刷题进去的,什么样的人招什么样的人,不过我也并不了解整个事件。
    xcv58
        8
    xcv58  
       2015-06-13 08:57:11 +08:00
    LZ 想太多了吧。

    后来才发现是软广。
    qqjt
        9
    qqjt  
       2015-06-13 09:04:04 +08:00
    这个完全是yy出来的吧
    ariza
        10
    ariza  
       2015-06-13 09:12:02 +08:00
    不觉得第二三点比第一个条件重要得多
    hahasong
        11
    hahasong  
       2015-06-13 09:21:39 +08:00 via Android
    楼主这么吊,是在谷歌吗
    zomco
        12
    zomco  
       2015-06-13 09:21:43 +08:00   ❤️ 1
    坐等“我就是面试Howell的那个HR”系列
    iyangyuan
        13
    iyangyuan  
       2015-06-13 09:30:11 +08:00 via iPhone   ❤️ 2
    毫无营养的文章
    susanDao
        14
    susanDao  
       2015-06-13 09:43:27 +08:00 via iPhone
    面试嘛,我一直觉得运气实力一半一半
    kiritoalex
        15
    kiritoalex  
       2015-06-13 09:49:45 +08:00
    楼主你是在Google的HR部门工作还是Google的员工啊
    lsmgeb89
        16
    lsmgeb89  
       2015-06-13 09:52:27 +08:00
    我想说这软广好长~~
    ZhaoMiing
        17
    ZhaoMiing  
       2015-06-13 09:55:50 +08:00 via iPhone
    看lz的头像和文内链接所以这是个软文啰?
    Rorschach
        18
    Rorschach  
       2015-06-13 09:56:38 +08:00
    "这是一个非常重要的对于程序员来说不可或缺的Mac软件。"

    你没觉得这句话读不通吗?不应该是“这是一个对于程序员来说非常重要的、不可或缺的Mac软件。”
    sacuba
        19
    sacuba  
       2015-06-13 10:05:39 +08:00
    @Rorschach 我感觉他这是英式汉语
    PP
        20
    PP  
       2015-06-13 10:05:42 +08:00 via iPad
    除认为“避免被拒思路”第3点有较大争议外,对其余观点基本无异议。

    这篇文章从实务出发,比较有价值,为何诸位如此的排斥?放任自身“洁癖”倾向,甚至任其影响自己的判断标准和选择能力,一面得意于对小小瑕疵的敏感,另一面却草率的拒绝有价值的知识和经验,这种做法睿智吗?
    Andiry
        21
    Andiry  
       2015-06-13 10:06:56 +08:00
    喷了,写的好像作者是Google面试官一样
    monnand
        22
    monnand  
       2015-06-13 10:13:57 +08:00 via Android
    楼主这篇文章写得真是非常实在的。现实中的面试(大部分)都像楼主分析的那样。
    FrankFang128
        23
    FrankFang128  
       2015-06-13 10:25:03 +08:00 via Android
    居然不是 @ping++ 发的帖子
    windyboy
        24
    windyboy  
       2015-06-13 10:33:44 +08:00
    软广,鉴定完毕
    GtDzx
        25
    GtDzx  
       2015-06-13 10:39:56 +08:00
    @Andiry 没准真是。九章的团队都是肉翻到google facebook的工程师,当过面试官不足为奇。
    hooluupog
        26
    hooluupog  
       2015-06-13 10:48:06 +08:00
    “他不需要你已经具备在某个领域的很强的战斗力,而是希望你足够聪明就可以了。”
    ===================================================
    非常同意这句话。所以你会发现很多名企招的名校的应届生对实际工作中具体的某个项目或者某个技术知道的并不多,甚至是空白的。但人家更看重的是“学习新事物”的能力。
    LintCode
        27
    LintCode  
       2015-06-13 11:28:52 +08:00
    @hahasong 还真是……参见25楼。
    crystone
        28
    crystone  
       2015-06-13 11:44:33 +08:00
    记得whatsapp作者面facebook的时候不是一样拒了么 后来f家可是花了大价钱买回来的啊
    jsuper
        29
    jsuper  
       2015-06-13 11:46:42 +08:00
    软广直接block...............
    lyragosa
        30
    lyragosa  
       2015-06-13 11:48:18 +08:00
    什么,原来是软广?
    AmberBlack
        31
    AmberBlack  
       2015-06-13 11:48:24 +08:00
    block 你推广你的产品不是不可以,恶心的就是拿别人来做标题。
    sneezry
        32
    sneezry  
       2015-06-13 11:49:58 +08:00 via iPhone
    写的很棒!
    Khlieb
        33
    Khlieb  
       2015-06-13 11:51:11 +08:00
    @vietor @txl263 @xcv58
    就是,官话连篇
    ivanchou
        34
    ivanchou  
       2015-06-13 12:01:01 +08:00 via Android
    看了下 id 原来是软广……
    ChiangDi
        35
    ChiangDi  
       2015-06-13 12:05:43 +08:00
    我决定 block 掉那些专门发软广的,比如那个什么 ping++,什么牛课网,还有楼主这个帐号。
    太心累了,仔细看了半天最后发现是个软广。。。要发广告就直接发好了,折腾那么多干啥,大家又不是傻子
    msg7086
        36
    msg7086  
       2015-06-13 12:06:52 +08:00
    Lintcode不支持Ruby这让我情何以堪
    irgil
        37
    irgil  
       2015-06-13 12:48:36 +08:00 via Android
    @hahasong 九章的讲师还真是都是flag里的,也都当过面试官……
    quericy
        38
    quericy  
       2015-06-13 12:53:41 +08:00
    软广不错,差点被钓进去了,看到LZ的头像才反应过来。。
    schezukNewTos
        39
    schezukNewTos  
       2015-06-13 14:33:32 +08:00
    『企业是否有合适的职位给求职者』?
    有些时候招募一个人就是招募一个部门。招徕一个人才就是储备一种可能性。
    schezukNewTos
        40
    schezukNewTos  
       2015-06-13 14:34:12 +08:00
    但是这个软广真的蛮有意思的~~~
    momo5269
        41
    momo5269  
       2015-06-13 15:13:40 +08:00
    最后发现是软广
    inroading
        42
    inroading  
       2015-06-13 15:16:19 +08:00
    这篇文章写得不错,植入也非常到位
    akira
        43
    akira  
       2015-06-13 15:32:51 +08:00
    看完觉得怪怪的,里面充满各种猜测,论据根本站不住 脚。。。。

    回头看才发现是篇软文呀。。
    iluhcm
        44
    iluhcm  
       2015-06-13 15:36:37 +08:00
    看到后面再看作者的图像和标题,才发现我错了
    dahvlh
        45
    dahvlh  
       2015-06-13 15:52:17 +08:00 via iPad   ❤️ 1
    这么用心的软广应该点个赞才对呀 干嘛屏蔽
    chengzhoukun
        46
    chengzhoukun  
       2015-06-13 15:56:23 +08:00
    抄知乎的回答最好写个转吧
    iichenbf
        47
    iichenbf  
       2015-06-13 15:56:42 +08:00
    骗钱的
    chengzhoukun
        48
    chengzhoukun  
       2015-06-13 15:59:49 +08:00
    tnx2014
        49
    tnx2014  
       2015-06-13 18:50:36 +08:00
    本来以为自己写的,没想到是抄袭别人的,呵呵。我就说广告者怎么变得这么有素质了。
    mathgl
        50
    mathgl  
       2015-06-13 19:49:40 +08:00 via Android
    好长,看了跟没看一样,没有八卦也没有干货。
    bin456789
        51
    bin456789  
       2015-06-13 19:52:51 +08:00 via Android
    浓浓的知乎味
    jiongjionger
        52
    jiongjionger  
       2015-06-13 22:39:21 +08:00
    广告就直接发,别发这种软广,真让人反感,浪费时间。
    baiyemao
        53
    baiyemao  
       2015-06-13 23:12:34 +08:00
    可以砍了么,这种.
    pysama
        54
    pysama  
       2015-06-13 23:12:54 +08:00
    看第一句,然后下意识的看了下头像,就知道是软了。

    不过我还是看完了。
    ninechapter
        55
    ninechapter  
    OP
       2015-06-14 00:58:52 +08:00
    @tnx2014 @chengzhoukun 我们是在得到该作者允许下发的呢。
    alexapollo
        56
    alexapollo  
       2015-06-14 01:55:18 +08:00
    其实很多时候面试就是跟你讲一个名词,比如:翻转二叉树
    很多人连这个名词都没听过。。。。。
    几年前我刷完了leetcode,但我表示我也从没听过这个名词。。。。
    df4VW
        57
    df4VW  
       2015-06-14 02:07:15 +08:00
    废话连篇
    toode
        58
    toode  
       2015-06-14 08:04:31 +08:00
    我就想知道这哥们为啥悲剧的,你丫却BB这么多
    tnx2014
        59
    tnx2014  
       2015-06-14 22:53:17 +08:00
    @ninechapter 允许的也应该说明原作者和出处,直接复制粘贴就是对别人不尊重。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:09 · PVG 23:09 · LAX 07:09 · JFK 10:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.