再谈“我是怎么招聘程序员的”(下)

再谈“我是怎么招聘程序员的”(下)

<<<再谈“我是怎么招聘程序员的”(上)

在上篇中,我们说到了一些认识人的方法(操作,知识,经验,能力),还有一些面试的方法(算法题,实际生产活动中的挑战),下面我们来说说,面试的风格,还有一些点评。

把应聘者当成你的同事

有些公司的面试官,在面试过程中问你一个算法题,然后等着你解答了,如果你给出一个答案,然后就会问你有没有更好的答案,如果你给出了正确的答案,他们就会问你一个更难的问题,如此循环下去。他们基本上很少给你提示,甚至不停地质问你,挑战你,搞得应聘者很紧张。

另外,有很多问题是没有标准答案的,或者说是,同一个答案的描述方法有多种,很多面试官会觉得你没有回答到他想要的答案,因此表现得有对你不屑,并表现出你不行的样子,并觉得你的能力有问题。真是可笑了。比如我一个朋友在回答什么是异步的问题时,举例说明了异步调用就是不能处理完就返回,并且需要传递一个回调函数给调用方以便完成后回调通知结果。这样的回答并没有错,但是这并不符合面试官心里想要的答案,面试官对此并不满意,进而认为我这个朋友还需要去多读读书。

我相信大多数面试官都会这样干的。我想问问这样的面试官,你们有没有用面试的方式对过你的同事?在你的工作场景中,你会不会用面试的风格和你的同事进行交流和说话?不妨让我们来问我们自己下面几个问题:

  • 你在工作当中遇到难题时你是怎么解决的?你会和人讨论吗?你只用15分钟就能得出最优解吗?
  • 你在工作当中解决难题时是否会有一个人在旁边质问你并给你压力吗?
  • 你在工作当中会为难你的同事吗?会让你的同事紧张吗?你觉得在紧张的状态下能做好工作吗?
  • 你在工作中觉得同事的回答并不是你想要的答案,不是符合你的答案,你会认为你的同事不行吗?
  • 你的成长过程是什么样的?在是压力和天天被人质问的情况下成长的吗?
  • 大家都知道学校里应试教育的弊端,你觉得你的面试是不是一种应试呢?
    (看看这么多的应聘者们都在做各种各样的算法题,这不就是一种应试吗?)

想一想你的日常工作,问自己一下上面这些问题,想一想你自己的成长过程,想一想你和你的同事是怎么相处的,想一想你的日常工作中是什么样的,相信你自己也能得出结论的。

如果你把应聘者当成自己未来的同事,那么你的面试会有下面的收获:

  • 面试的气氛会很不错,应聘者会放松,表现自然,更接受于真实的状态。
  • 面试中的交流和互动(而不是一问一答)会让你更全面的考查和了解一个人。
  • 非应试的面试,会让你了解得更多。
  • 真实的了解一个人,你才能做出真正正确的结论。

向应聘者学习

下面有几个观点

  • 面试的过程是一个相互学习的过程,并不是你为难面试者的过程。
  • 一问一答是很一种呆板死板的过程,相互讨论相互学习,有良好的互动才是好的面试过程。
  • 面试官要证明的不是你有多强有多聪明,而是要挖掘应聘者的优势和能力。
  • 面试官用为自己的问题预设好一个标准答案,看看应聘者能为你带来什么。
  • 向来应聘的人学习,而不是刁难。

无论你多牛,要难倒你实在是太容易了。出难题不是目的,难倒人也很容易,出难题只不过是用来了解应聘者能力的一个手段,而不是面试的全部

我不知道你喜欢不喜欢一些竞技类的运动?比如踢球,打篮球,羽毛球,下象棋等,你一般想和什么样的人玩?是差的,还是强的?所以,能够从面试者那里学到东西,喜欢和面试者一起工作,这才是面试真正的目的

对于一个团队来说,如果大家都是一样的想法,一样的主张,一样的倾向,那么这个团队最终会是一个闭塞的团队,你如果不能真正接纳不同想法的人,不同主张的人,那么你也将失去进步的机会。如果你的团队总是在招入和你一样的人,那么你的团队怎么可能会有out-of-box的想法呢?世界因为不同而美好

另外,对于公司来说,如果你招进来的人还不如已经有的人,作为一个公司,你又怎么能有更好的人让你的公司进步呢

所以,面试应该是向面试者学习的一个过程。当然,如果你从他身上学不到什么,那么你就教他一些吧。这样,就算是面试不通过,面试者也会欣然接受的。不然,让面试者产生一些负面情绪,出去说一些不好的话,也有损你和公司的形象。

一些相关的点评

下面是我根据酷壳的一些面试题的文章后的回复、还有我朋友的经历,还有这篇有关豆瓣的产品经理的这篇文章的一些点评。大家可以看看我从这些地方看到东西靠不靠谱。

酷壳的面试题中的答复

