ASP.NET笔试遇到的题目(整理)

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
  private : 私有成员, 在类的内部才可以访问。
  protected : 保护成员,该类内部和继承类中可以访问。
  public : 公共成员,完全公开,没有访问限制。
  internal: 在同一命名空间内可以访问。

2.C#中的委托是什么?事件是不是一种委托?
  委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托

3.final, finally, finalize的区别。
  1.final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
  2.finally是异常处理语句结构的一部分,表示总是执行。
  3.finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,

4.abstract class(抽象类)和interface(接口)有什么区别
  1.抽象类可以有构造方法,接口中不能有构造方法。
  2.抽象类中可以有普通成员变量,接口中没有普通成员变量
  3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
  4.抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
  5.抽象类中可以包含静态方法,接口中不能包含静态方法
  6.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
  7.一个类可以实现多个接口,但只能继承一个抽象类。

5.Overload(重载)和Override(重写)的区别
  重载是在同一个类中,方法名相同,参数列表不同
  重写是在父子类中,方法名相同,参数列表相同

6.面向对象的特征有哪些方面
  封装:封装就是将数据或函数等集合在类中
  继承:继承是子类自动共享父类数据和方法的机制,主要实现代码复用,节省开发时间。
  多态:同一操作作用于不同的对象,产生不同的执行结果。

7.SQLServer和Oracle的区别是什么?
  SQL Server 只能在windows上运行。 Oracle 能在所有主流平台上运行

8.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?
  不是。可以用任意类型。

9.常用的调用WebService的方法有哪些?
  1.使用WSDL.exe命令行工具。
  2.使用VS.NET中的Add Web Reference菜单选项

10.分析以下代码,完成填空
  string strTmp = "abcdefg某某某";
  int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
  int j= strTmp.Length;
  以上代码执行完后,i= j=
  答:i=13,j=10

11.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。)
  解1: select top 10 * from A where id not in (select top 30 id from A)
  解2: select top 10 * from A where id >(select max(id) from (selecttop 30 id from A )as A)

12.能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
  IEnumerable 、 GetEnumerator。

13.String s = new String("xyz");创建了几个String Object?
  两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s

14.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
  接口可以继承接口。抽象类可以实现接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数

15.如何处理几十万条并发数据?
  用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.

16.进程和线程的区别?
  进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。

17.堆和栈的区别?
  栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。
  堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。

18.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
  session简单,但易丢失application 全局
  cookie 简单,但可能不支持,可能被伪造
  input ttype="hidden" 简单,可能被伪造
  url参数 简单,显示于地址栏,长度有限

19.什么叫做SQL注入,如何防止?请举例说明。
  利用sql关键字对网站进行攻击。 过滤关键字'

20.什么是反射?
  动态获取程序集信息

21.C#可否对内存进行直接的操作?
  C#是可以对内存进行直接操作的,在.net中使用了垃圾回收机制(GC)功能,它替代了程序员,不过在C#中不可以直接使用finalize方法,而是在析构函数中调用基类的finalize()方法。

22.&和&&的区别。
  &是位运算符,表示按位与运算
  &&是逻辑运算符,表示逻辑与(and).

23.error和exception有什么区别?
  error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
  exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

24..NET中类和结构的区别
  类有构造和析构函数,类可以继承和被继承
  结构没有构造函数,但可以添加。结构没有析构函数,结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口

25.简单概述反射和序列化
  反射就是对程序集的动态操作,反射提供了封装程序集,模块和类型的对象。
  序列化就是把对象转换为容易传输的格式的过程。

26.值类型和引用类型的区别?
  值类型包括:数值类型,结构体,bool型,用户定义的结构体,枚举,可空类型。 值类型的变量直接存储数据,分配在托管栈中。
  引用类型包括:数组,用户定义的类、接口、委托,object,字符串,null类型,类。 引用类型的变量持有的是数据的引用,数据存储在数据堆,分配在托管堆中

27.foreach和for的区别?
   foreach适用于只是进行集合或数组遍历,for则在较复杂的循环中效率更高。
   foreach不能对数组或集合进行增删改查操作,如果想要修改就要用for循环。
  所以相比较下来for循环更为灵活。

28.一列数字的规则如下;1,1,2,3,5,8,13,21,34........ 求第30位数字是多少,用递规算法实现
  private static long Fibonacci(int n)
  {
    long result = 1;//当n<=2时都返回1
    if(n>2) //当n>2时,进行递归计算
  {
    result= Fibonacci(n-1)+Fibonacci(n-2);
  }
    return result;
  }

29.冒泡排序写法
  int score[] = {67, 69, 75, 88};
  for(int i =0;i < score.length - 1;i++)
  {
    for(int j = 0;j < score.length - 1-i;j++)// j开始等于0,
  {
  if(score[j] < score[j+1])
  {
    int temp = score[j];
  score[j] = score[j+1];
  score[j+1] = temp;
  }
 }
}

30.NEW关键字的三种用法
  创建对象 作为修饰符 在泛型中添加类型的约束

31.div与span区别
  div占用的位置是一行,
  span占用的是内容有多宽就占用多宽的空间距离

32.js中的数据类型有哪些?
  Number,String,Boolean,Undefined,Null,Object

转载于:https://www.cnblogs.com/zpblogs/p/8662378.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值