⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c#面试题.txt

📁 自己收集的C#面试题目
💻 TXT
字号:
一、 Web基础知识(HTML、XML、CSS基础语法):   
  1、 HTML/XML规范中,元素结束标签是以尖括号括起来,并以/还是\开头再加上元素名称?即body的结束标签是</body>还是<\body>   
  2、 符合XHTML规范的文档一定符合XML规范吗?XSL和HTML的文档呢?   
  3、 XML规范中,第一行必须是<?xml…   还是<!xml…   开头?   
  4、 一个HTML文档必须包含三个元素,它们是head、body和哪个?   
  5、 HTML中文档内联注释应该是以<!-开头还是<!--或者<?-,又以什么结尾?   
  6、 Javascript脚本必须写在什么标签之内。   
  7、 FireFox浏览器是否支持VBScript脚本?   
  8、 我们现在使用的IE的版本一般是多少,IE的英文全称是什么?   
  9、 CSS规范中,每一条样式的结束符是;(分号)还是:   (冒号)   ?样式名与样式值之间的分隔符是:(冒号)还是=(等号)   ?   
  10、 CSS规范中,.(句点)后面跟一个名称代表什么含义?#(井号)后面跟一个名称代表什么含义?如果要对一个元素设置CSS样式,应将CSS样式写在它的什么属性内?   
    
    
  1、</body>   
  2、XHTML和XSL都必然符合XML规范,HTML不符合。   
  3、<?xml   
  4、html   
  5、<!--和-->   
  6、<script>   
  7、不支持   
  8、Internet   Explorer   6.0   SP2/5.5/5.0/6.0   SP1/7.0   beta2/7.0   beta3都算对。   
  9、;,:和=都可以   
  10、.后面跟个名称表示文档中所有class属性值包含这个名称的应用其后样式,#后面跟个名称表示文档中ID为此名称的元素应用其后样式。   




