2016年百度校招小结:我作技术面试官的一些思考



做者:来源:靖难|2015-11-18 18:47前端


一个多月前,做为技术面试官参加了百度 2016 年的校园招聘深圳站面试,主要目标学生是清华/北大/哈工大/中科院linux

在本地的研究生院(实际上并无设限,有很多江西广西福建的同窗过来面试了),这里和你们分享一点本身的思考。git


一个多月前,做为技术面试官参加了百度 2016 年的校园招聘深圳站面试,主要目标学生是清华/北大/哈工大/中科院程序员

在本地的研究生院(实际上并无设限,有很多江西广西福建的同窗过来面试了),这里和你们分享一点本身的思考。github


咱们通常有 3 轮技术面试,一面二面一般是由资深的工程师面试,三面通常是技术经理面试。我负责的是一面和二面web

面试过程当中除了给全公司层面的统一招聘人才,咱们还随时 要准备物色合适的人加入本身的团队。面试官会根据面试面试

过程对每一个候选人的编程能力/逻辑和思考能力进行评价,只有每一轮的面试官都给予经过,才有可能被录 用。算法


面试是一个双向考察和选择的过程,因此面试时我一直尝试把这当成和候选人的一次沟通docker

面试的过程有大量的问题也是根据候选人自身的特色提出的,而不是遵循了某个题库固定的题目。数据库


总体感觉是,大多数人真的很弱,你并不须要「很是努力」,就能够比大多数的人「优秀」

下面就你们关心的一些问题分开讨论下。

wKiom1lR_g7SHYzYAAOPx15I5hY286.png-wh_50


教育背景

不少同窗咨询我时,有意无心地给本身贴上了「渣二本」「普通一本」「非 211」这样的标签,这都表面其心里仍是很是介意本身的教育背景很差。我想你应该庆幸本身生在互联网时代,这个时代的人和资源都暴露在互联网中

你彻底有机会用互联网来证实本身的能力和曾经的努力。


我在面试时能明显感受到,一些好学校(好比中山大学/哈工大/清华北大/厦门大学/华科武大等)的学生,在基础知识/表达/逻辑能力等都要更强一 些。我想之因此有这样的表现,是由于好学校的学生受过更好思惟训练,他们面对一个难题时每每知道怎么去简化和抽象问题,把问题拨出来分类或者分层讨论,同 时他们还会试图把问题分解成不一样的子问题逐个来讨论。我就碰到过一个大学纯玩票的中山大学的大四学生,对计算机基础知识基本上一问三不知,可是分析问题时 的思路和逻辑仍是清晰的,而这种能力,是不少教育背景较差的学生缺少的。所以我也建议属于这种状况的同窗,多进行一些思惟训练,学会如何系统地区分解和分 析一个问题。


固然,非名校中,也不乏优秀的候选人。有个江西理工的大四学生,在他的博客中我读到了大量分析技术细节的文章,还有参加 mooc   上机器学习课程,github 中有他本身些的 key-value 数据库和   webserver。经过讨论,我肯定他是真正学习过这些知识的人。还有一个深圳大学的学生,大学时代作过不少 app   和校园实用小工具,他老是试图用技术去提升本身的工做和生活效率,是一个真正的极客而不是脑残果粉。


实习和项目经验

很多同窗担忧他们大学没有实习过,也没有作过不少的项目,因此在找工做时会是很大的劣势。 首先我不否定好的实习经验和项目经历,会是很大的加分项,可是若是你是一个学习优秀/热爱独立思考/科研达人,也能够收到一样的效益。在我看来,最重要的 问题在于你要「曾经努力作好过一件事情」,不然「Why you?」


既不擅长于学习和科研也没有折腾过具体的技术,这样的人才是大多数。因此,当你能作好一件事情,就是优点

(固然,我更建议大学时代读好书,搞好科研,而不是放弃学习去折腾具体的技术)


另外不少「烂校」的学生,总认为本身学校差因此没有机会去大公司实习

实际上,你在微博/github/v2ex 之类的地方,能够勾搭到大量大公司的人

只要你能吸引到他们,彻底能够找到一份不错的实习,问题是你拿什么来证实本身优秀?


热爱,有激情

面试时,有很多人老是急于表达本身对技术对编程的热情和喜欢,而我却很难在这些人的人生经历中,找到一件事能够支持他们的这个说法。你既然这么喜欢计算机和编程,大学四年你干嘛去了? 你肯定不是由于找不到其余工做或者考不上公务员才来面试程序员的吗?互联网如此发达的今天,大学你有四年的时间去折腾,去证实你喜欢计算机,然而你没作过任何这样的事情,却说本身热爱,这反而会让人对你的见解大打折扣。


