面试总结


最近我在找工作,面试了多家公司:百度、阿里、小米、美团、Yahoo、Symantec、Amazon。其中Amazon面的是供应链(被HR忽悠的),fail了。其它拿到了offer,但是都有些不如意。很多公司给我的薪水和职级只相当于毕业1-2年的人的水平,而我已经毕业7年了,所以这些公司的尽管给我发了offer,在我看来他们不过是婉拒了我。下面开始吐槽面试经历。

我认为无论是哪个公司的社会面试,看重的主要是以下几点:编码能力、算法、概念知识、项目经验、教育背景。

编码能力:我自己对编码能力比较看重,为什么别人花一个小时就做完的东西,你要花一天才能写完还全是BUG?但是我此番面的公司基本都不太考察这个。Amazon用它的online test狠狠打击了一下我的对自己编码能力的自信。我想以后找点类似的题多练练。顺便透露一下,amazon的online test是在https://www.hackerrank.com/这个网站上进行的。阿里是唯一一家没有考我手写代码的公司。我和阿里的面试官谈过这个问题,他说阿里更看重人的综合素质,而百度有点拿着铁箍买鸡蛋的感觉。阿里问我:“你说你编码能力好,怎么证明?” 我回答不上来。 接着又问我:”你工作中出过的最大的BUG是什么?” 我又回答不上来。

算法:这次几家公司的面试中,算法的重要性远远低于我的想象。即便我面的是凤巢很核心的算法部门,也没有考我很难的算法问题。我认为算法能力主要分为三点:分析、设计、实现。分析最基础的,我将会持续加大在此方向的锻炼,多读paper多做数学推导。可惜,算法分析对面试或升职涨薪都完全无用。面试官太看重候选人是如何寻求解法、设计算法,思维方向以及速度。我觉得这是不对的,因为除非面试官的算法能力远远超过并且涵盖候选人所知,否则对方怎么想的他怎么看的出来。甚至,我给出了一个正确的解答之后,因为不是标准答案,面试官甚至不能理解我是不是对的(要在10分钟内完整理解一个算法的设计或代码实现确实不易)。像百度这样的公司,挑选面试官挺随意的,你想应聘T6的职位它却找一群T6来面你。相比而下,微软的面试官挑选就很严格,有资格做面试官的人很少。

概念知识:《crack the coding interview》一书中说,面试官是为了考察你的capabilities而非knowledge,像设计模式这样的东西都是不该出现在面试中的,因为太经验化。而实际上,面试往往是以“你知不知道XXX”这样的模式往下走的。就面试中所谈论的技术话题的广度来说,Yahoo是难的,有个面试官很喜欢跟我聊新技术,比如actor、协程、lock-free等。阿里的技术面试虽然很短(最短),但是问了我很多很深的东西,比如java7的新数据结构、Mutex内部的队列是如何实现的、JVM的intrinsic、openjdk里hotspot的代码、有没有看过JSR、intel CPU近几年的架构变迁等等。

项目经验:这个环节我很不喜欢。这完全就是在考察一个程序员的销售能力。面试官希望看到你过去的项目很有技术难度,用户量、并发量很大,用到的新技术很多,他不在乎你是怎样用非技术手段解决技术问题的,他也不在乎你怎样以很小的成本、很初级的技术实现了很核心的业务需求。做销售的核心是名校毕业,见客户前准备充分,把相关的技术名词背的滚瓜烂熟,介绍自己的产品技术时滔滔不绝,会察言观色。每个技术名词都是一块金箔,贴的越多,你就赢了。

Behavioral question: 据说Amazon至少有30%的面试时间都是在考察这个。实际上据我的经历,确实是这样。

最后说自己的选择。

就工作内容来说,我最喜欢的是百度和Yahoo,是做搜索广告。两家的薪水也给的差不多,所以我一直在这两家之间犹豫。

就公司的未来发展来说,小米应该是最好的,Yahoo可能是最差的。

就面试体验来说,小米和yahoo最好。小米每个面试官都会先介绍自己叫什么名字,并且会花很多时间介绍他们的项目。小米号称采用Google风格的招聘,只要基础能力好,就愿意要,至于去哪个项目就再谈。小米和yahoo的hr在谈薪水的时候都很直接,不跟我绕弯子。smth上有人(ppstay)说”雅虎北研是国内外企不多的良心企业”,就我接触来看,此言不差。

最终去哪还没定下来,等我签完劳动合同了再来更新此文。 ^_^

This article is from: https://www.sunchangming.com/blog/post/4629.html

你可能感兴趣的:(面试总结)