答案仅供参考:   
    
  1、看代码,然后回答问题(难度系数65%):   
  enum   Fruit   {   Apple,   Pear,   Orange   };   
  请问,Fruit.Apple.GetType().ToString()将得到什么结果?而typeof(   Fruit   ).GetType().ToString()呢?   
    
  这道题目的前半部分是考对枚举类型的理解的,枚举的每一个选项都是该枚举类型的实例,即Fruit.Apple的类型就是Fruit,所以GetType().ToString()就是Fruit。而后半部分是考对typeof的了解的,这里是一个陷阱,看起来是在取Fruit的类型,但实际上typeof(   Fruit   )本身的结果就是一个Type类型的对象,Type类型的对象GetType会得到Type类型的Type对象,故而答案应该是System.Type。   
    
    
  2、先看代码,并指出下列程序是否存在编译时错误,存在什么错误(难度系数70%)?   
  public   static   void   SomeMethod(   long   arg   )   
  {   
  //...   
  }   
  //...   
  int   i   =   0;   
  int   j   =   SomeMethod(   i   );//忽略类、方法体和命名空间   
    
  这道题目考的是函数调用和隐式类型转换,也是一个陷阱,看起来i是int类型的,而SomeMethod的参数类型是long,但实际上int->long存在一个隐式类型转换,在这里会自动地转换类型,真正的错误出在,int   j   =   SomeMethod上,SomeMethod的返回值明确为void,所以绝对不能将其返回值赋值给任何变量,否则是编译错误。
    
    
  二、 C#语法考察   
  1、 delegate是引用类型还是值类型?enum、int[]和string呢(难度系数40%)?   
  2、 我们知道new可以调用构造函数创建一个对象,那么new还有什么别的语法吗?   
  3、 base这个关键字有哪几种语法?override呢?   
  4、 请指出C#中是否有下列关键字?virtual、sealed、abstract、import、as、in、goto、final、Const、signed、String(提示,仅指出C#中没有的即可)(难度系数50%)。   
  5、 在循环:for(   int   i   =   0;   i   <   100;   i++   )   Console.WriteLine(   i   );中,请指出i++的执行时机。   
  6、 试说明continue关键字的用处。   
  7、 object是C#的关键字吗?请指出C#中有哪些类型关键字,如int、float。(提示,写得越多越好)。   
  8、 C#的XML文档注释中(以///开头的注释),<summary>标签用于描述什么?<param>标签呢?   
  9、 我们知道[]是数组和索引器的访问操作符,但它还有一个语法,是什么?   
    
  1、delegate引用类型,enum值类型,int[]引用类型,string引用类型。   
  2、隐藏基类相同签名方法,如果在C#   2.0中则还作为泛型构造函数约束。   
  3、base两个语法,分别是调用基类构造函数和调用基类方法,override用于重写基类方法。   
  4、没有的关键字:import、final、Const、signed、String   
  5、在Console.WriterLine(   i   );执行之后   
  6、马上开始下一次循环,忽略循环体余下的语句   
  7、是,object、int、uint、long、ulong、short、ushort、byte、sbyte、char、float、double、decimal、bool,如回答:enum、struct、class、delegate也算对。   
  8、<summary>用于某个元素的概要说明,<param>用于某个方法的参数概要说明。   
  9、特性(Attribute)   
    
    
  三、 Web进阶知识(javascript、DOM、CSS进阶):   
  1、 试图说明setTimeout和setInterval的不同。   
  2、 请指出body是什么元素的属性,alert是什么元素的方法。   
  3、 onblur事件在什么时机被触发?onmouseover事件当鼠标在元素上移动时是仅触发一次还是连续触发?那么onmouseout呢?   
  4、 在CSS中a:hover、a:link各表示什么意思?a与A是否有不同?XHTML规范要求所有标签名称必须大写还是小写?属性名称呢?   
  5、 在<form>中的元素不能在脚本中直接用元素ID来访问,这个时候我们一般用document的一个方法来获取这个元素。这个方法是:   
  getElementByID、getElementById、getNodeById、getNodeByID、GetNodeById。   
  6、 由于class是javascript中的保留字,所以元素的class属性在javascript中没有用class这个名称,那么是用什么名称来代替的?   
  7、 如何简单的使一个变量的值为NaN?   
  8、 试说明parent和opener属性各代表什么?   
  9、 指出border-style样式在javascript应如何访问?   
  10、 指出div与span的不同。   
    
  1、setTimeout在经过指定时间后执行一次,setInterval则是经过指定时间就执行一次。   
  2、window.document、window   
  3、onblur在控件失去焦点时触发,onmouseover是连续触发,onmouseout仅触发一次。   
  4、a:hover表示当鼠标放在连接上时,连接该使用什么样式,a:link表示正常情况下连接该使用什么样式,在现行的CSS标准中不区分大小写,所以a与A没有不同。XHTML要求所有的标签名和属性名都必须小写。   
  5、getElementById   
  6、className   
  7、a   =   1/0;   
  8、parent代表父框架,opener代表打开这个窗口的窗口   
  9、element.style.borderStyle   
  10、默认的display样式不同,div是block而span是inline;   
    
    
  第五大题考泛型的题目没有人做出来了:   
    
  五、 .NET   Framework   2.0/C#   2.0语法知识考察,C#高级语法考察(泛型及泛型技巧、匿名方法及其技巧)   
  1、 看函数代码,然后回答问题(难度系数80%):   
  public   static   T[]   SomeMethod<T>(   T   value,   int   size   )   
  {   
      T[]   arr   =   new   T[size];   
      for   (   int   i   =   0;   i   <   size,   i++   )   
          arr[i]   =   value;   
      return   arr;   
  }   
  试阐述这个函数的作用。   
  请问,这样调用这个函数有没有问题,如有问题,有何问题?   
  long[]   result   =   SomeMethod(   1,   20   );   
    
  2、 看代码,然后指出在各种调用中返回值为何种类型(难度系数85%):   
      public   class   MyClass<K,   V>   
      {   
          public   V   this[K   key]   
          {   
              get   
              {   
                  throw   new   NotImplementedException();   
              }   
          }   
      }   
        
      public   class   MyClass   
      {   
          public   static   T[]   MyMethod1<T>(   T   arg   )   
          {   
              throw   new   NotImplementedException();   
          }   
            
          public   static   K   MyMethod2<K,   V>(   V   value,   MyClass<K,   V>   dictionary   )   
          {   
              throw   new   NotImplementedException();   
          }   
      }   
    
    
  MyClass<int,   string>   instance   =   new   MyClass<   int,   string   >();   
    
  ???   result   =   MyClass.MyMethod1(   MyClass.MyMethod2(   instance[0],   instance   )   );//请指出返回类型   
    
  3、 看代码,然后指出在各种调用中返回值为何种类型(难度系数90%):   
  public   class   MyClass<K,   V>   
  {   
      public   V   this[K   key]   
      {   
          get   
          {   
              throw   new   NotImplementedException();   
          }   
      }   
  }   
    
  public   class   MyClass   
  {   
      public   static   MyClass<V,   K>   MethodA<K,   V>(   MyClass<K,   V>   dictionary   )   
      {   
          throw   new   NotImplementedException();   
      }   
    
      public   static   MyClass<MyClass<T,   V>,   K>   MethodB<K,   V,   T>(   MyClass<K,   V>   dictionary,   T[]   arg   )   
      {   
          throw   new   NotImplementedException();   
      }   
    
      public   static   MyClass<K,   V[]>   MethodC<K,   V>(   MyClass<K,   V>   dictionary   )   
      {   
          throw   new   NotImplementedException();   
      }   
  }   
    
  ???   obj   =   MyClass.MethodA(   MyClass.MethodB(   instance,   MyClass.MethodC(   instance   )[0]   )   )[0];   //请指出返回类型。   
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -