标题:面试实战--B公司


B公司是国内互联网界较有影响的公司,从毕业开始找工作到现在,已经参加过B公司的两次招聘了,尽管两次面试的部门并不一样。第一次是在毕业之时的电子商务部门;第二次是客户端部门的Windows Mobile相关职位。

第一次是2005年下半年,首先B公司让我去做了一份试题,涉及的内容包括安全领域的缓冲区溢出原理以及让我举个相应的例子,C++面向对象的几大特性有哪些,和一道用SQL查询语句解决实际应用的问题。答完之后就他们就让我回去了。之后不久,我接到了B公司的电话,让我去参加他们的正式面试。但是我已经很早的签了P研究所,从而失去了再找工作的激情,在去B公司参加二面的时候因此而迟到,后果可想而知,第一次应聘B公司的面试也就停滞在了第二轮。

第二次应聘B公司是在2009年上半年经济危机日益严重,各大外企大量裁员,IT工作者人人自危的大环境下。无意中我看见B公司的网站上公布了一个关于Windows Mobile的职位,而自己以前正好有这个方面的经验,于是就抱着试试的态度投了该职位。

刚投没几天,B公司的工作人员就打来电话,让我去面试。在这里可以看出,与应届毕业生招聘不一样,社会招聘特别强调以往的项目经验,如果你的简历中没有招聘条件中需要的相关项目的关键字,那么简历就很可能被过滤掉。而如果有相关的项目经验并在简历中得以体现,那么得到面试的机会还是非常容易的。

我比约定时间提前了30分钟到达B公司,并提前10分钟联系了负责面试我的人。此次他们并没有安排笔试(可能对于工作3年以上的人就直接免去了笔试),而是由一个开发经理带着一个技术人员来面试我。实际上,他们就是让我介绍了自己以前做的那个Windows Mobile的项目。在来参加面试之前,我已经预料到了这点。因此头天就复习了下这个项目,并对其中的技术点进行了梳理。一直介绍下来,时间大概就过了一半。此外他们还问了我在项目中使用的开发环境和开发工具,还问了与我桌面开发环境与手机开发环境的不同。我都一一做了回答。他们对我还比较满意,那个manager甚至想带我去直接见他们的总监。可他出去后不久,又一个人回来了并告诉我他们总监不在办公室。第一轮面试就此结束。

过去2,3周之后,B公司HR再次打来电话,让我去接着面。于是我按照约定时间再次来到B公司。第一轮负责面试我的manager把我带到会议室后,叫来了他们的一个产品经理。产品经理问了我一些产品开发的问题,问了如果把一个他们自己的桌面版的软件移植到Windows Mobile上需要多少时间,问了我现在的项目开发情况及任务分配等,也问了我桌面开发与手机开发的不同,问了我一个好的产品应该有哪些需要注意的地方。

之后,B公司的该manager又带来了另外一个大概40多岁的面试官走了进来。这轮是技术面。该面试官问了我很多问题。比如C++中的容器map的底层数据结构是什么,COM的架构,COM的线程模型有哪些,为什么用IDL编译出来的接口用的是struct而不是class,网络的MTU大小,TCP建立链接和断开链接的几次握手,NDIS网络驱动开发的三层驱动,问了我MySQL的存储引擎有哪些,还问了我一个手机电话簿名字查询与智能提示的数据结构设计问题,我想到的是用字典树来解决,而他认为这个结构依然无法解决存储问题。此面试官一直问个不停,几乎涵盖了计算机科学的各个领域。

最后技术面试结束,我留在会议室。不一会儿,一直负责我的面试的manager叫来了他们的总监。总监与我握手之后,与总监的面试正式开始了。他首先让我做了一个自我介绍,然后问我为什么要离开现在的公司来应聘B公司职位,他问了我有什么优点和缺点。优点我说了2个,缺点我说了一个,他好像并不满足,问我还有没有其他的优点。比较有意思的是他还问了我是哪里的人,这个似乎是他的好奇心而与工作无关。最后问了我目前的薪水级别。当他得知我的薪水之后,他问我,如果给我的薪水比我现在的少,我还会接受来B公司工作吗?我心里想,B公司工作那么忙,还老加班,如果给我的薪水比现在的还低,性价比就不划算了,应该不会考虑去了。我心里虽然这么想,但是口头上依然没有明说,我表示这个问题比较尖锐,不做回答。其实后来想想,这样逃避这个问题的回答,也是处理不当。我应该起码表明自己的态度,自信的告诉他,如果给我的薪水比我上家的少,我会更加慎重的考虑是否选择这个 offer,因为公司给我的薪水的级别,表示企业对我的认可程度。当然,很明显的是我肯定不能答应说接受,那样会让人觉得我找工作是迫不得已没有后路可退了,从而自降身份。实际上,我觉得只要不是无路可退的情况,一般都应该自信而理直气壮的拒绝这样的情况,正所谓人往高处走,水往低处流。

