Top 1 诚实,不要虚张声势
自信地回答问题,如果你不知道,那就坦诚地说“我不知道,但是我认为……”。知之为知之,不知为不知,不要理直气壮地讲述一个错误的答案,这会让面试官怀疑你前面那些正确的答案搞不好也是胡诌的,功亏一篑。虽然这句措辞也不是万金油,但是却能显示你积极思考的能力和永不放弃的态度。对面试官提出的所有问题都要做一番努力,不要一句“我不知道”就轻易打发。
Top 2 做好写代码的准备
如果要你写代码,那就要小心了,千万别忘记遵循基本规则。我常听那些应聘人员一脸茫然地说“呀,我忘记语法了……”,我一看,原来是忘记for循环的语法了。我们不希望你在面试的时候记得所有的东西,但是一些基本的,像循环、if条件、主方法、异常,这些要是忘记了,太不应该了。看到这里,如果你一时间也没法想起这些,不妨复习一下。写代码的时候要注重空格和缩进,那些字写的不好的可要注意了!
Top 3 做好解释项目的准备
软件工程师在写代码之前就应该对业务需求了如指掌。所以,你得能解释项目中一一对应的流程分别是什么。写个三四行代码就深层次解释一下,然后听听非团队人员的意见和建议。当局者迷,旁观者清。看看和客户交流的内部营销记录,找找线索。可以先找个朋友练习一下,确保自己能说到点子上。
一旦你解释完相关的业务需求,那么接下来面试官通常会问你关于这个项目的技术架构。所有你还必须准备架构图,以显示项目中的各个组件是如何相互作用的。架构图不需要任何特定的UML格式,但是你得确保画在上面的东西你都能解释得通。举个例子,如果你正在做一个可以显示数据是如何从用户界面到数据库的Web应用程序。那么你就得展示涉及的不同layers 、使用的技术,等等。而最重要的是,你应该清楚你正在做什么,不要讲到后来,乱七八糟,答非所问。
Top 4 将争论转换为交谈
即使你知道对方错了,也不要争论,试着以“ok,不过我不是很确定这是否正确,我回去再查阅一下”这样的言语继续话题。这能让双方都有一个愉快的心情。在面试的时候要认真听对方的话中之意,回答的时候要以自己的经验为依据,不要天马行空。
Top 5 事先对各种WHY做好准备
大公司的面试关于问“Why?”的肯定很多,搞不好甚至是以“Why?”开头,以“Why?”结束,一路“Why?”下去。例如经典的Java问题“String和StringBuffer的区别是什么?”,后面往往还会有“为什么String……?”又或者“如何才能……?”事先做好如何回答这些“How?”和“Why?”问题的准备。
Top 6 讲述自己最大的成就
在自己以往的工作中,总会有个你认为是最棒的成就。你得学会将这个成就描绘得“天花乱坠”,让面试官觉得这是一个超级不平凡的成绩。所以准备一个励志生动又可信的故事以展示你的能力是如何一步步让你完成那个艰巨的任务的。之所以要事先准备好是因为担心事到临头你搞不好会忘东忘西有所遗漏不说,最怕就是语言不连贯,让面试官无法理解。
Top 7 你有什么问题要问的吗?
好吧,这个问题几乎每个面试都会出现。问问题并不是说你要知道这些答案,但是问某些“聪明”的问题能让面试官对你的印象加分,助你面试成功。