面试个人体会

  工作已经有一年多的时间了,不过由于种种原因,工作只是断断续续的保持了一年的时间,实际的工作时间估计只有六到八月,实际有效的工作时间可能只有可悲的三四月那么长了吧.再加上原来在学校中并没有学习什么知识,因此总体感觉一年中在知识体系上没有什么太大的进步.

  目前个人处于待业期,想想前段时间真的是挺可怜的.一个人在外地突然就做出了辞职的决定并马上就实行了,可是水平有限有不善于沟通,所以只能硬着头皮去找了一两个月的工作,想想真是很艰难的时刻.突然在有限的几次面试中想到几个问题.

1.JAVA开发的语法等基础知识我真的熟悉了吗?可以说,我对于语法真的所知甚少,所掌握的阶段还是处于PASCAL那种语言,即面向过程(应该是过程吧)的三种逻辑语法结构,所谓的顺序执行,判断执行,循环执行.而对于JAVA的类库基本都无法达到熟悉的地步,觉得很是悲哀.不过觉得还是太繁杂了,可能是有所必要去掌握的,不过思想还没深入到那种程度.回来仔细思考了一下所问到的问题,分为几类.

一是JAVA语法中的隐含的或者复杂的应用,这有些类似与考试,突然想起了CASE语句中的BREAK应用,如果少写了BREAK,那么执行的结果会与你想要的有所不同.对于这些东西,我的感觉是在代码环节中难免会出现各种各样的莫名其妙的问题,而最终的原因可能就是这些隐含在语法中的特殊执行规律.可能我们第一次去学习JAVA语法的时候会碰到,而毛糙的去做开发之后又会忘记了.因为很多问题只有碰到了才会感觉到的.另外还有隐含的语法,比如public,private,protect,象开发中最后的protect容易被忽视掉,其实很简单的一个东西,也并非要紧牢才能做开发.当然语法是无穷无尽的,即使再牛也总有不知道的地方,如果纯粹为考,那永远都有无法覆盖的地方.

二是JSP的基础知识.觉得这个很是失策.虽然目前开发大的环境下,主要用SSH?(SPRING,STRUTS,HIBERNATE)来进行开发,但是并不排除有使用JSP来做开发的地方.我有一次面试的时候就听到有人工作在这样的公司中,主要从事JS的一些开发.在一次郁闷的面试中,被问到了JSP有哪几种对象,如何传递参数的,如何跳转页面的,include的含义.想来确实惭愧,在开发JSP的时候,通常只是复制一遍同事的代码,然后对着将页面的字段给改变掉.至于如何导入类,申明使用bean,我连那申明语句都没有记住,直接复制,然后修改.某些时候,这种粗糙的工作方式导致了能力的停滞.当然,工作归工作,事实证明即使有些东西不熟,也一样不影响开发,有些时候代码无非是COPY,修改,测试,灵活的解决BUG.当然,建议去面试前,大概看一下JSP的一个小系统,登陆,注销等功能的系统,知道一下request,session,cookie的应用场景就可以了.

三是开源框架的工作流程和体会.这是必须的,即使是最简单的面试也有可能会问这个.如果这个感想都没有的话,那基本就属于白干了.不过有的时候,还真是仁者见仁,比如我同事问我你知道AJAX的实质是什么吗?我一连说了几个,无动态刷新网页,使用一个可能是XMLREQUEST的对象并借用JS脚本去调用服务器的代码更新小段数据来实现部分刷新.我觉得倒都是对的,不过他说不是实质,当然到底是什么答案我也还不知道,这就是所谓个人与个人的最佳答案永远很难一致吧.总的来说,MVC的概念要明白,典型的STRUTS,SPRING,HIBERNATE到底有什么用处要知道最教学科的工作流程,可以有什么其他最典型的方案可以替代他们.

四是数据结构,某次面试拿了份网上下载过来的题目,其中就有数据结构的题目.如果碰上了,建议直接不做那样,没有什么意义,我也没有什么好给的建议.如果你是用PASCAL来做程序,那做数据结构也无可厚非,如果是用JAVA开发,还去死钻数据结构那么也就选错了方向.研究的重点应该是解决模型的问题,而不在与用基础流程去用数据结构表现出来.

2.关于实际项目的理解.这就要看个人的沟通能力了,因为我能力比较低微,而沟通和自信也不是太好,所以回答总是支支吾吾.不过问题还是可以回来再重新问一问自己,审视一下自身能力的.