面完B公司的总监之后,在B公司的面试也就告一段落。尽管在离开的时候,B公司的那位manager信誓旦旦的告诉我,无论面试结果如何,都会告诉我结果。但是直到本人在此书中写完此次面试经过,依然没有得到B公司任何的答复。其中一个可能的原因就是B公司真的无法开到我现在所拥有的薪水级别,当然究竟是什么原因,只有B公司自己知道了。

以上所述便是本人三年以来的在部分公司的工作面试经历。此外,本人还曾经接到过Google的面试邀请,但因为当时人在美国而错过了Google的面试。最近还刚参加完了华赛公司的面试,华赛的面试和华为的面试类似,主要特点就是有一个心理测试和集体群面,可能是因为社招的原故,没有笔试。由于待遇没谈拢,比自己预期的低了很多,因此拒绝了。

总的来说,找工作既靠实力,也靠运气,教育背景与工作背景也占一定因素。我们无法改变自己的出生和背景,无法做到次次好运,唯一能够做到的就是要打好基础,加强自己的实力,因为面试过程中绝大多数时候考查你的题目都显得非常基础。因此,作为一个程序员,在学习时要多看书多学习,掌握牢固的基础知识,平时一定要热爱编程技术,认真参加各种项目并深入研究及时总结。

以上就是我在这几年的一些面试实战经验。我想说的是:求职成功源于不断的学习和积累,机会总是给有准备的人。程序员朋友们一定要明白这一点。不要唯一的去追求所谓的面试的技巧和方法,它们都不是万能的。所谓台上三分钟,台下十年功。也有养兵千日,用兵一时一说。因此,我在此篇讲的一些内容主要目的是让读者朋友们很好的发挥自己存在的才能,让伯乐们及早的发现你。这些方法无法代替读者朋友们平时对编程技术的执著的努力。

程序员求职面试成功的根本秘诀在于对技术的掌握。只要我们在大学里在工作中积极参加各种项目的开发,积极去解决各种问题,积极去学习各种编程的技术,那么在写简历的时候再把这些项目和技术很自然的写在其中,那么面试成功是指日可待的。有一句话很形象:怀才和怀孕一样,终究会被发现的。相反,如果我们平时偷懒不去学习,不去争取实习机会,不去参加一些重要的开发项目,那么在写简历的时候,也就没有任何内容可写,显得非常的尴尬和被动,这样可能连简历筛选关都过不了。如果随便杜撰一些项目经历,在面试的时候也很容易露馅。

所以,我们尤其是大学生朋友们应该珍惜宝贵的时间,在大学少玩游戏,少浪费时间,遇到失恋也不要长期沉沦,为了应对日益激烈的就业竞争,宜早做准备。一方面要学习好计算机理论知识,多看看计算机理论的经典书籍,另一方面也要多参加实践的机会,可以跟着老师一起做项目,可以申请去各个知名IT公司实习。每年各大IT公司都提供大量的实习机会。大家在申请实习机会的时候不要妄自菲薄,要自信的去申请。要知道,大家都是学计算机的,基本上所有的朋友的知识背景和能力水平都差不多,如果你能在平时注重了理论的学习,注重了编程能力的提高,有扎实的基础,那么去任何一个公司实习都是没有问题的。



看文字不过瘾?点击我,进入周哥教IT视频教学
麦洛科菲长期致力于IT安全技术的推广与普及,我们更专业!我们的学员已经广泛就职于BAT360等各大IT互联网公司。详情请参考我们的 业界反馈 《周哥教IT.C语言深学活用》视频

我们的微信公众号,敬请关注