Jackie@cnblogs

copy是一种技术
随笔 - 113, 文章 - 1, 评论 - 33, 引用 - 0
数据加载中……

2009年1月4日

软件行业应聘时面试官在想什么?

每个人无论是否真心想去一个公司,都希望能通过面试,面试也是招聘中最关键的一环,尤其对那些业务已经成形的部门,一小时内员工将完成面试,但是面试结果将在两年内影响员工的待遇和空间。

一般公司的招聘是由人力资源和业务负责人共同负责,业务负责人的意见分量大些,作为软件工程师我从业9年,从第三年开始作为业务负责人面试团队成员,读过上千份简历,面试过差不多几百人,招聘过40-50名员工,也多次被别人面试过,愿意从面试官的角度来说说面试,尤其是业务型的面试官是怎么挑选人员,也许对大家有些参考。

面试官的风格由于经历、水平和公司文化来说差别很大,但是无论是什么样的面试官,其面试的目的就是希望了解面试者的两个方面,应聘者是否有足够的技能,应聘者是否能和现在的团队融合并完成期望的工作,因此作为面试者一定要明白,您的所有行为,都是为了证明在这两方面你是合格的,很多应聘人重视技能的表达,但是忽视了是否能融入管理体系也是面试官非常看重的,面试和考试不同,考试在找最优秀的学生,招聘是挑最合适的人,例如性价比最好的,更容易融入团队文化的,甚至是更能和现在的工作人员搭配的人。

至于工作应该选择大公司还是小公司,选择外企还是创业团队,这些问题其实是职业规划,涉及到每个人本身的特点,本文不做论述。

本文涉及的观点,仅从我了解的业务面试官的一般看法来描述,并不认为这样是对的,而且对牛人完全无效,例如你毕业于名校,或者在应聘领域中有很好的成功经验,甚至你就是大拿,那么你根本不用考虑面试官想什么,甚至不用准备,因为你过去的努力和成绩,就是你最好的准备。还有种情况是你和那个公司的老板是朋友,他直接推荐你,但大部分软件公司里,业务面试官反感这种情况,他们通常用不出你的费用的办法来顶住老板的要求。

说实话,面试成功关键是看你过去的努力程度和你是个什么样的人,技巧的用处很少,因为还有试用期,最终总是会看到你真实的一面,技巧不能让你被聘用,但是能让你有一个好的起点,第二,大部分起到决定作用的面试官,包括我自己,作为业务负责人,面试官盼望早日找到合格同事的心情比你找工作的心情更迫切,他们希望找到好的合作者以完成工作,也许有水平问题,但基本是公正的。了解面试官的心理只是为了加快沟通过程,同时帮助你有好的待遇和开始。

应聘前,在挑选好你希望去的公司后,无论是托人介绍还是上网应聘前通常是先准备简历,在一切面试行为开始之前,最重要的是要了解这个公司是干什么的,和你应聘的职务是干什么的,怎么了解,上网查,找熟人或行业老手问,如果这个不清楚,那基本上败了一半,因为你很有可能不能针对性的准备而浪费双方的时间。

简历在一般公司里是由人力资源先挑选后,再由业务负责人确定,或者人力资源会先做第一轮面试,人力资源的简历挑选相对松,如果你的简历连不熟悉业务的人力资源都过不去,那还是再下功夫写好简历吧。

业务面试官挑选简历主要看两方面,首先要有好的内容,在基本的姓名年龄和联系方式外,工作经历和精通技能一定要写出你和别人有区别的地方,而且能和你希望从事的工作沾边,如毕业学校,有价值的证书,从事过相关工作,你觉得自豪的经历(特殊的社会实践、大项目等),最好在一页纸上完成,因面试官要看的简历实在太多,因此大部分简历,面试官只会重点看第一页。如果你没有任何值得写的经历,那第二个要求是尽量做美观,字体统一,对齐,如果简历上格式不整齐的,会让面试官理解你是一个马虎且不认真的人,认为你不大愿意花力气做好事情。