大学时代不知道如何正确地学习很正常,可是若是你真喜欢同样东西,你会作过一百种尝试。哪怕是反复地折腾安装 linux   系统,尝试各类不一样的发行版本,也是一种证实。你能够去计算机系蹭课,能够去 mooc   上学习计算机的公开课,甚至你能够去考并无什么卵用的计算机二三四级考试,也能够去交一个计算机系的男友女友

然而你「什么都没作过,凭什么说 爱」


有一个候选人本科是武汉大学某个偏门工科专业的,大学时代由于喜欢编程买了树莓派写代码,还去华科修了计算机科学的第二学位,为了进一步学习他考研 去了中科研研究计算机视觉,读研期间又本身用 C++   实现了视觉领域的大量算法来提升本身的编程能力。这样的经历是很是吸引人的!这个同窗的算法和数据结构底子比较通常(或者只是没有刷过题),可是学习能 力,分析问题的能力很强,我能明确感觉到他面对一个本身不熟悉的算法题时,逐步分析概括试着去解决问题的过程。这样的同窗太讨人喜欢了!(他的二面面试官 给出了比我更高的评价!)


说了这么多,其实我想说的就一点,每一个人都要有本身的优点和核心竞争力。这个核心竞争力能够是牛校(清北复交浙南大科大等),固然,若是你只有牛校 光环,并无什么卵用,由于你竞争的对象是本身的同窗,而不是大专毕业生;也能够是很强的算法设计能力,可是参加 ICPC   拿过大奖的同窗那么多,你刷题刷的过来吗?;还能够是学习成绩好,由于成绩好的同窗每每在工做中表现出很高的执行力和快速交付能力(这也是为何不少投行 和咨询公司对候选人的学校和成绩有很高的要求);爱造轮子折腾开源;实习经历

(BAT,google,MS 等实习过),学术强人(顶会 paper);  数学好(奥赛金牌)等等。


若是你啥都没有,只能跟大多数人同样,人云亦云,刷算法题看面筋,临时抱佛脚,期望着互联网泡沫更大一点

这样 bar 就能更低一点,这样就谁都能进入 BAT 分一杯羹。


但是,在这个阿猫阿狗都能拿到年薪 20 万 offer 的泡沫时代,这样的你就没有一点焦虑?


最近这段时间,天天从知乎和 QQ 上会收到大量的 offer 求比较咨询,其中 BAT 20 万的 offer 司空见惯,30 万的  

special 也见怪不怪,40 万(今日头条等给的 special offer)的也常有出现,做为老人只能感叹这个互联网时代的疯狂。


我不是一个能够讲大道理的「人生赢家」或者「长者」,只是大家经历着的事情,3 年前我也经历过,offer 越多越烦恼,尤为是没有杀手级   offer 时每天都只能纠结困扰。然而回头一想,有时候真的是本身想得太多了而已

因此,今天也谈谈我对校招 offer   选择的一些不成熟的微小的见解,也欢迎你们把我批判一番。


选择你当前最须要的东西

我固然更欣赏敢于去追求本身的梦想的你。当有一个好的 offer 时,哪怕是要去帝都这样的城市,你也毅然前往

不过我也历来不认为如今的一个 offer   选择会成为你将来走向人生巅峰的障碍

阿里巴巴上市的时候,许多技术圈朋友感叹本身当年没有选择去淘宝,不然如今也走向财务自由了

而我以为,即使你当初 选择了淘宝,中间也有一万个理由离开


咱们决定不了本身的运气。


生活和工做平衡,同时加上较高的收入,这是最理想的工做状态。平衡生活每每须要在一个你喜欢的城市里,若是你介意去北京,那么仍是留在上海/广州 /杭州/深圳吧,留在一个有你亲人×××同窗的地方,在一个你更愿意长期发展的地方。当地域成为你当前诉求中一个重要因素时,就能够缩小你的选择空间。有个 同窗说他想找个浙大的女友,我说那确定去网易/阿里/蘑菇街这些公司啊,但是他又纠结说他想学技术,我只能问他难道阿里的技术不够学么?


薪水固然是最重要的,没有人不喜欢钱。许多连C轮都没走到,愉快地烧着 VC 钱的公司,大方地给应届生开出了远高于 BAT   的薪水,让人很难不动心。但是当下你真的有那么须要钱吗?若是答案是确定的,那很简单,选钱最多的一个!若是你并无什么经济负担,一个月多 5K 少 5K 本质上没有影响到你的生活,那么,必定要跟那种花几百万请王宝强孙红雷田亮过来讲一句广告词的创业公司说不!


