怎么花两年时光去口试一个人?
来源:未知 点击: 发布时间:2017-07-03 11:37
怎样花两年时间去面试一个人?

原题目:怎么花两年时光去口试一个人?

编者按:本文来自微信大众号”待字闺中“(ID:daiziguizhongren),作者刘未鹏;36氪经受权宣布。

Joel Spolsky曾经感慨:招聘难,难于上青天。他有两个辛辣但不乏洞察力的断言:真正的牛人也许一辈子就投大略4次简历,这些家伙一毕业就被好公司抢走了,并且他们的雇主会给他们不赖的待遇,所以他们也不想挪窝。(刚逝世的Dennis Ritchie就是这样一个人)而“人才”市场上能找到的大多都不是什么人才。招到这帮人轻则费钱重则把你公司搞挂。

(当我把这篇文章给邹欣老师review的时候,他说了另外两点:1. 最好的人也许不投简历,就决定去哪里了。所以要在他们做决议前找到他们。2. 比拟差的会投很多次简历,找不到工作的时间越多,投的简历越多,给整个pool 带来很多噪音,top10%的简历也许根本不算全体人的top10%。)

诚然,兴许没有哪个行业像IT行业这样,无形资产盘踞公司的绝大多数资产。拒坊间传言比尔·盖茨就曾经说过相似这样的话:只有容许我带走100个人我能够再造一个微软。这话没搜到原版出处,然而从一个侧面反应了IT公司当中智力资产所占的比例之重。

所以一个天然的推论就是,招聘也许是一个公司决议当中最最重要的一个环节。Joel Spolsky把他在这方面的观察,领会和洞见集结成了一本小册子《Smart and Gets Things Done》,开篇就挑衅“产品是公司成败的要害”这个传统观点,他认为发明最合适工程师生涯的环境,留下最优良的人才才是最先最重要的一步,接下来好的产品是瓜熟蒂落的事情。国内iapp4me.com创始人郝培强恰是这个理念,所以他在微博上说:

我们是小公司,工资开的不高,也不招太多的人,但是电脑都是iMac27,iMac21,Macbook pro15,基础上比很多大公司都好多了。软件没盗版,刚才photoshop的正版我也收了。中午管饭,公司备伞。节日假畸形放,从不加班,凌晨11点上班,下战书6点放工。我是有资历说某些至公司的员工苦逼的。

事实上,米国找个人尚且难成这样,搞得Joel还费神费劲写本书苦口婆心地劝企业们要善待好工程师,国内找个人更是难上加难,海内高品质问答社区知乎开创人周源就曾经在知乎上分享他醉生梦死的招人过程,看完真是让人感慨这年头找个靠谱的人多不轻易(这条知乎问答还有许多出色的跟帖):

其实从 08 年到现在,我始终想这事能不能有点诀窍,或者是适用的方法,结论是简直没有。我用过的大家都用的方法:

  • 在水木上发贴子(有点效果)

  • 在蓝色理想上发贴子(无效)

  • 在技术邮件组里发贴子(无效)

  • 买 51job/智联 最廉价的服务(有点后果)

  • 给所有可以想到的人打电话,请他们推荐(无效)

  • 给所有和你讨论过创业,喝过点小酒的人打电话(无效)

  • 约前共事暗里谈(有效)

我用过的大家可能没有用的方式:

  • 上 twitter,看 XXX 的 follower,一个一个看,看他们的 twitter,博客,Google Reader 分享,想办法搞到邮件,联系,半夜电话骚扰。

  • 上豆瓣,前端后端挑几本分量级的书,去找想看,看过,正在看这本书的人,一个一个看,看他们的运动,博客,Google Reader 分享,想方法搞到邮件,接洽,深夜电话骚扰。

  • 找同事,问他们都看什么技术博客,想办法搞到邮件,联系,半夜电话骚扰。

正是这样的不容易,才有不少公司走内部培养的办法,这里的逻辑是:一上来就招到靠谱的人太难了,但找一块靠谱的璞玉而后雕刻雕琢绝对就简单很多。这倒是个办法,但这样做的人未免就陷入了纠结:培养好了,人跑了怎么办。这也不能怪招聘的公司,的确是人情世故。其实解决的办法也很简单,培养的时候进行恰当引诱,让员工施展自己的主动学习能力,这样岂但人得到更多成长,公司也不会觉得投入太多患得患失。所谓师傅领进门修行在个人。

但是,这依然仍是没有解决根本的问题,就是招聘真的很艰苦。应聘者诚然感到自己是在“海投”,水中捞月普通。而招聘者何尝不也是这种海底捞针的感到。这就比如两个人谈恋爱,都想和对方好上,但是偏偏就聊不到一块去。

招聘真的很难题。甚至于招聘者每年需要搜索枯肠出新笔试题,免得往年的笔试题早就被人背熟了。出题很费头脑,要出的不太简单也不太难,能够滤掉绝大多数冒名顶替的但又要保证不因题目不公正而滤掉真正有能力的,要考虑审题人的时间本钱就只能大多数用挑选题,而取舍题又是可以猜答案的(极少有人会在选了答案之后还敢在空缺的处所写为什么选某答案的起因的)。更悲催的是,有些题目出的连公司的员工们自己都会做错(真的是员工们做错了吗?还是题目本身就犯错了?)

笔试完了之后如果还没有被鄙视就要进入面试环节,姑且不说笔试题的种种弊端,就说面试环节,短短几个小时的面试(大多数公司也许连几个小时的面试时间都没有),既需要全面考察根本知识,又要考察编程素养,还要考察(也许最重要的)性格心态。再然后还有一项根本没法考核但却占领程序员相称一部分工作时间的:debug能力。面试官不但得找准问题,不因对方一题答对而妄下论断,也不因一题打错而就抹杀机遇,还要以管窥豹,从一朵花看到整个世界,从面试人的举止言谈,分析问题的方式,甚至写程序的字迹来观察这个人的性情,做事的方式和心态,简直是要面试官具备心理分析师的水准才行。

这厢要招人的雇主苦不堪言,那边找工作的人也是一团乱麻。绝大多数应届生直到毕业也不清晰他们想要去的公司到底需要什么样的能力,或者说,他们到底需要具备什么样的能力能力在应聘节令占有自己的抉择权。中国固然本科教育环境差,但是同样有很多的人在本科盼望整点东西出来,他们有一腔的豪情和抱负,有壮大的动力,但就是不知道自己需要把握哪些技能才干满意雇主的要求,求告无门,整年整年苦闷的像没头苍蝇一样乱撞(我就收到过很屡次这样的来信,他们往往很想学点东西,但又不知道哪些重要哪些不重要,到底该学到什么程度,不知道导致不肯定,不断定导致决策瘫痪,索性嘛也不动,旷废时间)。

什么叫纯熟?什么又叫精通?那么扎实呢?两年的YY经验又象征着什么?能这么简单的量化吗?同样是两年的“实践”有的人能真的学到点东西,有的人也许近似一无所得。那么实习呢?很多人都必定要在简历上弄个实习经验,这个又能说明多少问题呢?大作业呢?得奖呢?有一次我面试一位同学,据简历说编译原理课的大作业得了一等奖,可我一问什么是递归降落,就傻眼了。

这个事实的成果就是,当初绝大多数应届简历而言,也许最具信息量的局部不是“粗通XXX,熟习YYY,控制ZZZ”,不是“在UUU实习过”,也不是这个名目那个功课,反倒是越来越被以为不主要的一项:毕业学校。毕业学校本不应当是最具信息量的,它之所以最具信息量只是源于一个悲剧的事实:简历上其余条目切实信息量太少了。所以靠谱的面试者往往学会了疏忽简历上朴实无华的内容,只信任面试的时候亲眼所见,扫两眼简历也就罢了,最后还得本人捋起袖子缓缓面。而应聘者也许也晓得招聘的也不会细细纠简历上的条目,所以什么词也都敢往上捅,反正先过了HR筛简历这关再说。从经济学角度来讲,应聘者的这种策略是准确的,没有代价(因为目前仿佛没有公司会去给已经申请过的人做一个诚信数据库),但至少有可能会带来宏大的收益。应聘成了博彩。而博彩式的应聘给招聘公司带来了伟大的筛选压力。简历成了陈设。

那么招聘这个关联里面的第三者--学校--所处的地位呢?学校更关怀的是毕业率和就业率,这似乎是件好事,有这个为目的,那么老师们好像应该尽力让自己的学生多学点东西。惋惜就业的质量好像不是最重要的指标,此其一。其二老师本身大多数没有丰盛的业界经验,根本不知道企业整整需要的人才是什么样的,可能花了精力,但却培养不出雇主真正需要的人。另一方面,老师所起的作用很多时候甚至是一个负面的作用,例如安排大作业名义上看上去是培养学生的能力,我们姑且不说剽窃,假设每个人都做了,那么大作业本身能够衡量多少东西呢?能否衡量代码质量,是否衡量团队协作能力?能否衡量交换能力?斟酌到大作业用到的东西往往都是书里面现成的,大作业甚至不能衡量学习能力。而学习能力几乎算是这个行业最重要的能力没有之一了。

所以,简而言之,如果把人才造就/招聘这件事情自身类比做一个项目,那么这整个项目迄今为止就是一个巨大的失败。为什么这么说呢:

和需求严峻脱节:作为人才需求方的雇主的需求到底是什么?绝大多数应聘者都没搞清。更严重的是,这却一点都不是应聘者的错。因为雇主是stakeholder,是雇主自己的责任得去说清楚需求是什么。结果应聘者实现的不是雇主想要的,雇主想要的应聘者没有实现。

应聘者雇来培训自己的人根本不论事:学生交了膏火,就相当于雇老师来培训自己,可培训者根本也不懂得(或不关心)他的客户们的需求。这里,学生是需求方,老师则是实现方。弄清需求的职责在后者,可后者也弄不清。

学生自己也弄不清:学生自己既是需求方(需要特定技巧),也是实现方。可他们自己也弄不清需求到底是什么。

以上三点还不是最严峻的,最重大的在下面:

清楚需求是什么的也不知道怎么实现:怎么去培养古代IT企业真正需要的人才?特别地,实战能力怎么培养?代码素养怎么培养?协作沟通能力怎么培养?学习能力怎么培养?就算这些都知道怎么培养,又怎么给在象牙塔里头,离催命之日还遥遥无期的学生供给足够的动力呢?而学生自己就算知道该学哪些技能,又怎么知道详细怎么着手?什么是最有效力的学习方法?又如何让自己坚持学习的热忱?

以上这些问题,就是当下人才培养/招聘的惨淡现状。简而言之,在雇主和学生之间,横梗着一条巨大的鸿沟,两头都很焦急,两头都有动力,但就是没有方法,君住长江头妾住长江尾。像微软谷歌这样的,罗唆和高校协作,直接插手本科或硕士的教育,从而保障到时有足够强的候选,某种程度上,这确实是根本解决之道,可一来这代价太大了,非正常企业蒙受得起,二来这影响面也太小了。

这所有,也许将在未来的5年产生基本的变更。

《Switch: How to Change Things When Change Is Hard》(中译《瞬变》)里面指出,表面上看来十分困难的改变,也许是因为根本就没有抓住关键。在书中作者通过大量案例剖析和心理学研究,雄辩地指出以下几点促成改变的症结之处:

  • 触动内心的大象:要改变的人必需要有感情层面的能源。有一些特定的办法能够比另一些方法更能对人的情绪发生触动。

  • 给出清晰、明确的目标:目标一定不能暧昧,模棱两口的目标让人莫衷一是,导致决策瘫痪。例如最近我们组在招实习生,我在微博上发了一条招聘信息,其中提到“扎实”的系统底层知识,有同学就写信来问,怎么叫“扎实”。我傻眼了。比尔·盖茨就以目标清晰明确着称,不仅在策略制订上,“每个人桌面上都有一台PC”,而且竟然还体现在招聘上--“如果你读完了TAOCP,那么就给我投简历吧”。多么清晰,明确的目标啊--虽然高了点,也许这就是比尔·盖茨至今还没被应聘邮件吞没的原因:)

  • 给前进的道路扫清阻碍:人是怠惰的,只要有借口就会不想往前。如果既有明确的目标,同时途径又直直指向目标,和盘托出,只等你开始往前走,那么便没有借口,勇往直前。

那么让我们对比上面看看,可以做什么?

首先,心坎的大象不需要触动,中国有足够多的人足够早就开始焦急就业的事情,只是不知道往哪使劲,这部门人假如把劲头用到正确的事情上面也许足以满意现在的IT企业人才饥渴了,新澳门娱乐。至于其别人,好吧,也许身边的人开始动起来他们也会被触动。

然后是清晰、明确的目标。这一点上目前雇主们的做法可谓好坏参半,好的一点是大家都强调要有实际经验,要有团队协作精力,坏的一点就在基础知识和技能的要求方面,堪称再含混不外了:“精晓XX语言”,“扎实的XX功底”,“熟悉XX技术”,甚至看上去最具量化感的描写“X年YY经验”其实都根本解释不了多少东西,在信息量方面还不如我家门口菜市场上一家卖酥油饼的店门口挂的横幅--“三天不硬、至少六层!”。

