"面试官,请不要装高深?",内幕揭秘……
今天上园子看到《面试官,请不要装高深》,我为那个面试官打抱不平,很巧的是,我也刚刚好去参加了软件园里面的那家公司的面试,公司也不是网友们猜测的新蛋,而是一家偏做硬件的公司,最近成立了一个软件项目部,正招兵买马,是一家有军工背景的国有大企业,在天府软件园里面工作的同学应该猜得到那个公司的名字了。
为什么会抱不平呢,因为《面试官,请不要装高深》的作者把题目搞错了。正确的题目是这样的:
代码
class A
{
public virtual void DoSomething()
{
}
}
class B : A
{
public override void DoSomething()
{
}
public static void Main()
{
B b = new B();
b.DoSomething();//调用方式一
((A)b).DoSomething();//调用方式二
}
}
{
public virtual void DoSomething()
{
}
}
class B : A
{
public override void DoSomething()
{
}
public static void Main()
{
B b = new B();
b.DoSomething();//调用方式一
((A)b).DoSomething();//调用方式二
}
}
调用方式一和调用方式二有什么区别,在什么情况下,你会倾向于第二种调用方式?
我的回答是:
方式一和方式二本质上没有任何区别,在搭建程序框架或实现某种设计模式时,我可能会倾向于第二种调用方式。
也不知道我回答得对不对,请园子里面的大侠指正一下。我可是冒着被禁用帐号的危险发到首页哦。
最后说下这个面试官的资历,他是一个有了7、8年开发经验的人,php,嵌入式等等都搞过,三年的.Net经验。因为我通过了面试,而且有一段无聊的等人的时间,面试官和我偶然的聊到了他的从业经历。