很多简历上第一页是类似自荐书,写好了是有用,但是现在大家都是抄来抄去,已经没有人看,还是不要了吧。另外如果你在简历上写了你精通某项技能,请确定你熟悉这个领域,否则一旦面试官发现您的精通只是知道这个技能的名字,那么他会推断你其他的技能的精通也是胡说。

简历投递后,如果被通知面试而且业务负责人参加的话,恭喜你,这个已经成功一半了,大部分被面试的人其实只要合格,都能被录用,因为面试官作为业务负责人,招聘并非主业,也不想折腾,一则其他事情很多,二则面对不同的人说一大堆同样的话,也很无聊,唯一提醒的是,面试时间很重要,因为后面的人总是有更苛刻的标准,如果你不是牛人,早日面试,也许能在面试官期望值比较低的时候就被确定,当然代价也有,这个时候面试官还处于比较理想的状态,不太容易谈出高待遇。

在通知面试前,准备你的经历的讲解,这是常见问题,这个讲解要体现你的思路清晰和现在应聘职务的关系,简单说就是3个问题,你现在是干什么的?你将来要干什么?你过去是干什么的?这三个问题不是按时间顺序从过去到现在再到将来,而是从现在到将来再到过去。其奥妙在于:如果你被雇用,面试官选中的是现在的你,他希望利用的是将来的你,而这将来又基于你的历史和现状。在经历中,必须讲明你的经历和你应聘的职务的关系,例如你对这个职务的理解和表现出你的经历中已包含这个职务需要的技能。

以我为例子,对于同样的经历,如果我应聘技术总监,我会主要描述我做过的项目中对于技术结构的考虑,包括成功和失败的总结。如果我应聘项目经理,我会描述我做过的项目中的主要背景,业务需求,功能划分和难点,如果我应聘部门经理,我会描述我这些项目中,我的团队建设情况和如何根据项目特点做人员分工和质量监督。准备好经历描述后,找你的太太或者女友练习,练习到她虽然听不懂,但是感觉你条理清楚并且语气连贯。

其次,猜猜他们希望你精通哪些技能,如果忘记了,找资料看一看,如果看了后还不会,那赶快找你精通的技能,如果没有,把待遇期望值降下来。

最后,如果你跳过槽尤其是每年跳一次,那么想清楚如何解释你为什么要离开原来的公司,不要指望用什么我希望有更好的发展机会来搪塞,面试官一定会花费很多时间来了解真实原因,你如果没有准备,在现场你很有可能开始抱怨原来的公司不好,甚至控诉原来公司的所受到委屈和不公正,这样就糟了,每个面试官都害怕他成为你下一个抱怨对象。

你需要一个好的第一印象,首先是服装打扮的准备,大部分公司在骨子里都是保守的--从他们要求高管穿西服就就可以看出,因此你的面试打扮最好中规中矩,和你应聘的职务一致,没有人会对一个装扮邋遢不得体的应聘者心生好感,而且你要相信,大部分面试官的年龄都比你大,他们可能不太了解和欣赏尤其是80后时尚,我也认为他们应该改变,但是很遗憾,在面试时他们处于决策者地位,只能是你适应他们。

例如,如果你应聘初级职务,你满身名牌,可能导致面试官认为你家境很好,不会珍惜这个工作机会,如果你应聘技术类职务,如果你有长长的红指甲,或者满身首饰,面试官会认为你不大象个埋头努力工作的人,对于那些浓妆艳抹和留着奇怪的着装的,面试官不反对你的个性和自由,但是他们会担心你吓跑客户,尤其是吸引异性的时尚发型可不要随便拿到这里,因为它固然很有冲击力,但对于面试官来说却毫无吸引力,反而会让他认为你是一个我行我素的人而不好管理,如果你过于不修边幅或衣着寒酸,即便你技能合格,可能会导致你无法谈出一个好待遇,因为面试官认为你过去的基础太低,无需付出高代价。我见过一个留着直立长发且满身金属的男孩,我觉得他更适合做黑客,在现场我无法让客户相信他是一个合格的技术人员。