很多友人也许留神到一个景象,现在企业对招聘者简历的要求也在变得越来越机动变通,例如ThoughtWorks在招聘的时候就愿望招聘者能给出自己的博客地址,博客对IT行业的意思也许赛过其他所有行业,一个积聚多年的技术博客比任何简历都更能说明问题。台湾的郭安宁也说“为什么写技术博客对新人如斯重要”。可惜这个做法也有一个弊病:并不是所有技术牛人都写博客,有人就是只干不说型的,而就算写博客,乃至动手写过一阵子的,写一个长年的博客,也远比你设想的更为困难,因为很多时候,写(说)得靠谱比做得靠谱更难。所以这个过滤器很多时候用不上。

但是这的确表明了一个思考的方向,就是寻找更具鉴别力的过滤器,Stackoverflow Careers 2.0之所以强大,是因为Joel Spolsky和Jeff Atwood这两位终年混社区的资深博主创造性地将一个人在社区的活动历史稀释成为一系列的量化数值,因为这个历史很长期,所以辨别力无比高。但它同样也有问题,就是对应聘者来讲相称消费时间,而且并不是花时间(在Stackoverflow上回答问题)就一定能花到点子上。

到底什么特征才是既通用,又能够有效地鉴别高下应聘者的特点呢?这个特征必须不像博客那样难以实现,同时又必须有足够的分辨度。

有的地方在要求填写简历的时候必须填上平时都拜访哪些技术网站。恩,很不错的尝试,可划分度仍旧还是不够,因为上网站上查东西毕竟只占现阶段大多数应届生的少数信息起源,特别是当我们重视得更多的是应届应聘者的系统性的知识基础的时候,网上的东西虽然丰硕,但属于提高班,也更为琐碎,什么是更系统的知识来源呢?答案其实大家都知道--书。

我一贯认为,很多时候,是否好难看完一本好书,对一个人的晋升往往能到达质的区别。就算不好好看完一本好书,随随便便看完,只要书是真的好书,也确定会有很大的进步。我在面试的时候就时常讯问对方看过哪些技术书籍,常常上哪些网站,订哪些博客。这里头尤其数书籍这一项的辨别度最高。此外,好书和坏书的差别,从实质上,就是学习效率和慷慨向的差异。一本烂书可以挥霍你半年的时间,但一本好书却可认为你带来真正扎实的基础和宽阔的视线。人们经常用“内功”来形容扎实的基础,认为学好了内功以后学什么都快,实在一点没错,好的“内功”书不仅讲明白深入的原理,而且指明技术的本质,描绘领域的舆图。好的书捉住不变量,让人能够举一反三。好的书不仅先容知识,而且阐释原则,介绍那些万变不离其宗的东西。读烂书糟蹋时间,但读好书却节俭时间。

象牙塔内的学生受到视野的限度,往往择书不慎,事倍功半,烂书不仅浪费时间,还会打击人的踊跃性,让人对知识心生胆怯,认为很难掌握,殊不知只是作者没有讲好(或者没有翻译好)。因而,为招聘头疼的公司完全可以给出“应聘俺们公司前必读的十本书”,也不一定要每个公司都不一样,在某个技术子领域有影响力的人,或者创始人们,可以来定义具有代表性的书单。

我们权且把这个筹划叫做“书单计划”,容易看到“书单计划”具备以下几个出色的长处:

  • 清楚、明白。完全可度量。

  • 防伪:读没读过,随意一问便知。而正因为应聘者也知道这事不像实习经验可以忽悠,所以也不敢乱往简历上捅词。

  • 不在乎是否“泄题”:书单完全公然的,无所谓,原来就是要你去读的。想背题?背书吧。真能背下来说明认真看了。

  • 管你居心不必心读,只要读了,读完了,就有差别。真正的好书,你想不被吸引都难。据我视察很多人就是不知道该去读什么书。

  • 不存在“怎么做”的障碍:所有人都知道怎么读书--一页一页读。

  • 不须要应聘者投入精神:书单在此,就这么简略,你看着办。

  • 评估的累赘很大程度转移到了应聘者的身上:是不是当真看完了,有没有心得体会,您自己掂量。没看完别来找我们。

“书单计划”能很大程度上起到强鉴别器的作用,看了就是看了,必然能学到东西,没看就是没看。知道和不知道,区别是本质的。其实很多企业内部培训,根本上其实还不就是叫员工去看之前没看过的书或者材料嘛。最后,除了鉴别作用之外,它还是一个清晰增进的目标,是完全不花精力的培养。

