浪潮面试——答错的两道题-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

浪潮面试——答错的两道题

简介:
  这次面试的题目很有针对性,人家招什么人,面什么技术,很象个样子。先是答技术题目,然后拿给技术看后,进行技术面试。技术面试过关后,进行英语口语面 试,然后,又是一套题目,关于测试技术的,有几道要用英文回答,然后有两段翻译。口语面试的那个MM还根据你的实际情况命题了一个200字的作文。
 
     很久没写作文了,呵呵,口语面试倒也不难,都是问些基本的东西。技术笔试分A、B两部分,A部分是C#的,B部分是C、C++、JAVA的。
 
     回来后,看了下自己觉得不是很把握的题,结果都答错了。看来还是需要进一步提高基础知识的。
 
     第一个:
            String a = "hello";
            String b = "h";
            b += "ello";
            Console.WriteLine(a == b);
            Console.WriteLine((Object)a == (Object)b);
     题目的大体意思是这样,上面的几行代码是我回来做验证写的。给了四个选项,我选了FALSE;FALSE的那个。我理解的是:a、b 都是存的对象的引用,故不等。事实是,在JAVA中确实如此,但C#的程序运行结果是:TRUE;FALSE;就是说C#里的String也被当作简单类 型来比较(理解有偏颇的话,欢迎指正)。
 
     第二个:凭记忆写了测试代码如下:
 
namespace ConsoleApplication1
{
    class parent
    {
        public void DoSomething1()
        {
            Console.WriteLine("1");
        }
        public virtual void DoSomething2()
        {
            Console.WriteLine("2");
        }
    }
    class Program:parent
    {
        new public void DoSomething1()
        {
            Console.WriteLine("3");
        }
        public override void DoSomething2()
        {
            Console.WriteLine("4");
        }
        static void Main(string[] args)
        {
            parent p = new Program();
            p.DoSomething1();
            p.DoSomething2();
        }
    }
}
 
      不多解释了,运行结果是1和4,当时答错了,现在是彻底理解了。呵呵,高手一看就知道结果,对面向对象不深入理解的话,还是需要静下心来好好看看书的。
 
      其他一些题目应用性很强,如果你没用过,估计只有蒙的份了。有remoting的,这个题目应该选最后一项,通道的的使用方式故意写颠倒了,应该是TCP是适用于二进制格式,HTTP适用于xml传输。还有基本的ADO.NET的。
 

本文转自 笔头 51CTO博客,原文链接:http://blog.51cto.com/douvip/10930,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章