一切都是从一次不成功的电话面试开始的。正在学车的我刚刚通过了桩考,心情不错,正在大厅里悠哉游哉地等着刷卡。忽然一个陌生的电话打进来,对面介绍说是一家S开头的手机操作系统公司,刚在北京设立了研发中心。
七月初的时候在CSDN看到消息,说这家公司有很宏伟的中国计划,浏览职位时发现Senior Trainer的职位,于是投了份简历。因为开发方向不同,所以并没有抱太大希望。没想到两个多月之后竟然要我进行电话面试。其实,当时很礼貌的拒绝了,也不会有之后的不愉快,但是谁叫我当时刚过桩考呢,我在心情好的时候不太善于拒绝。
一开始倒很正常,对方的语气很职业,语速很快,听不出什么感情来,让我觉得像面对一部机器。下面是一些对话的片段,凭记忆写下来的,不一定准确,但我尽量反映对话的原貌:
Q:你是不是熟悉C++?
A:呃,还行,用了五六年了……(开发语言这东西,越到后来就越不敢说熟悉,模板、泛型,你能说自己熟悉吗?倒是很多刚会写printf的人说自己精通C++)
Q:那好,那么下面我问几个关于C++的问题,请问什么是Hash Table?
A:Hash Table?哦,哈希表啊,一种数据结构,经常用于检索……(此处略去三百字)
Q:哦,那好……(耳机里传来敲键盘的声音)
A:请问您是HR还是技术人员?(听语气像是HR,但是怎么问起技术问题来了?我解释那么多,能听明白吗?忽然有一种被人耍的感觉,因为我解释什么是哈希表的时候的确是按照开发时的心得来回答的……可是人家根本听不懂)
Q:我是HR,可能有些听不懂你的答案。那么第二个问题:您觉得下面关于原子操作的描述正确的是?
A:……(听不懂还问,忽然就变成幸运五十二了)
Q:A,一同做一些事情,或者什么也不做;B,……;C,……(B和C两个答案我根本没听进去,因为我觉得这几个答案都不靠谱)
A:我觉得原子操作是这样,在多线程的环境中,有些多条指令操作不能够被打断,所以我们需要设置一个原子操作,让其他线程不打断这个操作。
Q:……哦,那么你觉得哪个答案是对的?
A:我觉得哪个答案都不对……(鸡同鸭讲)
Q:那你也要选一个……(听口气对方也很郁闷,本来嘛,除了ABC,她也不知道我在说什么)
A:那么选A吧……(我已经不太有耐心了)
Q:哦,那选A……(又听到敲击键盘的声音)
Q:那么下一个问题,请问下面对回调函数描述正确的是:
A:(轻笑了一下)
Q:您觉得这个问题很有趣吗?(语气很警惕,还有点愠怒)
A:我觉得这个问题很无趣。
Q:这是什么意思?(完全是质问的口气)
A:哦,没什么,您继续……(基本的涵养还是应该有的,可是如此不客气的HR我还是第一次遇到,佩服)
Q:(下面仍是开心辞典式的三选一问题,包括同步过程、回调函数、纯虚函数等技术点)
A:……(略去具体的问题和回答,因为我已经不太有耐心做一个技术的探讨了,随便选一个得了。反正即使选错了,我还是会用纯虚函数写程序,C++里没有的接口我都会用……如果大家好好上了大学的C++课程,应该不会弄错。可是对于一个有六年工作经验的人来说,我已经没兴趣温习这些大学课程了)
到这里大家也许可以看出来了,我已经对这次面试失去了信心,原因有三点:
一, 非技术人员来问技术人员关于技术的问题,技术人员无法让对方了解自己的技术背景,因为除了固定的选项外,考官根本听不懂面试者的解释,其实这部分才是最有价值的(我也面试过别人,我就喜欢开个头,然后听人家说,这样可以更全面的了解这个人的技术背景,毕竟每个人都会捡自己最擅长的说)。
二, 用考应届毕业生的题目来考我这个有六年工作经验的人,我的确有一种被轻视的感觉,很多更大的软件公司也会考应试者的基本功,可一般都是放在一个具体的开发环境中,我的确没遇到过这种考察方式,如果是我的话,我会把这些放在正式面试中,写两个小程序,什么都知道了。 |