当然,“书单规划”的背地是另一个悲剧的现实,如果不是因为这个现实,这个方案也完全没有必要,那就是,中国IT大学教导当中要求要学的书,和企业真正需要你去读的书比拟,不是完全不够用,就是写的不够好,或者更悲剧的就是根本用不上,所以在这个大背景下出来的牛人都是自己淘书自己学的。微软高等开发测试工程师,《Windows用户态程序高效排错》作者熊力就在微博上说过:“我当年毕业的时候总结了一个公式:第一份工作的月薪=大学四年买过的技巧书籍价钱的总和。”

但是光有“书单打算”还不够,因为书籍只能管基本常识这一块,一些更难以量化权衡的实战“才能”又怎么办呢?至少目前为止,除了“练”之外似乎还没有特殊好的措施。可是在象牙塔里面做的项目,或大作业,真的能起到练的作用吗?前面说了,学生会知道自己终极要交差的不是雇主,而是老师,于是就以老师可以评判的尺度来默认请求自己了,老师可能评判编码素养?代码作风?文档?设计?合作?甚至连有名的Joel 12条的第一条“是否用源代码治理体系”都没法通过,新澳门娱乐。所以大多数时候,大作业能起到的作用近乎0。

但是如果这一切是由雇主来评判的,这个“作业”是由雇主来给出的,就完全不一样了。一想到作业是要作为简历的一部分的,能不缓和嘛。能不好好做嘛。能不学到点货色嘛?

可是这事儿能实现吗?雇主能给学生出大作业吗?也许一两个关系好的高校可以,可是中国那么多学生呢?

为什么不能呢?如果像书单那样,列出各个技术范畴“推举在学校期间尝试的项目”,至于动不着手做,那是学生自己的问题。做的,做作能够得到锤炼,面试的时候天然能得到更大的上风。

可问题是,面试的人又怎么来评估呢?这不又回到了没法有效评估的怪圈了吗?谜底很简单,但这个答案,直到最近几年,才真正成为现实--GitHub

GitHub出生于08年春天,第一年便产生了4万6千个公共项目,大概一年半之后用户就已经达到10万用户之巨。而到今年玄月份,GitHub已经迎来了百万级用户。Host超过两百万个项目。

增加的太快了!就像Twitter一样。这样疯了个别的增长只能阐明一个事实--人们等候这个产品太久了。

Social Coding。

真实的项目,真实的流程,实在的人名,一切代码review, check-in, test, build, document, 甚至探讨,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。有教训的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够敏捷断定这个人是否知足他的要求。不再需要吃力神思地去想标题,去察看,去揣摩,去破费大批的时间的同时还只能采样到几个极为有限的点。

不像象牙塔里面大作业,这里有源代码管理系统,主动化build,有check-in,有review,有分工,有配合,最重要的是--这是一个集市,一个超越象牙塔的集市,牛人彼此吸引,你可以在互联网上找到和自己领有独特兴致的一帮人,真正做起一点事情,而不是交差,新澳门娱乐,不需要受限于几十个人的一个小班级。Here Comes Everybody。

为什么我这么有信念?因为这事儿已经发生了。这个主意也完全不是我原创的。

正如很多事情一样,现在在国内发生的事情,往往是美国那头的历史。今年7月中旬,纽约一家公司的工程师老大发了一篇博客文章:Github is Your New Resume。指出一个惊人但再合理不过的事实:越来越多的IT公司在招聘的时候要求应聘者给出GitHub账号。甚至已经有人为GitHub写了依据GitHub上的历史自动天生简历的工具。

细心想想,这是必然的趋势,没有比这个再合理的事情了,既然StackOverflow的历史能够作为简历,GitHub的历史不本该就是更好的简历吗:你想要拥有实战经验,懂check-in懂review懂test和代码质量的重要性,懂交流和沟通的重要性,你本就应该在一个真实的项目当中去锻炼这些东西,而这些在目前已经完全可以办到。正如邹欣老师所说,你的工作就是最好的面试。

这件事情放在早多少年,是完整没法做到的,由于咱们那时候还没有GitHub。正如没有Twitter,不微博之前,良多事件都不会成为可能一样,你有千钧之力,缺少一个适合的支点,也没法撬动一全部社群。无组织中的组织,存在强盛的杠杆效应。