你所做的项目有多大,几个人用了多长的时间去完成.我基本所有的项目都是属于打杂,还都是断断续续,勉强答案为3个人,3个月,回来一想,用科学的表达方式应该为9人月的项目.你能否独立完成一个小型的项目?感觉如果加班的话完成是没有问题的,不过口述支吾了,当然从项目的角度上说,只要时间足够,大部分的人都能依靠搜索等知识完成一个小项目,就看怎么理解这个独立完成的概念了.

为什么你的项目经验中使用这样的开发工具和配置,和其他的开发工具和配置有何不同?仁者见仁,即使一句话也得表达出来,反正我每次一个问题就一句,毕竟表达能力实在有限.

如果我们做的项目比较大,应该来如何优化?这个问题比较复杂,现在还没有得到一个觉得满意的答案,而且面试的时候也应变不过来.总的来说,有数据库和WEB服务器两方面的优化,最终结果还靠搜索,呵呵.

3.面试的感想.

首先,作为招聘单位,我想某些招聘人员还是有些思路不清晰.即要招收什么样的人?是需要一个超级人才还是一个能分担任务的人,个人觉得单位去社会招聘,所需要的多半是因为开发任务过重,人员跳槽导致需要补充新的人员.因此,面试的时候应该把握住最核心的地方,即我需要一个能够快速进入团队开发的角色.这样才能完成招聘任务.所以社会招聘应该注重的是开发的经验和感觉,而不是基础语法问题.当然语法还是需要测试的,就我碰到的几种语法测试来谈谈.

1.直接从网上下载一份测试让所有的面试人员去做.这是很不科学的,首先题目所有人都可以搜索到,至少我记得我看过一模一样的这整套题目,而且每个人所掌握的知识点的侧重都是不同的,不可能让主要从事JSP开发的人去回答服务器端的开发吧,相信很多从事服务器代码开发的人士也对于全面的掌握JSP也有所欠缺吧.所以还是不要太节省成本,至少每一天面试的人的试卷要分开出几份,ABCD卷,题目涉及不一样.

2.难度要适中.尽量要做内部测试,找到一个基准点的对象,最合适的基准点对象应该为你公司中被认为的JAVA基础最薄弱,却有完全能胜任开发要求的成员.通过对他的谈话就能认识到你公司中开发所需要涉及的知识点到底是哪些,再深入一点则是需要掌握的知识点深浅要到什么程度.最终将题目给他去做一下,如果能够达到60到80分那么基本就可以了,你可以根据应聘人的资历和你所认为的期望而适当调整难度,但是切记不要盲目提高期望,招聘的是能完成工作的人,而不是一定要找个牛人.有些时候,J2EE的招聘题最终变成了J2SE的测试题了,实在是让人遗憾.

3.尽量采用选择题的形式,这样评价标准化,而且最重要的至少可以给应聘者一个提示的空间,开发的时候我们是要不断的去搜索知识以完成开发的,而不是闭门造车,如果到了闭门造车,要么是技术太成熟了,要么是进入保守派了.当然,选择题是否要给倒扣分则自己看着办吧.

4.如果特殊场景要求比较严格,那就别要节省成本了,出一些实际解决的问题,并且给一台可以上网的电脑吧,最好再给一段可以提供复制的代码(节省COPY时间),我相信这样最科学的.你可以看出到底应聘者有什么样的能力,他是如何解决问题的,他的语法熟悉度,是否需要频繁的进行COPY.

  当然,最后还是觉得社会招聘应该集中在面谈工作经验上,而非语法中,只有学生才有时间去研究详细的语法规则,但语法只是一个阶段,训练过了之后就没有用处了.

最后,最重要的可能还是属于沟通能力,其实工作都差不多,但是工资的数量应该取决与面试中给对方的感觉吧,自信是最重要的.希望能给其他那些还在找工作的同命人一些帮助吧,呵呵,也希望大家都尽早跳出苦海能够创业哦,工作一年的感觉是代码员总是苦力活,要做LEADER其实中国很少有合格的,所以应该要早早打算,程序员的生涯能够给未来的发展带来些什么,希望有成功转行的朋友也留下意见啊.上次在论坛中好象还写过一个技术面试的回复.一会看看能否引入过来了,虽然是回复不过长度还是有的,也能做个文章来看看吧.

OK,就写到这了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值