先说酷壳的那篇“火柴棍式的面试题”,这个面试题其实很没什么意思。主要考查你对代码逻辑的了解程度。因为设置了回复可见答案,所以这篇文章的回复量达千把条。从回复中,我看到:

  • 一些朋友想不出来就直接看答案了。我可以看出,有一些朋友习惯获得知识,而不习惯独立思考。甚至有畏难情绪,从另一方面来说,可以看出我国的教育还真不是一般的差。
  • 一些朋友想不全。从这点来看,我觉得很正常,尤其是想出两种来的,我可以感觉到他们的努力思考了,可能还做了一些尝试。挺不错的。可惜我看不到你思考的方式,是在纸上画了画,还是编译了个程序跑了跑,还是别的什么。这样我会了解你更多。
  • 一些朋友给出的答案中有错的。这说明了这类朋友可能不喜欢做测试,时常想当然,或是做事比较冲动,并不足够严谨。这么简单的程序,验证能花多少精力呢?
  • 还有少数的朋友没有看明白题目要求。这说明了这类朋友太粗心了,在工作当中可能会表现为误解需求和别人的话。沟通有问题。

再说说那篇“火车运煤”的问题,这个面试题我觉得主要是看看大家的解题思路,表达能力。

  • 首先,我很惊喜有人很快就用数学做了解答,很不错,这个人的数学功底很不错。能用数学解题的人一般来说都是算法比较强的人。
  • 有人说抱怨我没有说火车可以调头回去,所以没有想到这样的方法。如果是在面试中我会做提示的。我不会因为你不知道调头这个潜规则而否定你的。当然,如果你能想到的话说明你的脑袋还是比较灵的。
  • 还有很多人说他的方法比较土,只运了400吨煤,416吨的或333吨,一看就是没有看提示的,我觉得这些人能够通过独立思考找到方法,这类的人其实已经不错了。顺着这个思路优化也只是时间的问题了。
  • 更可喜的是,我看到了有一些朋友在看到别人的更好的方法后和自己的方法进行了比较,并找到了为什么自己的方法不如他的原因。这样的人我认为是懂得“总结”和“比较”的,这样的人总是在不断地学习和改善自己的。
  • 还有人说到了动态规划,如果是在面试的时候,我很想向这位朋友学习一下用动态规划来解这题。
  • 还有朋友说到了火车调头只能在有站的地方。这个朋友一看要么就是搞需求分析的人,要么就是较真的人。需要进一步了解。但不管怎么样,这样的朋友的观察能力是很不错的。
  • 还有一些朋友给出的答案是正确的。但是表达方面比较复杂,有些没有看懂。可见,解题 的能力是有的,只是表达能力还有待提高。

豆瓣产品经理的面试

再说说豆瓣上的这篇文章,那篇文章里,面试官问了一个比较大的问题,那是仁者见仁,智者见智的问题,并且面试官并不满意应聘者给出的答案,并在用其主观意识强加一些东西给应聘者,并不断地和应聘者纠缠。后来,面试官回复到“重点测了两个问题:一是判别事情的标准和方法;二是在多种PK下产品经理的压力反应”。

下面是我观察到的:

  • 其一、这种似事而非的仁者见仁,智者见仁,一万人有一万个答案。所以,这种怎么答都可以的问题是很难有标准的,我认为豆瓣的面试官以这种问题来考查面试者的标准太有问题了。更好的问题是:比较一下新浪和twitter这两个产品。
  • 其二、多种想法PK的压力反应。这点没有问题,如果有机会我想问问这位面试官,豆瓣产品经理们的PK各自的想法时是以这种纠缠的方式吗?如果是这样的话,那我很为你们担忧啊。
  • 其三、很明显,应聘者不知道面试官想说什么,所以应聘者总是给出一些模棱两可的回答。回答得很政客,呵呵。
  • 其四、问的问题都是一些假设性的问题,假设技术人员不可沟通。人家说了,还没有见过不能沟通的情况。结果还要继续追问。这样你既要观察不到你想要的,也搞得大家不愉快。更好的问题的:“请你给一个你和一个很难沟通的人沟通的示例”,或是当应聘者说了“坚持己见”的时候,也应该追问“能给一个你坚持己见的例子吗?”。
  • 其五、整个面试过程完全是在谈一些虚的东西,就像天上的浮云,一点实实在在的东西都没有。比如下面这两个实实在在的问题:“你以前设计过什么产品?”,“你和你的技术团队是怎么合作的?”

这是一个完完全全失败的面试,这个面试官根本不懂面试,甚至工作方法也可能很有问题。也许他只是想找一个能够在工作中附和他的人。

朋友的面试

最后说说我那个朋友的面试,我的这个朋友学习能力很强,也很好专研,工作中解决了很多很困难甚至很底层的问题。他做软件开发时间并不长,但是他对这个行业很有热情,也很执着,并有着相当不错的技术功底。这天他遇到了一个面试官,根据朋友的描述,这位面试官,主要问题了三个问题,一个是关于异步的,一个是关于性能调优的,还有一个是关于学习能力的。

  • 问到异步的问题,我这个朋友说到了多线程中的异步调用,但是他可能问的是网络或是业务中的异步,要不然就是Linux 内核中的异步,当然他也没有说清楚,但他很不满意我朋友的答案,并让我朋友回去多看看书。
  • 问到性能调优的问题时,我这个朋友说了性能调优分三级,业务级,指令级和CPU级,并举例说了使用了一个叫VTune的性能分析工具。面试官却说原来你只懂Windows,有点不屑,并说他只会使用商业工具,更不屑。
  • 当我朋友向他澄清问题时,面试官只是摇头,叹气。并在应聘者作答的过程中不断的打断对方。