人的打扮和服饰会传递很多信息去影响面试官的印象,就好像你在修理电脑或冰箱的时候,也会认为一个衣服整洁得体,发型简单的工程师有较好技能,实在不知道应该如何做,去看看银行柜员。

其次是时间,有些时候,那个公司所处的位置你不熟悉,那么你得想办法保证在你约定的时间内到达,也许有很多困难,但是如果面试都不能按时到达,面试官会认为今后的工作中,你也很难按时完成,因为肯定也存在其他困难。
当你走近会客室,面试过程就开始了,当然你得不卑不亢,谦虚谨慎,除了这些放之四海皆准的原则,你还应该知道。面试就是个沟通,让对方认识到你的实力,并且你也了解到是否喜欢并且能做这个工作,后者可能很多人没有意识到。

沟通很奇妙,每个人都说自己能很好的别人沟通,在面试官看来,沟通不是让你不停的附和或者滔滔不绝讲述,而是从对话中能了解双方的立场,无论是支持和反对,都能深入对问题的探讨,怕的是无论对方说什么,自己都在说自己的那一套,这样的人也许是一个目标清晰的人,但不是一个好的沟通者,因为对方说什么都不能影响他的内容,他也不关心别人说什么。例如在面试的时候,面试官几次要求讲解和应聘职务最相似的一个工作经历,有人仍然坚持从第一个工作讲到最后一个,这样人其实是不可沟通的。

面试官的问题千奇百怪,其目的还是了解你的水平和你是一个什么样的人,在过程中看你是否能和现有团队一致。任何问题都必须从这两个方面来临场发挥,不用担心你没有很好的文凭和资历,也别担心你过去的公司不怎么样,只要通知面试,这些事情面试官都是知道的,他肯定看中了你简历上的某个方面。

在回答问题之前,你首先得看看在座的人,总有一个人是主角,对他的问题,你要认真听取和仔细思考。

第一类问题是面试官在确认你的简历和你的性格特点,通常是“你过去的工作经历”,“你简历上某个项目的说明”,“你的自我评价”,“谈一谈你的缺点”,“你的一次难忘成功经历/或者失败经历”,等等,其主要目的一方面看你的表达和沟通能力,另外一方面也在印证简历中面试官关心的问题是否真实,毕竟已经通过简历挑中了你做面试,肯定是看中了你过去的一些经验和业绩,这些问题他是在确认,因此回答时要注意和简历一致,千万别说出,简历是不对的,是胡乱写的,其实事情的真相是。。。,不一致的地方,主动说出并给出合理理由,其次,回答要好能和你应聘的工作有关系,包括兴趣爱好的回答,也应该是你喜欢解决问题,喜欢作出漂亮的结果等等有关工作的,如喜欢旅游唱歌之类,无助于说明你的能力,如应聘程序员,自我评价,成功经历应该说出和现在工作有关的内容,事先准备好主要经历的文字描述将对你临场发挥帮助很大。

现在的人力资源面试象相亲,问性格问爱好,而相亲又象面试,问工作单位问待遇,很多面试指南把侧重放在这些类似于业余爱好,性格特点,与人交往的问题等,其实没有用,因为到面试阶段,人力资源的意见很弱,业务面试官对这些没有兴趣,因为不懂,再说如业余爱好、优点和缺点,如果意见不一致你该怎么办之类的问题,谁也不知道正确答案,你只要回答得四平八稳,例如最难回答的缺点,你说有时不够细心,有时急于求成这种人人都有的缺点,面试官听不出什么名堂,如果他要问为什么不细心,那你正好大讲你在某次工作中如何废寝忘食的对一个有水平的技术问题考虑不周,经验不足,把那个问题讲得条理清楚,甚至是错得很有水平,那就变成了你的能力得自我表白。

此类问题只要能很快扯到你精心准备好的成功和失败经历,清晰的讲述问题的关键,那相当于给了你一个表演的机会。但是也注意一下逻辑合理性,您过去在公司又努力又重要且独挡一面,那为什么还要换工作,如果你讲到具体项目,你最好了解细节,如果你说你是某项目的主要开发者,别连有几个模块都说不上来,还有想想人情世故,有个面试者,在回答个人目标是什么的时候,他说他要在四年内做到公司CTO或者分管技术的副总经理,我当时吃了一惊,因为如果他做到了,那第一年我这个部门经理就得让位,CTO也在面试现场,我想他也不太喜欢这样的竞争者。

第二类问题是技术问题,了解你对相关领域的熟悉程度,在回答之前你必须明白,面试官知道他问的每个问题的答案,不了解的他不会问,而且还知道不同水平的人大致会怎样回答,你必须诚实,千万别想当然,不会就直接说明,你也别指望能回答出所有问题,面试官目的不是考倒你,他会更换问题直到了解你的水平,你不熟悉某些技能是正常的,面试官纠正你的错误绝对不是在卖弄,一连串的问题挤压下来,可以看你对不熟悉的问题和处于逆境中的态度,了解今后工作中是否能比较容易的和你沟通,很多人被面试官纠正几次错误,就会开始发急,甚至摆出不友好和极其不耐烦的态度,有人在回答问题时非常轻蔑,似乎所有技术都是小菜一碟,这些情况面试官将会认为你不是一个谦虚的人,可能以后在工作中很难管理。好的做法,应该是认真听他的纠正,并且用讨论的方式确认他认为你那些地方错了。

在技术问题上发散思维非常致命,因为技术问题是有清晰的对错,你的胡乱联想不会被认为是有创造力的表现,相反面试官会认为你是一个不爱学习的人,只有知道自己不懂,才会有学习的动力,我见过一个求职的系统工程师,在回答Linux下PS命令是什么的时候,他果断的说,这是图像处理,我怀疑他理解的系统工程师是版主。还有开发人员在把SQL中Group By的功能说成是排序,而且还认真的告诉我,他用这个命令做排序已经很多年,我很担心以后工作中,他们也是这样不懂装懂,而且还不停的对自己的无知辩护,清晰的回答不知道会更好,那还有人会问,那所有问题都不会怎么办,说实话我也不知道怎么办。

第三类问题的是双向沟通的,例如是否能出差,是否能加班,对公司还有什么需要了解的,对于工作态度方面的问题,如果你不是有特别的原因,如家庭需要照顾导致你的工作地点时间有限制,那你判断一下,有资本说他不喜欢听的就说,否则还是说没有问题,对公司有什么了解的,千万别上手就问待遇、福利等,还不到时候,先问你的工作职责和内容,问评判标准,问的过程中去认真听,以项目开发为例,大致的团队是什么样组成,如你是否需要考虑界面,需求是有业务人员还是自己和用户谈,项目涉及到那些业务领域和技术领域,在面试官回答的时候,用你的理解重复,确保你明白他的意思,面试是个双向的过程,这部分问题你在回答中也应该问,去了解你到底是否喜欢和能做好这个工作。

最后一步大家都会到薪酬,尽量多谈工资,少谈福利,福利通常是公司制度,改变可能性很小,而工资面试官的意见很重要,每个面试官心目中都有工资预算,问你对薪酬的要求,大部分时候不是要和你谈薪酬,是想知道你的期望值是否和他的能付出的一致,这个数字相互匹配很重要,如果能知道出他的预算,那多要10%~20%很容易,结合业界的惯例和公司的规模,你应该能猜出这个数,你可以评判一下面试的情况,面试时间如果很长,你觉得他比较满意,那你可以适当调高,如你感觉他不满意,你又喜欢这个工作,用低工资是你翻盘的最后机会。

待遇是个双刃剑,因为你得要求越高,他对你得期望就越高,你今后不能很快胜任工作,那你可能就会很难通过试用期。工资要得低,那你会有竞争力,后面得工作中对你期望值低,你容易得到机会和容易出成绩,高手必须完美,低手有一点可取就是成绩,高手冒充低手出成绩容易达到后发制人的效果。当然,谁也不喜欢低工资,有这么个经验,如果你的得到略低于你得付出,那你的性价比会高,因而比较稳定,升职机会页大,但是你面临可能后期调整慢得风险,通常成熟业务或者大公司薪酬调整比较复杂,尽量谈高,新业务或小公司薪酬制度灵活,有成绩后调整会更有利。

下面几条和面试无关:

你很难为了物质利益而和一个不喜欢的人结婚而有幸福生活,找工作也一样,不是每个面试失败都是坏消息,因此面试中你不但要展示自我,也要观察这个公司是否适合你,例如面试官的说话方式,他们推崇的价值观,这些你能否接受。

所有的事都是一个逐渐成长的过程,你今天面试失败了,没有关系,但是你必须知道哪里导致你的失败,得做思考,技术太差,行业经验不行,沟通能力不行等等,那么你就总结下次我怎么提高,怎么回答老板才能让他觉得我行。

如果你实在看不透自己的缺点,或者不理解问题所在,那么面试结束要张名片,写封邮件感谢并询问,不被录取可不可以给些建议,大部分的面试官很会乐意回复你的。你可以真正客观地评价自己以期待以后的机会。

学会比较,面试完了后自己想想,我是不是比一年前的自己强了?如果进步了,那么是好事,恭喜一下,继续走下去,如果没有变化,那看看今天的面试中那些方面应该去加强。不要随便怀疑自己,最后成功的一定是你。

posted @ 2009-01-04 23:12 JackieW 阅读(360) | 评论(3) |  编辑

通过JDBC链接ORACLE的十大技巧。。

在网上收集到一些知识点,给刚学JDBC,或者学完后的同学参考的阅读下。。可能会有点收获。特别是PreparedStatement和Statement区别。。一些细节知识。希望有点帮助。多交流。。。


Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同。在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能。

  1、在客户端软件开发中使用Thin驱动程序

  在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI驱动程序或Thin驱动程序。OCI驱动程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle建议在客户端软件的开发中使用OCI驱动程序,这似乎是正确的。但我建议使用Thin驱动程序,因为通过多次测试发现,在通常情况下,Thin驱动程序的性能都超过了OCI驱动程序。

  2、关闭自动提交功能,提高系统性能

  在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:
  conn.setAutoCommit(false);

  值得注意的是,一旦关闭了自动提交功能,我们就需要通过调用Connection类的commit()和rollback()方法来人工的方式对事务进行管理。

  3、在动态SQL或有时间限制的命令中使用Statement对象

  在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。

  此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。因此,我认为,Statement对象可以使动态SQL命令的创建和执行变得更加简单。

  4、利用helper函数对动态SQL命令进行格式化

  在创建使用Statement对象执行的动态SQL命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字O'Reilly插入表中的SQL命令,则必须使用二个相连的“''”号替换O'Reilly中的“'”号。完成这些工作的最好的方法是创建一个完成替换操作的helper方法,然后在连接字符串心服用公式表达一个SQL命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个Date型的值,然后让它输出基于Oracle的to_date()函数的字符串表达式。

  5、利用PreparedStatement对象提高数据库的总体效率

  在使用PreparedStatement对象执行SQL命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。如果不是在客户端创建、预备、执行PreparedStatement任务需要的时间长于Statement任务,我会建议在除动态SQL命令之外的所有情况下使用PreparedStatement对象。

  6、在成批处理重复的插入或更新操作中使用PreparedStatement对象

  如果成批地处理插入和更新操作,就能够显著地减少它们所需要的时间。Oracle提供的Statement和 CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制,可以以如下所示的方式调用setExecuteBatch():
PreparedStatement pstmt3D null;
try {
((OraclePreparedStatement)
pstmt).setExecuteBatch(30);
...
pstmt.executeUpdate();
}

  调用setExecuteBatch()时指定的值是一个上限,当达到该值时,就会自动地引发SQL命令执行,标准的executeUpdate()方法就会被作为批处理送到数据库中。我们可以通过调用PreparedStatement类的sendBatch()方法随时传输批处理任务。

  7、使用Oracle locator方法插入、更新大对象(LOB)

  Oracle的PreparedStatement类不完全支持BLOB和CLOB等大对象的处理,尤其是Thin驱动程序不支持利用PreparedStatement对象的setObject()和setBinaryStream()方法设置BLOB的值,也不支持利用setCharacterStream()方法设置CLOB的值。只有locator本身中的方法才能够从数据库中获取LOB类型的值。可以使用PreparedStatement对象插入或更新LOB,但需要使用locator才能获取LOB的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取LOB的值。

  8、使用SQL92语法调用存储过程

  在调用存储过程时,我们可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。

  9、使用Object SQL将对象模式转移到数据库中

  既然可以将Oracle的数据库作为一种面向对象的数据库来使用,就可以考虑将应用程序中的面向对象模式转到数据库中。目前的方法是创建Java bean作为伪装的数据库对象,将它们的属性映射到关系表中,然后在这些bean中添加方法。尽管这样作在Java中没有什么问题,但由于操作都是在数据库之外进行的,因此其他访问数据库的应用软件无法利用对象模式。如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Java bean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象模式,其他需要共享你的应用中的数据和操作的应用软件也可以使用应用软件中的对象模式。

  10、利用SQL完成数据库内的操作

  我要向大家介绍的最重要的经验是充分利用SQL的面向集合的方法来解决数据库处理需求,而不是使用Java等过程化的编程语言。

  如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UPDATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?我建议用户认真学习如何最大限度地发挥SQL的功能。

posted @ 2009-01-04 22:35 JackieW 阅读(58) | 评论(0) |  编辑

2008年12月30日

介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?

答:Collection FrameWork如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)
Map提供key到value的映射

posted @ 2008-12-30 11:11 JackieW 阅读(176) | 评论(0) |  编辑

2008年12月23日

技术讨论

5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 
答:父类: 
package test; 
public class FatherClass 

public FatherClass() 

System.out.println("FatherClass Create"); 


子类: 
package test; 
import test.FatherClass; 
public class ChildClass extends FatherClass 

public ChildClass() 

System.out.println("ChildClass Create"); 

public static void main(String[] args) 

FatherClass fc = new FatherClass(); 
ChildClass cc = new ChildClass(); 


输出结果: 
C:>java test.ChildClass 
FatherClass Create 
FatherClass Create 
ChildClass Create 

posted @ 2008-12-23 18:54 JackieW 阅读(40) | 评论(0) |  编辑

