注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 CCIE-Lab考试将新增10分钟..
 帮助

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


2006-11-28 09:31:34
 标签:面试   [推送到技术圈]

版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
     这次面试的题目很有针对性,人家招什么人,面什么技术,很象个样子。先是答技术题目,然后拿给技术看后,进行技术面试。技术面试过关后,进行英语口语面试,然后,又是一套题目,关于测试技术的,有几道要用英文回答,然后有两段翻译。口语面试的那个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的。
 
      刚才为了确定remoting那道题的C选项,查了下remoting,发现天极把我发在《计算机与信息技术》的论文给贴了出来。——http://dev.yesky.com/msdn/424/2359424_1.shtml#plpl

本文出自 “雨寒” 博客,转载请与作者联系!





    文章评论
 
2006-11-30 10:35:37
第二个代码是 JAVA 吗??

2006-11-30 11:55:16
俺已经把你的大作发给浪潮的人力资源部了,不知道那个面试你的MM看了会不会笑一下,哈哈

2006-11-30 12:12:21
哈哈,说话要小心,处处有知情人呀

2006-11-30 17:06:16
加油,浪潮期待优秀人才的加入!

2006-11-30 21:30:19
to kstg2294469:JAVA 里是没有namespace的。

2006-11-30 21:32:16
to香帅 :那个MM人不错的,临走的时候,还对我说,嗯,面试不错,回去等消息吧。

2006-11-30 21:34:36
今天下午又去面了一次,这次是在希格玛大厦,一个年轻的女测试经理。个人感觉面试表现还好吧。就是分歧可能在于,她觉得我会对测试不感兴趣,会更喜欢开发。如果被pass,这个肯定是最重要的原因。

2006-12-02 12:25:35
为什么 第一个改为String a = "hello";
        String b = "hello";
就成true 了

2006-12-02 22:17:42
楼上的提醒了我,这个问题我还真没重视,如果是:  
JAVA:
        String a = "hello";
        String b = "h";
        b += "ello";
        System.out.println(a == b);
        System.out.println((Object)a == (Object)b);
结果是:F F

如果是:
        String a = "hello";
        String b = "hello";
        System.out.println(a == b);
        System.out.println((Object)a == (Object)b);
结果是: T T
C#:
        String a = "hello";
        String b = "h";
        b += "ello";
        System.out.println(a == b);
        System.out.println((Object)a == (Object)b);
结果是:T F

如果是:
        String a = "hello";
        String b = "hello";
        System.out.println(a == b);
        System.out.println((Object)a == (Object)b);
结果是: T T

2006-12-13 22:39:17
就是说C#里的String也被当作简单类型来比较

我的理解是:C#里面字符串的==操作符被重载了,等于Equals 方法,只比较值。

2006-12-14 09:29:16
呵呵,塔塔说的没错,不过,具体情形我又写了一篇详细的blog,关系到“字符数据池”等,可以参考另一篇《看完这道题,你敢在心里承认自己是高手么》

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: