由于工作性质的关系,我常常需要为公司面试程序员。通常,我会首先要求应聘者做两件事:第一,口头说明虚方法、抽象方法、接口之间的异同和使用场景;第二,脱离IDE,手写一个简单的WinForm程序(例如包括布局整齐的两个文本框和三个按钮、点击按钮弹出消息框显示文本框内容),然后在命令行编译运行。第一题是考面向对象中的继承和多态概念,第二题则是考C# GUI类和关于委托等C#独有特性的基础知识,以及编译、调试技巧。很遗憾,有一大半的应聘者会在这两个简单考题面前败下阵来。尤其是第二个考题,甚至难倒了一些写代码有年头的程序员。为什么?因为这些程序员不具备基本的面向对象知识,更加不理解C#的面向对象实现手法。
o(>_<)o ~~
 
╮(╯_╰)╭
 
╭∩╮(︶︿︶)╭∩╮
 
╯﹏╰      ╯﹏╰
 
(ˉ(∞)ˉ)
 
(#‵′)凸