职业生涯中12个最致命的想法

 

      1、总觉得自己不够好

  这种人虽然聪明、有历练,但是一旦被提拔,反而毫无自信,觉得自己不胜任。此外,他没有往上爬的野心,总觉得自己的职位已经太高,或许低一两级可能还比较适合。


  这种自我破坏与自我限制的行为,有时候是无意识的。但是,身为企业中、高级主管,这种无意识的行为却会让企业付出很大的代价。


  2、非黑即白看世界

  这种人眼中的世界非黑即白。他们相信,一切事物都应该像有标准答案的考试一样,客观地评定优劣。他们总是觉得自己在捍卫信念、坚持原则。但是,这些原则,别人可能完全不以为意。结果,这种人总是孤军奋战,常打败仗。


  3、无止境地追求卓越

  这种人要求自己是英雄,也严格要求别人达到他的水准。在工作上,他们要求自己与部属“更多、更快、更好”。结果,部属被拖得精疲力竭,纷纷“跳船求生”,留下来的人则更累。结果离职率节节升高,造成企业的负担。

  这种人适合独立工作,如果当主管,必须雇用一位专门人员,当他对部属要求太多时,大胆不讳地提醒他。


  4、无条件地回避冲突

  这种人一般会不惜一切代价,避免冲突。其实,不同意见与冲突,反而可以激发活力与创造力。一位本来应当为部属据理力争的主管,为了回避冲突,可能被部属或其他部门看扁。为了维持和平,他们压抑感情,结果,他们严重缺乏面对冲突、解决冲突的能力。到最后,这种解决冲突的无能,蔓延到婚姻、亲子、手足与友谊关系。


  5、强横压制反对者

  他们言行强硬,毫不留情,就像一部推土机,凡阻挡去路者,一律铲平,因为横冲直撞,攻击性过强,不懂得绕道的技巧,结果可能伤害到自己的事业生涯。


  6、天生喜欢引人侧目

  这种人为了某种理想,奋斗不懈。在稳定的社会或企业中,他们总是很快表明立场,觉得妥协就是屈辱,如果没有人注意他,他们会变本加厉,直到有人注意为止。


  7、过度自信,急于成功

  这种人过度自信,急于成功。他们不切实际,找工作时,不是龙头企业则免谈,否则就自立门户。进入大企业工作,他们大多自告奋勇,要求负责超过自己能力的工作。结果任务未达成,仍不会停止挥棒,反而想用更高的功绩来弥补之前的承诺,结果成了常败将军。

  这种人大多是心理上缺乏肯定,必须找出心理根源,才能停止不断想挥棒的行为。除此之外,也必须强制自己“不作为,不行动”。


  8、被困难“绳捆索绑”

  他们是典型的悲观论者,喜欢杞人忧天。采取行动之前,他会想像一切负面的结果,感到焦虑不安。这种人担任主管,会遇事拖延,按兵不动。因为太在意羞愧感,甚至担心部属会出状况,让他难堪。


  这种人必须训练自己,在考虑任何事情时,必须控制心中的恐惧,让自己变得更有行动力。职场中最有效地生存法!


  9、疏于换位思考

  这种人完全不了解人性,很难了解恐惧、爱、愤怒、贪婪及怜悯等情绪。他们在通电话时,通常连招呼都不打,直接切入正题,缺乏将心比心的能力,他们想把情绪因素排除在决策过程之外。


  这种人必须为自己做一次“情绪稽查”,了解自己对哪些感觉较敏感;问朋友或同事,是否发现你忽略别人的感受,搜集自己行为模式的实际案例,重新演练整个情境,改变行为。


  10、不懂装懂

  工作中那种不懂装懂的人,喜欢说:“这些工作真无聊。”但他们内心的真正感觉是:“我做不好任何工作。”他们希望年纪轻轻就功成名就,但是
他们又不喜欢学习、求助或征询意见,因为这样会被人以为他们“不胜任”,所以他们只好装懂。而且,他们要求完美却又严重拖延,导致工作严重瘫痪。


  11、管不住嘴巴

  有的人往往不知道,有些话题可以公开交谈,而有些内容是只能私下说。这些人通常都是好人,没有心机,但在讲究组织层级的企业,这种管不住嘴巴的人,只会断送事业生涯。


  他们必须随时为自己竖立警告标示,提醒自己什么可以说,什么不能说。什么样的MM最好找工作……


  12、我的路到底对不对?

  这种人总是觉得自己失去了职业生涯的方向。“我走的路到底对不对?”他们总是这样怀疑。他们觉得自己的角色可有可无,跟不上别人,也没有归属感。

posted @ 2008-12-23 14:50 JackieW 阅读(117) | 评论(0) |  编辑

2008年12月21日

HTML中的post和get

HTML中的

post 暗文

get 参数传递,传递的数据量大

posted @ 2008-12-21 16:31 JackieW 阅读(129) | 评论(1) |  编辑

2008年12月19日

abstract

package study.test;

/**
 * @see 抽象类One
 * @author FenglinZ
 * @version 1.0
 */
public abstract class AbsOne {

 /**
  * @see 获取字符
  * @return 获取的字符
  */
 public abstract String getString();

 /**
  * @see 显示获取的字符
  */
 public void Show() {
  System.out.print("Show:");
  System.out.println(getString());
 }
}
-----------------------------------------
package study.test;

public class Two extends AbsOne {

 @Override
 public String getString() {
  return this.getClass().getName();
 }
 
}
--------------------------------------------
package study.test;

