面试总结[2014.06]
最近我在找工作,面试了多家公司:百度、阿里、小米、美团、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)说”雅虎北研是国内外企不多的良心企业”,就我接触来看,此言不差。
建议继续学习:
- Java开发岗位面试题归类汇总 (阅读:18042)
- 面试题 – 为什么我的朋友圈不见了? (阅读:10461)
- 加州求职记 (阅读:9982)
- 整理了一份招PHP高级工程师的面试题 (阅读:9704)
- 海量数据面试题举例 (阅读:8885)
- 腾讯php程序员面试题目答案 (阅读:7420)
- 如何在面试中发现优秀程序员 (阅读:7136)
- 面试IT业界顶尖企业所应该知道的10道题(1) (阅读:6847)
- 有道面试总结 (阅读:6352)
- IBM面试记 (阅读:6099)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:A programmer's life 来源: A programmer's life
- 标签: 面试
- 发布时间:2014-11-21 00:02:51
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [53] Oracle MTS模式下 进程地址与会话信
- [53] Go Reflect 性能
- [52] 如何拿下简短的域名
- [51] android 开发入门
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [48] 图书馆的世界纪录
- [46] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