这个事情里面,我唯一提出的东西就是:在目前国内这个现状下,苦闷的招聘者应该自动举动,给出一些倡议项目,正如前面提到的书单计划一样,招聘者需要给出的只是领导和清晰明确的目标,剩下的事情,应聘者自然会去完成,这些项目可以是试验项目,也可以是完全能做出点卖钱的东西的项目(如果好好做的话),独一的不可或缺的条件是,项目不能太小,单人就能完成的项目不理想,一两个月就能完成的项目不幻想,最好足够大到能够锻炼到方方面面,偏大一点倒是无所谓的,因为一个尚未完成的项目完全可以作为简历。当然,可以想见的是,真到了那个时候,学生们肯定又是不会满足于仅去做那些已经有很多人做过的项目了。所以这里企业们一开始所提议的项目只是一个《Nudge》,是滚雪球之前需要的一点初始动能。后面的事情,他们自己会实现。

“GitHub计划”同样有一些显明的、甚至不可替换的优点:

  • 清晰、明确,完全可度量。

  • 防伪:同样不担忧“泄题”。你捏造不了GitHub历史,伪造不了check-in历史,review comments,文档,交流记载…

  • 它不但是招聘,也是不花精力的培养。善哉善哉。

  • 评估的义务很大水平上交给了应聘者自己。

从你的GitHub旅程开始,你就已经一脚踏进了真正的企业,而企业的面试也已经开始。

书单+GitHub,就相当于一个两年左右的面试。

没有什么面试比连续两年的面试更具备信息量。

书单,加上项目,已经基本上笼罩了所需的全部技能。最妙的是,有太多的人在着急的期待着他们未来的雇主给出明确的信号,他们想投入精力,去学习和实践,去成为企业需要的人,但是他们就是不知道往什么方向走,所谓有动力没方向。所以,雇主给出了清晰明确的要求,相信对于很多人来说反倒是一个摆脱:“终于知道该干什么了”。《编程之美》为什么常居畅销榜?因为它流露了雇主眼中的需求,明确、清晰的需求,可以实现,并且知道怎么去实现的需求。

你提前两年就开端面试跟培育将来的候选者,而且还不需要你花出一分精力,而且人家还很愿意,没有比这更完善的面试了。

想一想,当前那些没见过世面的公司看见你拿出GitHub账号给他看,该是多么惊奇同时又认为如许公道。

而这一切,只是因为两个小小的转变:

  • 由需求方(雇主)给出了清晰、明确的目标。

  • GitHub这样的平台。

那么,学校/老师在这个事情当中的位置呢?说瞎话我不知道。没有哪个行业像IT行业这样特别:没有什么东西不能够(应该)在互联网上学到的。自组织的力气完全大过传统的教育方法。而且,既然雇主都当了带路人了,我不知道还有旁边开发商什么事儿。(注:这里说的是软件开发,并非计算机迷信研讨,后者另当别论)

那么,这个改变会发生吗?多久会发生呢?当然,它在国外已经发生了,所以问这个问题多少有点无趣。但我还是预计很快就会在国内发生,究竟,不是已经有人要求出示博客,和常常阅读的网站了吗?也许5年左右(4年本科和6年硕士的中间值?))就会深刻改变整个人才培养/招聘的格式。当然,我并不是预言家,所以不要把我的时间估量认真,我能肯定的是,这种方式是必定的大势所趋。

方才我就收到一位同窗邀请我上知乎答复一个问题“找工作的重要准则是什么?”,当然,这个问题的答案是:“弄清雇主的需要到底是什么”。

列一下我所认为的,你面试微软前必需要读的十本书:

  • Code: The Hidden Language of Computer Hardware and Software (《编码的神秘》)

  • Computer System: A Programmer’s Perspective (《深刻懂得盘算机系统》) / Windows via C/C++ (《Windows中心编程》 / 《程序员的自我涵养》

  • Code Complete 2(《代码大全》)/ The Pragmatic Programmer (《程序员修炼之道》,我也把这本书称为《代码小全》)

  • Programming Pearls (《编程珠玑》) / Algorithms / Algorithm Design / 《编程之美》

  • The C Programming Language

  • The C++ Programming Language / Programming: Principles and Practice Using C++ / Accelerated C++

  • The Structure and Interpretation of Computer Programs (《计算机程序的结构和说明》)

  • Clean Code / Implementation Patterns

  • Design Patterns (《设计模式》) / Agile Software Development, Principles, Patterns, and Practices

  • Refactoring (《重构》)