面试ASP.NET程序员

    本文写给那些有一两年工作经验的即将参加面试的朋友,希望我的这点经验可以对大家有所帮助。

      我是公司公司技术部的项目负责人,最近公司由于人员更替所以进行了招聘,我主要负责面试.NET程序员的技术。

      说到面试那就先说一下简历吧。我从4月10日至4月17日看了大约300多份简历。很多简历写得又臭又长,而且有很多吹的太大了,有点不着边。这样的简历一概PASS掉。对我这样一个从事技术工作,让我看简历觉得像是看长篇小说的人来说是十分痛苦的。有人竟然写业余爱好写了快1000多字。

我觉得好的简历应该抓住重点,突出自己的强项,很多人的简历写得没有什么突出,什么都会,像万金油这样什么都会的人没有个四五年的磨砺除了超人之外根本就不可能。对于经验只有一两年的人来说我认为一张4K的纸足够一份简历了。至于自己的项目经验还是到与面试官交流的时候说比较好。多说几句,像简历中什么格言啊,信念之类的玩意还是免了吧!毕竟这是心理的玩意说出来就带有假的成分。

     接下来就是面试了,能得到电话通知面试的人可以说已经有了进入公司的30%机会了,50%就要靠自己的能力与面试的时候的表现了,剩下的20%就是看公司了,招聘与买白菜差不。如果公司觉得你“物有所值”那才能进公司,对于一般的公司而言面试往往不是能力最强的人能进公司而是公司认为最物有所值的人进公司,说的白话一些就是最实惠的那棵白菜才能进公司。这20%就留给您慢慢揣摩吧,估估价看看自己咋样才能物有所值呢。现在我来说一下50%的表现吧,我给要面试程序员的人出了一套题目,改题目是50%的C#语言基础与数据库基础,30%的对于ASP.NET的应用。20%的考了设计一个项目。说到基础的我这里在说一下现在用的.NET中的

C#是一个完全面向对象的语言。说道面向对象我觉得应该有一定的理解,什么是面向对象?为什么我们要用面向对象?继承、封装、多态这三个面向对象的特点分别是

什么意思?起码能用自己的话叙述清楚。在这里我简单的说一下,具体的可以参考网上的资料:

      1.面向对象可以使得我们在做项目的时候可以更好的应对需求的变化。引入类、对象更符合人的抽象思维。

      2.继承是为了实现代码复用,子类可以使用父类的方法。封装实现了代码隐藏。多态重新了类的行为。

这些都不是什么深奥的理论,只有理解了这些基础的才能写好代码。

     虽然现在的IDE编程环境越来越先进,代码提示功能越来越好,但是有些基础的还是记忆一下的好,出的题目中有一个是写出委托声明时关键字:Delegate,结果很多人

都空着不会写。。。还有很多人工作了两年,做了四五个WEB项目到现在都分不清楚JavaScript对象与DOM对象。对于只是注重应用而忽视理论基础的人真是一种悲哀,也许他

永远不会去想它们之间到底有什么区别。

     再说答题吧,在做题的过程中有人没用十分分钟就把题做完了,我一看真正对的不多,但是思路大部分都正确,这种人属于那种能做事但是做不好的人,没有认真做事的态度。。。。PASS掉。如果项目中有这样的人那是比较麻烦,麻烦就是他觉得他做好了可是实际没有做完,搞不好还要返工,说不定还要让我陪着加班!

    大多数面试的都是计算机系毕业的(非应届生),但是对于“数据结构”这个词似乎都像在听天书。真是一种悲哀!但是我很欣慰终于找到“一大帮”比我还不懂数据结构的人。有一半多的人对于“树”这种数据结构一点概念都没有。常用的数据结构有哪几种竟然95%的人一无所知。经常听到有人抱怨大学学到的都没有什么用,这样的想法的人脑子基本都是进了水,大学不能指望学什么经验但是应该把基础打好。什么计算机组成原理、编译原理、数据结构、数据库理论等这些即使学不好,但是起码大脑中得有这些概念吧。否则我真的很难想象那人到底能长到什么水平。

     关于设计一个项目我在此指的是面向对象的设计原则、设计模式。这些对于一个没有做过中大型项目的人来说是很少接触到的,尤其是一个经常采用模板开发的软件公司的程序员来说接触的可能性就更少,23种设计模式都搞懂更是有点强人所难了,但是我认为为什么要引入设计模式应该知道,而且设计模式的主要思想是什么?而且要有间接层的概念。面向对象的设计原则是应该了解的,而且知道各个原则的含义,否则我会认这人没有什么水平。在.NET FrameWork的类库中应用了很多设计模式,如果注意一下就会发现很多。

     说完这些附带说一下吧,面试的时候不要带有什么小动作之类的,我面试的时候有人一眼都不看我总是在看天花板,还有人一边说话一边手里拿着笔在我眼前转,搞的我眼花缭乱的。还有人一边翘着二郎腿一边回答我的问题。这些实在有伤大雅。这样的情况我一般都认为这些人压力经常过大,经常紧张,我也经常PASS掉这些人。大多数程序员都不善言辞,当我问他们做过哪些项目的时候倒是可以说清楚,但问到相关模块很多回答比较含混,这说明他们脑子没有清晰的思路,做过去就坐过去了没有什么总结。我这里不是要求他们能记住详细的模块,主要是看一下他做的某个项目时候有给他留下深刻印象的地方,遇到过什么难题又是怎么解决的。茶壶里煮饺子的还算好的,多数是什么都不记得了。而且不少人对于技术的这种追求仅限于小技小巧上面,什么JS弹个框,实现个特效动画之类。如果工作了一两年还在追求这种事儿的话。八成水平也高不哪去。看了这些也许大家明白点了吧,一个人能否真正被一家公司录取能力只占50%说不定还要少。但是我认为如果一个人有对于技术执着的追求,那么其他不好的习惯(仅仅个人习惯,而非编码习惯)我可以都不在乎。毕竟从事这一行不单单的为了吃饭,更是对技术的一种追求,一种自我挑战。

     以上这些只是我面试别人的时候的一些经验,希望对于要参加面试的可以有所帮助。也许有一些并不适合某些人,因为有一些公司是人资部来决定是否面试的,那样简历就应该写的越是详细越好,而且牛皮吹大的没有关系,越是不懂行的你就得越下功夫忽悠,并不一定向我这样。

有些说的不对的地方也希望大家指出。

转载于:https://www.cnblogs.com/liucfy/archive/2009/04/23/1441702.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值