这里顺道分享个案例:某同窗收到某不靠谱创业公司开出的 18K 的 offer,百度开出的 14K 的   offer。表面上看来百度的钱少好多,可是实际上该创业公司的社保公积金都按最低标准缴纳,好比公积金每月总共才两三百块,可是百度每个月给你缴纳的公 积金公司那份就有差很少 2000,同时你的医保和养老金也会多出几千块,另外公司还给你买了商业医保,这么一算,你以为如何呢?


作本身最擅长和有兴趣作的事情

许多游戏公司给应届生开出了远高于预期的薪水,彷佛让人很难拒绝。然而游戏是一个特殊工种,游戏的天性就是要短平快赚钱,因此你永远都是在冲爆款, 你永远都在作下一个游戏!同时,这种经验无法让你体验到持续的增加和积累,而这种应对高速增加的流量和业务规模,不断改进架构和基础设施的能力在大型互联 网项目中又是必备的。


因此,除非你真的热爱游戏和游戏开发,不然通常不建议去游戏公司。

(固然,若是你优先级更高的诉求是去广州,可是又没有其余选择好比微信,那么另当别论)


许多同窗有「后台开发工程师」的 offer,又有「Data Scientist」这么高大上 title 的   offer。还有些有「前端开发」

或「运维」offer   的同窗话语间却透露出一点对相应领域鄙视的神情

和那些认为「汇编」和「底层」就是更牛逼的人是同样同样的。


「算法」「机器学习」这些听上去更高大上,我也有很多这类 offer,可是我依然选择作「基础架构」这个方向

而不是「算法」,由于个人热情和兴趣都在这上面,我相信这样能够作得更好

等我作得足够好的时候,我才可能会去作一些新鲜的尝试。


我一直以为只要保持开放和持续学习的心态,作哪一个领域都不会有问题,塔尖的人永远是稀缺的

实践中,想要招一个优秀的「前端」和「运维」,是很是可贵事情,由于真的很缺

因此若是你擅长前端或运维相关的技术,又有足够的兴趣,请不要头脑发热去搞「大数据」和「机器学习」


哪一个技术/编程语言有前途?

还有些同窗说我对后台编程有兴趣的,只是我不知道学哪一个好,接下来他又会问如今 C++ 还有市场吗?PHP 和 Python 到底哪个好? 是否是之后的趋势是 Go?Java 的薪水是否是没有 C++ 高?   就这么一纠结,半年就过去了,再那么一纠结,转眼就要毕业找工做了他们仍是没想明白这个问题。对于这个问题,举个例子说明个人观点:微软的工程师一直是国 内外互联网公司抢夺的重要人才资源池,可是实际工做中大多数微软 FTE 工做都使用 C# 在 windows   平台编程,并且不少都是在从事传统的软件开发,那么,为何会这么抢手?


我身边优秀的工程师们,都是有本身擅长且没法被轻易替代的技术,同时又保持着对新技术探索的热情。我本身主要编程语言是C++,可是对   Python 和 Go 的熟悉程度也能够轻易地开始独立作一个项目,对 openstack 和 docker 等等也都有研究过。我也尝试过用   PHP 和 Python   写过网页小游戏的后台,我试着用这些开发一些工具来便捷本身的生活

固然,我并非说我优秀,我只是说我真的喜欢技术,愿意去探索,并有信心将来不轻易地 被淘汰。

固然,软件工程师的核心价值应该是实现想法和解决问题,而不是编码员。


必定要去 BAT 吗?

不少人形容大牛都是「BAT X 年工做经验」这样的论调

给人一种彷佛只要去 BAT 熬上多少年就能够变成大牛同样

个人见解一直是「BAT 有不少大牛,可是大牛并非由于去了 BAT 而成为的大牛」

这跟好的教育背景是同样的,咱们不该该把「锦上添花」当成了「点石成金」


我不止一次探究过身边高T的大牛或其它公司资深工程师的经历,发现这些人有个共同的特色,就是都是伴随着优秀的项目/团队一块儿成长起来的。有一个高 速增加的业务挑战,不断地出现难题,不断地从坑里面走过来,这样的经验,才是最有价值的!若是你有一个机会去一个业务快速增加并尊重工程师的创业公司,绝 对是比去 BAT 作螺丝钉更好的机会!(好比近年的美团、小米、滴滴打车、宜信大数据中心、今日头条等)


大公司不少部门一般有一个毛病,就是业务过于成熟,因此一切都追求稳定,即使是急须要改进的东西,也没有人敢去碰坑。你极有可能就是在这样的环境中,你是一颗勤劳的螺丝钉,随时能够拔掉或者替换

而你根本不用幻想,基于现有的资源,给你机会去创造并擦出新的火花。


固然,一切归根结底最重要的因素仍是看人。

一般,心态开放并积极学习的人,运气都不会太坏。

相关文章
相关标签/搜索