程序员如何被面试

进修社 人气:7.04K

 我呢,并不打算在这里谈一些诸如要守时啊,要注意礼貌啊这种人尽皆知、假大空的问题。同时,也不会告诉你一些难以掌握的语气、手势等技巧,这些技巧需要长期磨练才能获得,对于不是频繁跳槽的人,或者需要换一个高端如CTO的人来说,我觉得是没有太大意义的。我打算从两个方面去着手讲解:被面试时一些被面试人容易犯下的、可能自知的问题;以及,面试官可能会犯的错误。我先从“被面试”开始说起。

程序员如何被面试

假如你正在投简历、换工作,如果想要成功,你必须至少经过“写简历”和“去面试”这两个阶段。关于如何写简历,我在两年前已经写过,这里就不再重复了。如果你很幸运,拿到一个面试的机会,那么面试过程也许就会决定着最终的结果会如何。不过,其实在这两个阶段之前,还有另一个阶段,叫做“预习准备”,而这一个阶段却是绝大部分人所忽视的部分。“哦!不就是看看‘面经’之类的东西,做做练习题么。”如果是若干年前的我读到这篇文章,可能也会这么想。不过实际上我想说的是,你需要预习一下你打算去的那个公司的情况。比如说:该公司主营业务是什么,该岗位将会做什么事情(有的时候主营业务和招聘你的部门没有关系),所使用的开发环境是什么,团队规模之类的。不要小看这部分工作的作用,虽然面试官不会因为你对这种问题的熟悉程度,而评判你的技术水平,但可以肯定的是,一定会对你的个人印象有所加减。比如说,如果你不准备这些问题,则可能会没有复习好该复习的技术,或者一不小心问了一个很蠢的问题,我会在后面的蠢问题一节给大家一些具体的例子。其实,在中国的程序员(包括其它职业)其实真的很幸福,因为大部分的单位对这一点要求都不严格,只要你对你要应聘的单位和岗位有一点了解,面试官就该两眼放光了。如果放在国外,你需要的不仅仅是了解这么简单,你还需要针对你要投的公司和职位重写一遍你的简历,否则你是根本不可能得到面试机会的。而放在中国,几乎没有人这么干,也不必这么干。(面试官的水平限制,不会这么认真的看待招聘工作。)面试的过程,很可能会千差万别,有的会纯问技术问题,有的纯聊天,还有的可能会很复杂。我只说我们所应用的面试流程:答题、提问、以及回答。在面试之前我们会给一份简单的题目,要求应聘人员在一定时间内作答,考核的是各个方面,包括基础知识、新技术了解、编程素养、以及逻辑能力。严格来讲,这应该是笔试部分,不过由于我们是随即立即面试的,因此面试的'时候有的时候会据此展开一些提问。比如说:你对泛型了解吗?能否说一下泛型的作用和意义是什么?也就是说,在你答题结束之后,你其实是有机会对你即将要面试的内容进行一些猜测。当然了,这不一定凑效,因为有人也遇到过明明应聘c++职位,却给一份java题,而随后立即展开的面试又与这些完全无关。那么,这时候只能说该公司的招聘人员不够专业,你提前进行的思路整理没有发挥作用并不是你的错。而我在实际的面试过程当中,也会发现一些人没有很好的利用这些关键的信息来做好调整,以至于随后的面试中没有充分发挥。这个在接下来的蠢回答一些中,也会给大家一些示例。在开始讲解具体的示例之前,需要给大家澄清一点,到了面试阶段,真正考核的不完全是你的技术问题,沟通能力的考察如果不占2/3,至少也会占到1/3。所以说,你在面试的过程中,要点不是展示你有多牛X,而是要展示你的人品与沟通能力。