一、笔试题
1、值类型与引用类型的区别?
-
值类型直接存储其值,变量本身就包含了其实例数据,而引用类型保存的只是实例数据的内存引用。因此,一个值类型变量就永远不会影响到其他的值类型变量,而两个引用类型变量则很有可能指向同一地址,从而发生相互影响。
-
从内存分配上来看,值类型通常分配在线程的堆栈上,作用域结束时,所占空间自行释放,效率高,无需进行地址转换,而引用类型通常分配在托管堆上,由GC 来控制其回收,需要进行地址转换,效率降低,这也正是c# 需要定义两种数据类型的原因之一。
-
值类型均隐式派生自System.ValueType ,而System.ValueType 又直接派生于System.Object, 每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值,注意所有的值类型都是密封(sealed )的,所以无法派生出新的值类型。而且System.ValueType 本身是一个类类型,而不是值类型,因为它重写了object 的Equals() 方法,所以对值类型将按照实例的值来比较,而不是比较引用地址。
-
C# 的统一类型系统,使得值类型可以转化为对象来处理,这就是常说的装箱和拆箱。由于装拆箱需要装建全新对象或做强制类型转换,这些操作所需时间和运算要远远大于赋值操作,因此不提倡使用它,同时也要尽量避免隐式装拆箱的发生。
2、如何理解委托?
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
3、请解释应用程序域、程序集、元数据、反射这几个技术名词?
应用程序域:
4、请简单的谈一谈ClientOnce的认识?
5、装箱、拆箱操作发生在:(C)
A、类与对象之间 B、对象与对象之间 C、引用类型与值类型之间 D、引用类型与引用类型之间
6、简单说说Asp.net 的几种身份认证方法?
7、在C#中,string str = null 与 string str = "" 请说明其中的区别?
8、关于ref 和out 的区别?
9、overloaded的方法是否可以改变返回值的类型?
10、float f = -123.567F; int i = (int)f, i的值现在是()
11、以下代码段中能否编译通过? 如果可以请说明执行结束之后返回的结果,如果不可以请说明原因?
try{
throw new FileNotFoundException();
}
catch(FileNotFoundException e1){
return e1;
}
catch(Exception e2){
return e2;
}
catch(IOException e3){
return e3;
}
catch{
return 0;
}
12、如果一个页面page.aspx,用户访问比较频繁,页面中的一部分为网站的公告及新闻数据,另一部分为交易记录数据,交易记录数据要求显示时实的最新的记录,请针对页面做一个简单的优化方案?
13、一个拉交表单页面上有100到300个文本选项,如果使用asp.net Ajax异步提交数据,请指出它的优缺点,针对缺点有没有什么方法可以进行优化?
14、如果你重写一个GridView,要求在指定了需要排序列的列名后加上向上向下的排序图标,请谈一下你的实现方法及思路?
15、asp.net 中,谈谈你对HttpHandler的理解?
16、在超过10万条记录的页面显示时,你如何处理分页,有多少种替代方案?
17、写出一条sql语句,取出A中第31到第40条记录,(注意,以ID为自增主键,但是ID可能不是连续的) ?
select top 10 * from t_customer where Id >(
select max(id) from (select top 30 Id from t_Customer order by Id)a) order by Id
18、你会利用哪些工具进行数据库的性能分析及优化?
19、对于WebService .net Remoting MSMQ Enterprise Services 这四个中能否简要的介绍他们的特点?
20、简述 COM+/Enterprise Services 的关键应用特性和应用场景?
21、对于Biztalk Server SharePoint PortalServer CMS Server SQL Server 这几个产品的定位和功能是如何理解的?
22、你用过的版本控制工具?
23、请简单位写一些你在团队开发中的经验及团队成员之间与其它团队之间如何做好知识共享?
24、请简单的描述一下项目开发过程?
25、简单谈谈工厂模式或MVC架构模式?
二、机试
1、编写程序,输入两个整数,返回两个整数相减的差,要求输入两个整数的位数不超过1000位,如1和11111111111111111111 输入为 1111111111111111110。
请注意认真审题,完成之后输入足够长的整数做测试。
2、求一个有40名学生的班级中存在相同生日的学生的概率,按以下提示编写代码:
a\采用随机函数生成40个学生的生日(0~365之间)
b\判断其中有没有相同的生日
c\将以上动做重复1000次
d\统计其中相同生日的次数
e\计算出概率
f\增加计算过程中的暂停及中断的控制功能
版权声明:本文为博主原创文章,未经博主允许不得转载。