您的位置:首页 > 职场人生

面试.NET资深程序员的前5分钟

2013-04-28 17:18 176 查看

OOP & COD

面试前先想好你需要程序员做什么。你是需要一名OOP(Object-Oriented Programming,面向对象编程)程序员,还是需要一名COD(Class-Oriented Designing,面向类设计,此处有两个个双关语,designing狡猾的,缩写cod哄骗、愚弄)程序员?

确定目标:OOP or COD ?

大多数工作只需要OOP,只有少数工作才需要COD,为了cod又需要辅助的使用UML和设计模式。适当的人做适当的事情,要么招OOP,要么招COD+UML+设计模式

确定需要:OOP or COD?

不能直接达成目标时,需要会比目标复杂一些,比如说工具落后的时候,为了一个对象Object,也得写一个类Class,此时OOP是目标,而COD只是工具落后时的需要。自从.net 4.0提供动态类型之后,大多数不得不用COD实现OOP的场景都可以直接使用OOP实现了。

如果需要OOP程序员

所以第一个要排查的情况就是应聘者是否能正确区分OOP场景、COD场景。如果他把大量的使用动态类型即可实现的OOP场景选择COD场景实现。要么他的经验不足,要么是从其他编程语言转行.net的。

如果需要COD程序员

考察COD,实际上也包括UML和设计模式。此时只需要抓住一个核心点:泛型,因为.net的泛型是运行时环境(runtime,虚拟机)实现的,而某些语言的泛型是编译时使用type cast(类型强制转换)展开的,因此在.net中使用设计模式的泛型类和其他语言区别不大,但是按照设计模式编写一个泛型类就和其他语言区别很大。所以考察泛型即可,为了区别程序员能否正确区分.net泛型和其他编程语言泛型的区别,可以重点考察.net的运行时泛型实现所必要的相关语法——协变和逆变。某些语言的编译时泛型不会涉及这两个语法。

其他几个问题:WEB开发

如果是WEB开发,不妨考查一下asp.net MVC的熟知情况,虽然不一定用asp.net MVC但是作为官方框架,多多少少都会参考一下。考察的方式也很简单,就考察asp.net MVC在升级时的问题。凡是长篇大论的估计对asp.net MVC都不熟,因为asp.net MVC在升级的时候的最大问题是不兼容!

五分钟之后

上面几个问题足够在前5分钟快速判断程序员的基本情况。后面就按照项目的情况继续吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息