IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

面试总结[2014.06]

A programmer's life 2014-11-21 00:02:51 累计浏览 4,980 次
本机暂存

   最近我在找工作,面试了多家公司:百度、阿里、小米、美团、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)说”雅虎北研是国内外企不多的良心企业”,就我接触来看,此言不差。

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 红黑树并没有我们想象的那么难(上) (累计阅读 21,490)
  2. 为什么算法这么难? (累计阅读 12,391)
  3. 浅谈MySQL索引背后的数据结构及算法 (累计阅读 11,892)
  4. 加州求职记 (累计阅读 11,557)
  5. 海量数据面试题举例 (累计阅读 11,110)
  6. 基于Redis构建系统的经验和教训 (累计阅读 10,517)
  7. 谷歌(Google)2011年校园招聘笔试题 (累计阅读 9,571)
  8. 浅谈redis数据库的键值设计 (累计阅读 9,350)
  9. 关于使用STL的红黑树map还是hashmap的问题 (累计阅读 8,871)
  10. 再谈“我是怎么招聘程序员的” (累计阅读 8,789)