我的看法如下:

  • 对于异步来说,我认为这是一种设计或是一种想法,可能会有很多种不同的实现方式,在不同的场景中会有不同的用法。面试官并没有考查应聘者对异步方法的理解,也没有考查异步方法可以用来解决什么,异步方法的优势和劣势,等等。只是觉得应聘者没有给出他想要的答案。
  • 对于性调优的问题,我认为应聘者的思路和知识都很不错,还有使用VTune的经验。无论使用Windows还是Linux,无论使用商业的还是开源的Profiler,很多东西都是相通的,怎么能够因为这个东西不对自己的口味而下结论。为什么不向人家学习一下VTune呢?使用工具只是操作技能啊。
  • 面试官应该是用微笑来鼓励应聘者的,而不是用摇头和叹气,频繁打断对方也是一个相当不好的习惯。看来这个面试官很不能接受不同的东西。

这位有很不错的技术能力的人,看来并不适合做一个面试官,因为他面试的东西都只在知识层次,而且这位面试官有强烈的喜好和倾向,所以,他必然会错过那些有能力但并不合他口味的人。

哎,面对这样的面试官,大家伤不起啊!

(全文完)

(请勿用于商业用途,转载时请注明作者和出处)

(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

好烂啊有点差凑合看看还不错很精彩 (29 人打了分,平均分: 4.38 )
Loading...

再谈“我是怎么招聘程序员的”(下)》的相关评论

  1. 根据我个人的几次参加面试的情况,我从应聘者的角度来说一说我遇到的几个面试官。
    第一位是东软的一个嵌入式主管,整个面试过程中一直笑呵呵的,没有给我什么压力,让我正常甚至是超常发挥了~因为是技术方面的主管,问题大多都是技术方面的,也都比较基础,遇到我有遗漏或有错的地方还会提醒我,最后还给了我很多以后学习的建议。虽然最后没有去东软,但是我对这位面试官的印象非常好。
    第二位是华为的面试官,具体什么职位不清楚。整个面试过程中基本上没有什么发言……都是我在说,他只不过隔段时间点头嗯一下,而且感觉好像我说了什么他根本没有听的样子。在我说的口干舌燥了,才问了一两个很笼统的问题,都是关于我简历上的项目的,大体上就是这个项目能实现什么功能啊,在特定环境下能不能用啊,怎么使用啊……没什么技术含量……我对这位面试官印象一般。
    在我看来,除非以后面试官和应聘者不会再见面,不然的话应聘者对第二位肯定会有点看不起……

    1. 我相信谁都遇过这样的面试。相信大家在面对一些很没有水平的面试官,心里面都会对要不要进这个企业产生怀疑。面试是一个双向面试的过程,你面试别人的时候,别人也在面试你。很多面试官都不明白这个道理。

    1. 我不能正面回复你,从侧面回复你吧。如果我是面试官的话,你的这个回答会让我觉得你是一个经常上网关注技术的人,而且还是一个推理性比较强的人。但是,我可能更倾向于你是一个内部的人。;)

  2. Vtune我用过就有linux版的,写shell抓取profile结果。只能说明这个博士自己不知还以为别人不知,
    这种self ego的人真不能合作

  3. 我的观点是:面试的目的是让面试者充分展示自己的长处而不是充分暴露自己的短处——因为每个人擅长的东西都一定比他不擅长的要少太多太多……对于一个专业的管理者来说,把各有所长也各有所短的人整合为一个协调的团队正是其核心的工作。可能是因为很多人都认为自己应该作为一个内行去领导其他内行,所以反而不能把自己放在一个服务者的角度去中立得看待团队成员,进而无法充分协调不同的人发挥自己的长处,然后再怪罪于成员的短处。

  4. 还没参加过正式面试的学生,受教了!!!!
    觉得作者的分析的很透彻啊,心态很端正!!!

  5. 你说的那个博士是taobao的章博士吧。其实也不奇怪,面试官期盼能找到和自己同类型的人,按自己的思维习惯进行面试也蛮正常的,至少招来的人他自己满意,乐意与之工作。

    我自己的经验是不太喜欢用大量的笔试题进行面试,我更看着面试者的计算能力而不是存储能力,我面试比较常做的事是

    1.找面试者擅长的一些技术领域就一些细节问题进行交流。

    通常我会在面试前按简历列出若干问题。比如编程方面, 会找出一些语言或者框架的比较基础并不复杂的细节让面试者解释实现原理, 如果面试者不清楚,会和面试者一起讨论可以怎么实现.从这些问题里可以看出面试者是个知道分子还是喜欢琢磨的人。曾经面试过一个程序员,虽然他根本没看过java的hashtable的实现,但是还清晰的提出了一个可能的实现思路。

    对于没有工作经验的毕业生,这类单纯技术细节问题的讨论对他们更加公平,基本上认真学过数据结构和算法的人,至少都能在你的启发下给出合适的实现思路。

    这种细节问题的交流也是一个很好的反应面试者个性和合作特性的方式, 有些技术特别牛,但是性格比较偏执的人通常会表现出极度的不耐烦,甚至有人直接就提出终止面试的,呵呵,这类人通常也不是我们需要的。比较合作的人则会表现出足够的耐心,即便不懂,至少会尝试想一下可以怎么做。
    我也很喜欢追问那些自己不熟悉的领域,这些问题的解答即给了我学习的机会, 也可以充分展现面试人的特质。

    其实蛮遗憾,最近2年面试的95%以上的程序员都是知道分子,对细节完全不了解,也缺乏基本的算法知识或者解决问题的思路,虽然都有在大公司工作2-3年的经验,但是他们比较擅长的还是google和c&c,这类人的生产率其实蛮低的。

    2. 让面试者展示其解决问题的思维方式。
    比如在xx项目里碰到的最大问题是什么,如何解决的,在某个项目有哪些事情做错了,原因是什么,再来一次会如何解决等等。

    3. 了解面试者自己喜好,对工作的中远期规划,为何离开上一家公司等等。 由此判断面试者的职业规划是否符合自己的团队期望,这个人能否在团队里比较稳定而且融洽的工作。曾经面试过一个人,技术比较满意,他也乐意到公司来工作,最后还是放弃了,就是感觉他自己的规划和我们的团队的规划有比较大的出入,对他的工作安排不会太理想。

    我比较反感那种先招进来看看,不合适再踢的做法,对团队对个人都有损害。陆续面试过数百人,基本上我个人招聘通过的人,在公司工作成功率还是比较高的。

  6. zoker :

    你说的那个博士是taobao的章博士吧。其实也不奇怪,面试官期盼能找到和自己同类型的人,按自己的思维习惯进行面试也蛮正常的,至少招来的人他自己满意,乐意与之工作。

    的确如你所说。不过作为一个好的团队,应该是各个人都有其擅长的,互相互补。作为一个好的领导,应该是能够接受不同风格的人。作为一个公司,也应该是可以接纳各种门派的英雄的。taobao的员工们都用武侠人名命名自己,不过看上去他们没有领悟到武侠的精神,内心世界中还是有门派之争的。

    最后,谢谢你对你经历的分享,和我主张的极期地相同,看来并不只是我一个人这么想和这么做。其实,这样的面试对人的要求是非常高的。不过,我一直在坚持Amazon CEO JeffB说的——“我宁可面试50次,一个人都招不到,我也不愿意降低我的标准

  7. @zoker
    “面试官期盼能找到和自己同类型的人,按自己的思维习惯进行面试也蛮正常的,至少招来的人他自己满意,乐意与之工作。” 这一点无可厚非。但不光是面试,不管做什么,都得尊重别人,何况只是一个萍水相逢的求职者。请大家想想,如果遇到这样面试官,你该怎么做:
    1) 你说你花了3,4个星期学web开发,你和干了2年web开发的人比较怎样?
    2) 你说你学习能力比较强,这点在学校就应该体现出来,有没有?
    3) 你说那个tcp 断连接是重传造成的,当时重传率是多少? (这个问题没问题,接着看
    “我当时没注意这个,只是发现每次断连接之前都发生了数次重传,没有统计过比率”
    “这你都不知道?”
    “…”
    4) 性能调优,应用级调优时可以用工具来找热点,cpu 有一些performance counter 可以查看,有一个重要指标是CPI (clock ticks per instruction retired)
    “这和instruction有什么关系?”
    “还是有点关系的,试想…”
    “这和instruction有什么关系??”
    ”假如程序访问内存较多….”
    “这和instruction有什么关系???“
    (你让我说么…)
    5) “如果网络传数据时,只收到一部分数据, 异步的做法怎么样”
    “在回调函数里继续读, 等数据完整时再处理”
    “这就叫异步?原来你不懂啊”
    “我觉得异步io是一次性对所有的socket都发布了读操作,哪个socket有数据,哪个的回调函数就会被调用,这个socket就会被处理“
    ”这哪里是异步,你还是回去好好看看书吧!“
    “比如说在windows中, 我们通常这么来进行异步io操作…“
    “你只会windows吗?“
    ”linux aio 是一样的“
    ”好了好了,我没有问题要问你了….”

  8. 我遇到过向面试官虚心求教如何改进,结果被说不适合做这一行。悲剧啊

  9. 我不觉得豆瓣的那个面试官很失败. 换我的话不到20分钟就把他撵走了.
    仔细分析下 他们的对话, 面试官问一个产品是否成功的标准.这个某人从头到尾始终都在回避这个问题.总是还算不错,不算失败的回答.连他自己都意识到面试官想要一个非黑即白的答案,但是就是不肯回答新浪微博是成功或是失败,总是一般般,算不上失败.作为被面试的一方,始终不肯想一下对方究竟要什么.有点太过固执.
    而且他说话总模棱两个,让人觉得不可信任.那个面试官都说到”我就是问你,新浪微博,是一个成功的,还是一个失败的产品”这份上了,他还得加上”非要按照你这个成功失败的逻辑评判”.这人不能承担责任,遇事一定会推脱.

  10. 成功的界定本来就是因事而异的,而且在各人的眼里也各不相同。在Linus的眼里c++简直是臭不可闻,Stroustrup显然不会同意他的观点。 大家看问题的角度不同而已。

    豆瓣的应聘者开始就提出了产品成功的几个标准,面试官却一个劲反问,访问量大就算成功吗?qq算成成功吗。 这显然在期待一个他个人所认同的标准。

    有担待不是在这些事情体现出来的,难道我说了新浪微博是失败的,就能说明我能承担责任。我觉得正因为不知道新浪对于新浪微薄的战略规划,也没有做过大量的用户调查,我就不能不负责任地说它是成功或是失败的。

  11. 是, 大家看问题的角度不同,所以看法不同. 但是既然你去人家公司面试,当然要站在面试官的角度来看问题.如果面试官要非黑即白,就给他黑或者白.

    豆瓣的应聘者从一开始提出的标准是说不错的产品. 虽然这和”成功”看起来差不多,但还是有区别,给人的感觉就是他故意把话说得不清不楚.或者压根就没有关于成功的标准. 之后面试官问QQ秀是成功的吗, 他的回答是 不算失败, 而且还要加上”虽然是运营为主”这种词儿. 如果应聘者真有成功的标准,为什么要用这么一个模棱俩可的答案?之后也是一样,面试官问各种产品是成功还是失败, 他却没有回答任何一个产品是成功还是失败的. 我不觉得面试官在期待一个他个人所认同的标准,而是应聘者没有给他一个标准.

    如果不知道,就说不知道. 不知道却不敢说不知道, 用一些模棱俩可的话希图蒙混过去.这就叫不能承担责任.

  12. 兄弟,你对于豆瓣的应聘者的评价确实在理,他的确说了很多模棱两可的话。 我个人也不喜欢这样。但是我可能不会因为面试官想要非黑即白,就给他黑或白。

    面试的过程是相互的,每个应聘者同时也是面试官。 这里没有谁需要迎合谁,如果能在面试这个短短的接触中发现互相并不适合,那么这不是不幸,而是幸运, 所谓长痛不如短痛嘛。

    从我个人的经历来看,那位博士就算要给我offer,我也不会去他的团队(我其实之前已经经历了这个公司6轮面试,从猎头处得到的反馈这6轮是成功的)。否则天天和他工作在一起,岂不是一件减寿命的事。

    从面试官的角度来看,我觉得最重要的是尽可能看清应聘者的性格特征和技能,没必要纠缠和为难。

  13. 淘宝看不上开商业工具是有他们的原因的,他们以前用的CDN是商业的,后来发现存在性能瓶颈和不稳定的问题,于是改用自主研发的CDN;还有数据库他们也在“去oracle”。其实我很好奇他们在测试C/C++的时候用不用Ccover,我只知道百度在用那个,如果测试部门的人看到还望透露一下。。。
    另外致文中的“朋友”,淘宝目前对社会招聘的要求是非常高的(这是去年章文嵩亲口说的),所以不管结果怎样都别灰心了~

  14. 写得不错呀。哥们,我们之前是加了互链的,由于半个月的时间因为备案问题关了博客,现在还可以加上链接吗?我的网站是:http://www.12freeblog.com

  15. 那段对异步的解释的确不算异步的典型案例,但是一个合格的面试官在这种情况下应该继续追问而不是下结论,因为合格的面试官必须意识到人与人的观念是不同的,这就是需要沟通的原因所在。

    “但是既然你去人家公司面试,当然要站在面试官的角度来看问题.如果面试官要非黑即白,就给他黑或者白.”
    我觉得这是典型的中国风格:不以实际问题为出发点,而是以领导意愿为出发点;相对于问题本身,更加关注迎合领导。反过来,很多领导对员工的预期也就是这样。我觉得技术人员恰恰是不能这样的。如果领导问你C语言和linux哪个更好,你应该回答这两者不可比而不是给出个是或否的答案。

    看不上商业工具的问题,如果真的是因为用商业工具举例而对面试者有什么看法,那就是种偏见,而且还把偏见扩散得到处都是。

  16. @sjinny 请看15楼对面试经历的详细描述。对于异步IO,有一篇不错的资料共享给大家。 http://www.ibm.com/developerworks/linux/library/l-async/

    我这段时间参加了国内互联网三大公司,和两家外企的面试。据我感觉taobao的面试以清谈为主,并没有考察诸如算法和coding之类的基本功,这是比较独特的。从难度上讲,自然也是最为容易的。章文嵩称社招要求非常高,在我看来不过是个讽刺而已。我没有通过他的面试,是有点灰心,但不是对自己。嘿嘿。

  17. 沟通是两个人的互动,需要两个人互相迎合妥协,才能成功. 如果两个人都自说自话,最后只能是不欢而散,白白浪费时间.这里的迎合没有地位高低之分,和曲意奉承不同.只是要你好好倾听对方,好好想想对方到底要什么. 语言和程序是不一样的, 程序没有二义性.而语言有. 比如”不错”, 这样两句话的意义截然不同:

    “这是我的作品, 写得还算不错吧,给你看看”,”(评论上级领导的作品)这个作品…还算不错吧”
    你需要揣摩对方的立场,因为就算是一样的词汇,情景不同,意义也大不相同.对方问问题, 你首先得确定对方的问题你是否真的理解了.
    拿你和博士来说,你首先得理解他,搞技术的很多都不善沟通,所以如果他没有使你在面试过程中有如沐春风的感觉,并不代表他是一个不好相处的人.再有就是不要搞对抗, 很多人在听到像“这你都不知道?”这类让人感觉不舒服的词语,会产生对抗情绪,说话的语气越来越尖锐,造成对方的语气也越来越尖锐,结果达不到目的–而一开始对方只是随口说那么一句.他是人,而且他只是业余的面试官,虽然技术面试官都会说我选择这人是因为这个人对于模式的掌握更透彻,是因为这个人的思路更开阔,而且他们也是这么相信的, 但实际上他们的选择很有可能是因为和这个人聊的很愉快,或者在谈之前他苦苦追求的MM正好答应和他约会.下意识对人的影响远大于人以为的.所以尽量使面试官高兴些吧.花少许时间让对方心情好些,让他觉得你是个可造之才,让他觉得你是他的朋友.这些对于面试的帮助要比多答对两道技术题大得多.

    @sjinny 面试官的责任是招到合适的人,而不是发掘所有合适的人. 如果我是面试官,而且职位有大量的简历的话. 我也会很轻率的刷掉一些人–根据这些人的长相啦,穿着啦,性别啦,星座啦(当然我绝对不会说是因为这些原因).因为做为面试官,我只要从这许多人中选到一个合适的就是合格. 至于过程是不是公平,有没有其他合适的人选与我无关.

  18. @废尔
    呵呵,如果一开始就是这样的高P直接来面你,那是认为你level比较高,不需要再去问 算法和coding之类的基本功了:)

  19. 呵呵,真是羡慕啊,各位可以用那么难的题目来面试人,大公司就是不一样。我是一个二十多年经验的程序员,目前是深圳一家小公司的技术主管,最近四年来我用一份试卷面试了近百人,主要以应届本科生为主,其中能答对我最后一道题的人只有10%。别以为这道题目很难,仅仅是让应聘着挑选一个自己会的排序算法,用自己熟悉的编程语言(可以是伪语言)写出来。95%的人都用冒泡排序作答,其中50%的人的答案都只用了单层循环,还有20%的人交白卷啊!最悲哀的是,这里面不少人竟然还是现在的所谓一本院校毕业的,竟然连二十年前读高中的我还不如……

  20. @的份额
    我觉得你说的不一定是你自己,世界上确实存在很多你说的那种的面试官。

    面试官是考官,如果不能做到公正公平的对待每一个求职者,也就算了,就别把这当什么自豪的事了。以貌取人,跟着感觉走,看星座,我实在不敢苟同,用这些标准的考官我觉得很不负责任。 当我建议大家一旦发现,就千万不要继续面试了,跟这样的面试官在一个公司里,你要不成为和他一样的人,要不最终走人。

    让面试官高兴一点? 我只知道面试官应该让求职者高兴一点,轻松一点,这样才能发挥充分。我是来求职,不是来求人。 我还觉得我一身武功,来求职就算看得上您,你用我是你的福气,不用我你损失比我大。 我哪儿都能找着工作。
    我同意两个人交流要互相迁就一下,让大家都高兴起来。不是因为你是面试官,所以我又责任让你高兴。如果迁就的太多了,那就“道不同,不相为谋”了。

    如果他对于一个萍水相逢的求职者都表现的及不尊重毫无逻辑,这怎么不能说明他不是一个好相处的人呢? 如果他因为没追到女朋友而迁怒所有他遇到的人,说明他不但不能不好相处,而且心智很不健全。

  21. @pooh
    我面了7轮,博士是最后一位。前面6轮包括部门经理(视频)和HR谈询问工资,从猎头的反馈前面六人是满意的,给我定了p7, 但最后被博士一票否决了。

  22. 陈皓 :

    zoker :
    你说的那个博士是taobao的章博士吧。其实也不奇怪,面试官期盼能找到和自己同类型的人,按自己的思维习惯进行面试也蛮正常的,至少招来的人他自己满意,乐意与之工作。

    的确如你所说。不过作为一个好的团队,应该是各个人都有其擅长的,互相互补。作为一个好的领导,应该是能够接受不同风格的人。作为一个公司,也应该是可以接纳各种门派的英雄的。taobao的员工们都用武侠人名命名自己,不过看上去他们没有领悟到武侠的精神,内心世界中还是有门派之争的。

    很认同文章中提到的面试的种种观点,自己面试时的很多做法也和大虾不谋而合;
    不过大虾因为一位面试官一次面试中的行为去概括整个公司的举措,让这些观点有些蒙尘……

    @废尔
    不了解面试的过程,不知面试过程中是否还有其他的对面试者而言没留下太深印象的问题,以致引发了这些争论?
    毕竟面试官也是人,可能会因为某些原因触发一些情绪…
    (路人甲提出的一种可能)

    1. 不过大虾因为一位面试官一次面试中的行为去概括整个公司的举措,让这些观点有些蒙尘……

      我也觉得,还因为某一些人的回答,就直接得出中国教育不行的结论,我感觉作者本身似乎也有点偏激?
      我只能说人的主观意识,对人的影响实在是太大了。

  23. @陈皓: 是否应该想一下你朋友讲的可能不是全部?

    @废尔:或许看看自己可能有哪些不足,有可能对未来更有帮助?

  24. 前几天面淘宝的实习生时也被问到了多线程,我的回答都是基于Windows的,面试官大体上是认同我的回答的,他最后鼓励我去学习Linux,对技术不该有那么分明的憎恶吧。

  25. 废尔 :
    @zoker
    “面试官期盼能找到和自己同类型的人,按自己的思一维习惯进行面试也蛮正常的,至少招来的人他自己满意,乐意与之工作。” 这一点无可厚非。但不光是面试,不管做什么,都得尊重别人,何况只是一个萍水相逢的求职者。请大家想想,如果遇到这样面试官,你该怎么做:
    1) 你说你花了3,4个星期学web开发,你和干了2年web开发的人比较怎样?
    2) 你说你学习能力比较强,这点在学校就应该体现出来,有没有?
    3) 你说那个tcp 断连接是重传造成的,当时重传率是多少? (这个问题没问题,接着看
    “我当时没注意这个,只是发现每次断连接之前都发生了数次重传,没有统计过比率”
    “这你都不知道?”
    “…”

    应该是断连接引起了重传,重传到达一定次数之后 kernel 就断开了连接。这个次数在特定
    操作系统下有一个默认值,他可能是想问你这点知识。从文字上推断语气比较困难,就不
    对面试官的态度作揣测了。如果确实比较恶劣的话,确实太不合适,应该给面试者创造一个
    轻松的环境便于其体现自己的技术实力,这应该不是压力测试的时候。

    4) 性能调优,应用级调优时可以用工具来找热点,cpu 有一些performance counter 可以查看,有一个重要指标是CPI (clock ticks per instruction retired)
    “这和instruction有什么关系?”
    “还是有点关系的,试想…”
    “这和instruction有什么关系??”
    ”假如程序访问内存较多….”
    “这和instruction有什么关系???“
    (你让我说么…)

    这一点是面试者没有答到点上,其实就是一句话的问题,因为面试者不是很清楚这个概念,
    可能会越扯越远,所以面试官追问了 CPI 和 instruction 的关系这个点。

    5) “如果网络传数据时,只收到一部分数据, 异步的做法怎么样”
    “在回调函数里继续读, 等数据完整时再处理”
    “这就叫异步?原来你不懂啊”
    “我觉得异步io是一次性对所有的socket都发布了读操作,哪个socket有数据,哪个的回调函数就会被调用,这个socket就会被处理“
    ”这哪里是异步,你还是回去好好看看书吧!“
    “比如说在windows中, 我们通常这么来进行异步io操作…“
    “你只会windows吗?“
    ”linux aio 是一样的“
    ”好了好了,我没有问题要问你了….”

    面试者的回答反映出其没有异步编程的经验,正确的方法应该是设置一个 buffer,等到 buffer
    中包含至少一个有效单位数据时,再进行处理,而不是在回调函数(如果有的话)中等。面试者
    对异步的理解也不是很清晰,没有回答到点子上,喜欢扯东扯西。技术牛的面试官从这一方面
    就可以看出面试者在基础知识上的掌握程度了。

    总体上来看,面试者在面试官所考查的方面与其期望还有一点距离,当然面试者可能在其它方
    面比如网站开发等具有较多的经验。可能淘宝这次招人是有特定目标的,因此面试官在其关注
    的几个方面对面试者进行了考查,但是没有对面试者的其它方面进行考查;也可能是面试官太
    关注基础知识了,忽略了不是每个人都需要搞后端、搞底层的这个前提。总之,希望每个人都
    看到自己的不足,确定努力的方向,不断进步。

    看了面试者分享的一个贴子 http://www.ibm.com/developerworks/linux/library/l-async/
    感觉挺有收获的,才发现 non-blocking I/O 和 asynchronous I/O 也是可以再辨析的,面能面
    试官想问的是 Non-Blocking I/O 吧。这个贴子
    http://stackoverflow.com/questions/2625493/asynchronous-vs-non-blocking 也对两
    者的关系作了一番分析,可以说是一回事,也可以说有所不同,大家可以讨论一下。

  26. 的份额 :
    如果不知道,就说不知道. 不知道却不敢说不知道, 用一些模棱俩可的话希图蒙混过去.这就叫不能承担责任.

    确实是这样,面试者总是避开关键问题,扯东扯西,反映出三点:
    1. 非常的不自信;
    2. 心中没有一个自己的看法,没有主见。

  27. 这天他遇到了一个面试官,这个面试官的技术是很强大的,在Linux下研究内核 ,也为Linux的内核贡献过代码,热爱开源的人,同时也实现过一个很强大的图片的分布式文件CDN系统。博士。

    想问下这个是淘宝的面试官么?

  28. 都看出来了……我晕死……其实章博士人挺好的……身为大boss,对新入职部门小员工还说期待和你一起工作……

    zoker :
    你说的那个博士是taobao的章博士吧。其实也不奇怪,面试官期盼能找到和自己同类型的人,按自己的思维习惯进行面试也蛮正常的,至少招来的人他自己满意,乐意与之工作。
    我自己的经验是不太喜欢用大量的笔试题进行面试,我更看着面试者的计算能力而不是存储能力,我面试比较常做的事是
    1.找面试者擅长的一些技术领域就一些细节问题进行交流。
    通常我会在面试前按简历列出若干问题。比如编程方面, 会找出一些语言或者框架的比较基础并不复杂的细节让面试者解释实现原理, 如果面试者不清楚,会和面试者一起讨论可以怎么实现.从这些问题里可以看出面试者是个知道分子还是喜欢琢磨的人。曾经面试过一个程序员,虽然他根本没看过java的hashtable的实现,但是还清晰的提出了一个可能的实现思路。
    对于没有工作经验的毕业生,这类单纯技术细节问题的讨论对他们更加公平,基本上认真学过数据结构和算法的人,至少都能在你的启发下给出合适的实现思路。
    这种细节问题的交流也是一个很好的反应面试者个性和合作特性的方式, 有些技术特别牛,但是性格比较偏执的人通常会表现出极度的不耐烦,甚至有人直接就提出终止面试的,呵呵,这类人通常也不是我们需要的。比较合作的人则会表现出足够的耐心,即便不懂,至少会尝试想一下可以怎么做。
    我也很喜欢追问那些自己不熟悉的领域,这些问题的解答即给了我学习的机会, 也可以充分展现面试人的特质。
    其实蛮遗憾,最近2年面试的95%以上的程序员都是知道分子,对细节完全不了解,也缺乏基本的算法知识或者解决问题的思路,虽然都有在大公司工作2-3年的经验,但是他们比较擅长的还是google和c&c,这类人的生产率其实蛮低的。
    2. 让面试者展示其解决问题的思维方式。
    比如在xx项目里碰到的最大问题是什么,如何解决的,在某个项目有哪些事情做错了,原因是什么,再来一次会如何解决等等。
    3. 了解面试者自己喜好,对工作的中远期规划,为何离开上一家公司等等。 由此判断面试者的职业规划是否符合自己的团队期望,这个人能否在团队里比较稳定而且融洽的工作。曾经面试过一个人,技术比较满意,他也乐意到公司来工作,最后还是放弃了,就是感觉他自己的规划和我们的团队的规划有比较大的出入,对他的工作安排不会太理想。
    我比较反感那种先招进来看看,不合适再踢的做法,对团队对个人都有损害。陆续面试过数百人,基本上我个人招聘通过的人,在公司工作成功率还是比较高的。

  29. 陈皓 :
    我不能正面回复你,从侧面回复你吧。如果我是面试官的话,你的这个回答会让我觉得你是一个经常上网关注技术的人,而且还是一个推理性比较强的人。但是,我可能更倾向于你是一个内部的人。;)

    不光公司内部……他在开源界知名度都很高……他跳过去很多人都知道的……

  30. PlayerZ :
    Vtune我用过就有linux版的,写shell抓取profile结果。只能说明这个博士自己不知还以为别人不知,
    这种self ego的人真不能合作

    Linux内核组的人对windows有偏见很正常吧……其实他对人挺好……

  31. 废尔 :
    兄弟,你对于豆瓣的应聘者的评价确实在理,他的确说了很多模棱两可的话。 我个人也不喜欢这样。但是我可能不会因为面试官想要非黑即白,就给他黑或白。
    面试的过程是相互的,每个应聘者同时也是面试官。 这里没有谁需要迎合谁,如果能在面试这个短短的接触中发现互相并不适合,那么这不是不幸,而是幸运, 所谓长痛不如短痛嘛。
    从我个人的经历来看,那位博士就算要给我offer,我也不会去他的团队(我其实之前已经经历了这个公司6轮面试,从猎头处得到的反馈这6轮是成功的)。否则天天和他工作在一起,岂不是一件减寿命的事。
    从面试官的角度来看,我觉得最重要的是尽可能看清应聘者的性格特征和技能,没必要纠缠和为难。

    废尔兄有联系方式么……想有机会请教沟通一下……

回复 pagerank 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注