答:会执行,在return前执行。
2、如何处理几十万条并发数据?
答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.
3、Session有什么重大BUG,微软提出了什么方法加以解决?
答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sateserver或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
4、请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
答:session(viewstate) 简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input ttype="hidden" 简单,可能被伪造
url参数 简单,显示于地址栏,长度有限
数据库 稳定,安全,但性能相对弱
答. 1.使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item属性
7.使用文件
8.使用数据库
9.使用Cookie
5、什么叫做SQL注入,如何防止?请举例说明。
答:利用sql关键字对网站进行攻击。过滤关键字'等
6、ADO.net中常用的对象有哪些?分别描述一下。
答:Connection 数据库连接对象
Command 数据库命令
DataReader 数据读取器
DataSet 数据集
7、<%# %> 和 <% %> 有什么区别?
答:<%# %>表示绑定的数据源
<% %>是服务器端代码块
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
9、一列数的规则如下: 1 、1 、2 、3 、5 、8 、13 、21 、34...... 求第30 位数是多少, 用递归算法实现。
答:public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
10、C# 中的委托是什么?事件是不是一种委托?
答 :
委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的引用。
是,是一种特殊的委托。
11、override 与重载的区别
答 :
override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要
Override 是进行基类中函数的重写。实现多态。
12、求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
答:
int Sum = 0 ;
for (int i = 0 ; i < m + 1 ; i++)
{
if((i%2) == 1)
{
Sum += i ;
}
else
{
Sum = Sum - i;
}
}
13、什么是装箱和拆箱?
答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。
14、GC是什么? 为什么要有GC?
答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
12、软件开发过程一般有几个阶段?每个阶段的作用?
答:可行性分析(风险控制),需求分析,架构设计,代码编写,测试,部署,维护