面试兵法--经验
经验!经验!!经验!!!是应届毕业生心中永远的痛,几乎所有的招聘岗位上都要求有至少一年以上的工作经验。我的不少学生都向我抱怨:“所有的岗位都要工作经验,那我们不是要被饿死么?”其实,只要我们学会换位思考,假设我们是一家公司的老板,那么我们是会选择一个没有任何编程经验和社会经验的“新兵蛋子么”?所以抱怨是没有用的,金庸先生笔下的九阳神功里面有这样一段话:”他强由他强,清风拂山岗;他横由他横,明月照大江。 他自强来他自横,我自一口真气足! ”我们不要做 悲悲泣泣,只会抱怨的怨妇,我们要苦练内功,将命运掌握在自己手中!
很好!我们已经有了决心,下面要做的就是找出能够提升自己经验的方法,以及如何将自己有限的经验在面试关面前展示出来!在这之前,我们首先来分析一下,为什么公司对于员工的经验如此重视?举一个比较极端的例子,在我很小的时候,见过一个老兵,他上过战场,退役之后在一家工厂工作,每次他听到工厂当中汽锤(一种设备,离的远的时候,声音听起来很想枪象)的声音,都会条件反射般的卧倒。这就是在战场上学到的保命经验。这也是为什么总是新兵在战场上伤亡最惨重的原因。
因为没有经历,所以在技术非常幼稚。成熟的程序员看到项目当中的重复代码,就会感到浑身不舒服,总要想办法解决,而新手就没有这样的意识,这就是区别。(别告诉我你不知道重复代码对项目意味着什么,那说明你还不适合看这篇文章,应该好好补充一下面向对象的知识)
既然我们明白了经验的重要性,那么经验从何而来呢?其实前面的例子已经告诉了我们,只有经过真刀真枪的实战才有经验。现在的培训机构当中都有项目实战这个环节(因为我这个系列的文章就是写给参加过培训的同学看的,所以也不怕有做广告的嫌疑),但是很多同学都不重视。总是希望老师能把写好的代码发下来,自己看看就行了。真是悲剧阿,我在上课的时候就想经常问我的学生一个问题:“难道你真的认为吃过猪肉和见过猪跑是一回事么?”没有扎扎实实的写过代码,根本无法领会编程的奥妙所在。在写代码的过程当中应该注意以下的几个方面:
1. 项目整体结构的。我们以SSH(Spring+Struts+Hibernate)结构举例,很多同学要么是使用老师给的程序基本结构,要么是用开发工具(Eclipse)自动生成,从来没有自己真正的动手做过一遍。这样根本无法真正的记住搭建框架的整个过程,也无法体会多层的体系结构带来的优势;
2. 错误的调试。调试程序错误的过程真的很郁闷,无数单调的异常信息显示在日志上,不知从何下手。所以很多同学遇到程序异常的第一个反映就是:“老师,我有一个问题!”,把老师当成了“调试工具”,我就曾经被学生冠以“King of debuger”的绰号,不知道这是我的荣耀还是悲哀。其实所有的程序员都知道,在项目开发的过程当中,通常调试异常的工作占据大量的事件,真正写代码的时间不像大家想象中的那么多。因此调试异常是程序员最重要的基本功之一,也是最能体现一个人项目开发经验的技能之一。我建议大家在遇到异常的时候,不要那么着急问老师,给自己规定一段思路的时间,比如说十分钟,如果还是不能解决,再去问老师。这样可以有一个思考的过程,同样可以提升自己的经验,又不会为某一个问题耽误太长的事件。
3.及时的总结。总结绝对是积累经验最好的方法之一,将常见功能(如分页显示)的实现方法和常见异常(如NullPointerException)的解决方法总结起来,能让你在面试的过程当中更有底气;
我们了解了在学习的过程当中积累经验的方法,但是如何在面试的过程当中将我们的经验展示出来,也是同等重要的问题。所以回答技术面试问题的一个重要原则——将自己仅有的经验,在回答题目的过程当中表达出来。那么究竟应该怎么做呢?其实方法非常的简单,就是在回答问题的过程当中,重点强调技术在项目当中的使用方法,而不是简单的说出概念就可以了。好了,这次就现写到这里,好久没有写了,要坚持阿!