天天看点

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

  这次面试的题目很有针对性,人家招什么人,面什么技术,很象个样子。先是答技术题目,然后拿给技术看后,进行技术面试。技术面试过关后,进行英语口语面 试,然后,又是一套题目,关于测试技术的,有几道要用英文回答,然后有两段翻译。口语面试的那个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,如需转载请自行联系原作者