诺思信科技(南京)有限公司.NET笔试题答案

2023-07-06   


一、C#基础题
   1、传入某个属性的SET方法的隐含参数的名称是什么?
   value,它的类型和属性所声明的类型相同。
   2、C#支持多重继承吗?
   不支持。可以用接口来实现。
   3、C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符,请写出并指出它们之间的区别是什么?
   public 可以被任意存取
   protected只可以被本类和其继承子类存取
   internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。
   protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。
   private只可以被本类所存取。
   4、C#提供一个默认的无参构造函数,当我实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。这样我应该写几个构造函数?
   两个,一旦你实现了一个构造函数,C#就不会再提供默认的构造函数了,所以需要手动实现那个无参构造函数。
   5、重载和覆写有什么区别?
   重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。
   6、在方法定义中,virtual有什么含义?
   被virtual修饰的方法可以被子类覆写
   7、能够将非静态的方法覆写成静态方法吗?
   不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将virtual改为override。
   8、可以覆写私有的虚方法吗?
   不可以,甚至子类中无法访问父类中的私有方法
   9、能够阻止某一个类被其他类继承吗?
   可以,使用关键字sealed
   10、能够实现允许某个类别继承,但不允许其中的某个方法被覆写吗?
   可以,标记这个类为public,并标记这个方法为sealed。
   11、什么是抽象类(abstract class)?
   一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化。
   12、接口(interface)是什么?
   只含有公有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。
   13、为什么不能指定接口中方法的修饰符?
   接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。它们默认为公有方法。
   14、接口和抽象类的区别是什么?
   接口中所有方法必须是抽象的,并且不能指定方法的访问修饰符。抽象类中可以有方法的实现,也可以指定方法的访问修饰符。
   15、如何区别重载方法?
   不同的参数类型,不同的参数个数,不同的参数顺序
  
   16、解释一下ajax及实现原理
  
   17、列出常用的使用javascript操作xml的类包
  
   二、程序题
   1、请问,Class1.Count的值是多少?( 3 )
   class Class1
  
   public static int Count = 0;
   static Class1()
  
   Count++;
  
   public Class1()
  
   Count++;
  
  
   Class1 o1 = new Class1();
   Class1 o2 = new Class1();
   Console.Write(“Class1.Count的值是”+ Count)
  
   2、请问,此程序输出的结果是: Class1
   abstract class BaseClass
  
   public virtual void MethodA()
  
   Console.WriteLine(“BaseClass”);
  
   public virtual void MethodB()
  
  
  
   class Class1 : BaseClass
  
   public void MethodA()
  
   Console.WriteLine(“Class1″);
  
   public override void MethodB()
  
  
  
   class Class2 : Class1
  
   new public void MethodB()
  
  
  
   class MainClass
  
   public static void Main(string[] args)
  
   Class2 o = new Class2();
   o.MethodA();
  
  
  
   3、请用你最熟悉的语言编写一个排序的函数(方法)
   略
  
   三、思维题
   1.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
   (1) 密码单词的最小长度是两个字母,可以相同,也可以不同
   (2) K不可能是单词的第一个字母
   (3) 如果L出现,则出现次数不止一次
   (4) M不能使最后一个也不能是倒数第二个字母
   (5) K出现,则N就一定出现
   (6) O如果是最后一个字母,则L一定出现
  
   问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?B
   A) K B)L C) M D) N
   问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?A
   A)1个 B)3个 C)6个 D)9个
   问题三:下列哪一个是单词密码?C
   A) KLLN B) LOML C) MLLO D)NMKO
   问题四:3个相同的字母可以构成的不同密码单词的总数是多少?B
   A) 1个 B)2个 C) 3个 D) 4个
   问题五:单词密码MMLLOKN可以通过下列变成另一个密码单词,除了: C
   A) 用N代替每个L B)用O代替每一个M C)用O代替N D)把O移到N的左边


相关内容:

  1. 南京软件公司的.net程序员笔试题
  2. 北京某科技有限公司C# .net笔试题
  3. 南京中兴笔试题
  4. 南京嘉环笔试题
  5. 杭州龙健科技笔试题.net部分笔试题
  6. 杭州龙健科技笔试题.net部分笔试题