public class Three extends AbsOne {

 @Override
 public String getString() {
  return this.getClass().getName();
 }

}

--------------------------------------------
package study;

import study.test.AbsOne;
import study.test.Two;
import study.test.Three;

/**
 * @see 执行程序
 * @author FenglinZ
 * @version 1.0
 */
public class Execute {

 /**
  * @see 执行程序
  * @param args
  *            参数
  */
 public static void main(String[] args) {
  AbsOne abs = null;
  abs = new Two();
  abs.Show();
  abs = new Three();
  abs.Show();
 }

}

posted @ 2008-12-19 22:56 JackieW 阅读(36) | 评论(0) |  编辑

implsments

package study.itest;

public interface IOne {

 public String getString();
}
----------------------------------
package study.itest;

public class Two implements IOne {

 @Override
 public String getString() {
  return this.getClass().getName();
 }

}
----------------------------------
package study.itest;

public class Three implements IOne {

 @Override
 public String getString() {
  return this.getClass().getName();
 }

}
----------------------------------
package study.itest;

public class Output {

 public static void Show(IOne one) {
  System.out.println("Show:" + one.getString());
 }

 public static void main(String[] args) {
  IOne one = null;
  one = new Two();
  Show(one);
  one = new Three();
  Show(one);
 }
}

 


 

posted @ 2008-12-19 22:43 JackieW 阅读(28) | 评论(0) |  编辑

java 四舍五入

import java.lang.Math;



    public static void main(String[] args) {
        System.out.println("Math.round(11.5)="+Math.round(11.5));
        System.out.println("Math.round(-11.5)="+Math.round(-11.5));
    }

posted @ 2008-12-19 17:34 JackieW 阅读(64) | 评论(0) |  编辑

需要了解的内容

人员:    
学习目标:    了解java语法,hibernate,webwork,spring常用特性,以便有能力进行后续的技术开发或者项目支持工作
重点内容列表:    
    1. java部分
    a) 接口特性及使用场景,类继承
    b) Private ,public,protected含义及使用场景,知道synchonized关键字含义
    c) List ,map,set等相关容器类及其常用的方法
    d) 数组,以及如何将数组和集合的相互转换
    e) pojo属性的setter,getter属性写法
    f) 代码编写习惯,如方法注释,常量如何定义等
    2. hibernate部分
    a) Hibernate.properties,或者hibernate.cfg.xml文件的常用配置属性含义及设置
    b) Many-to-many,one-to-many,lazy-load,cascade等含义及如何进行设置
    c) hibernate对象的三种状态
    d) hql基本语法的学习,特别要注意hibernate特有关键字的,方法的学习(如elements)
    e) hibernate实现持久化的基本原理
    f) xdolet常用标记学习
    g) 使用hibernate的基本配置
    3. spring部分
    a) spring在mvc结构中的层次定位,使用spring的基本配置
    b) ioc特性,如何配置,适当了解下aop含义及配置和使用场景
    c) spring和hibernate,webwork的集成,以及spring提供的关于hibernate,webwork的抽象类,工具类如何使用等
    d) 了解下spring对哪些功能进行支持,以及支持那些第三方框架
    4. webwork部分
    a) Webwork.properties,xwork.xml文件如何配置参数,action等
    b) Webwork中的modeldrive开发模式
    c) 了解webwork基本概念及使用如:package,stack,拦截器
    d) webwork和spring的集成,如何注册action的bean等
    5. Core 包
    a) 查看core包的几个主要接口类,明白提供的方法和功能.
    b) 了解AbstractAction,AjaxAbstractAction,VOUtil工具类的使用,
    c) 明白json格式
    d) 理解如何从dao>>service>>action>>ajax界面构件库各个层次的关系和功能定位以及代码之间如何关联设置并调用.
参考资料    a) CuteFramework开发文档和构建功能文档
    b) Hibernate reference
    c) Spring  reference
    d) Webwork 文档

posted @ 2008-12-19 15:02 JackieW 阅读(60) | 评论(0) |  编辑