C#经典面试题目

1.产生一个int数组,长度为10,并向其中随机插入1~10,并且不能重复

2.一列数的规则如下:1,1,2,3,5,8,13,21,34…,求第30位数是什么?,使用递归实现

3.说出一些常用的类,接口,请各列举5个

常用的类:StreamReader,WebClient,StringBuilder,SqlConnection,FileStream,File,Regex,List,Dictionary<k,v>。
常用的接口:IDisposable,IList,IEnumerable,IDbConnection,IComparable,ICollection,IDictionary。

4.说出一些数据库优化方面的经验

索引内部的原理:想象成Dictionary,插入,删除,更新的速度慢了,加上索引也多占用了空间,查询的速度快了,加上索引以后速度提升非常明显。
(1)在经常检索的字段上(select * from Person Where Name=@Name)使用索引提高查询速度。
(2)select中只列出必要的字段,而不是*。
(3)避免隐式类型转换造成的全表扫描,在索引上使用函数也会造成全表扫描(因为索引只是为字段建立的,一旦使用表达式或者函数,那么索引就是失效了,当然也可以使用”函数索引”,”表达式索引”解决这个问题),使用索引不一定能提高查询速度
(4)避免在索引列上使用计算(where Name+’A’=@MyName)。
(5)不要进行没有意义的优化,根据性能查看器的报表,对最耗时的SQL进行优化。

5.什么是数据库事务

(1) 事务的三个特性:一致性,原子性,隔离性
(2) 几个SQL语句,要么全部执行成功,要么全部执行失败,事务的三个操作:Begin,Commit,RollBack。
(3) 取刚插入数据的ID值,就要用事务来隔离;

6.请简单的说明数据库建立索引的优缺点

(1)使用索引可以加快数据的查询速度,不过由于数据插入过程中会建索引,所以会降低数据的插入,更新速度,索引还会占用磁盘空间。

7.JavaScript面向对象

8.Repeater控件和GirdView控件的优缺点

(1)GirdView控件的优点是:功能很强大,提供分页,编辑,删除,选择等等很多功能,使用最方便,直接拖拽到页面上,建立新的数据源,点几下鼠标就可以维护一个表的浏览,删除和修改了。缺点是:占用系统资源大,他的分页是把整个表的数据取出来,到GirdView上面进行分页的,因此如果数据量比较大的话,速度非常忙,效率极低,而且因为模版已经定制好,想自己灵活控制,不太可能。
(2)repeater控件的优点是:功能简单,效率高,容易灵活控制生成的HTML代码,分页需要自己实现,整体来说,适合前台使用。缺点是:功能简单,需要自己做很多的事情才能完成某个功能。

9.数据库实现分页的几种方法(总结)

10.C#中的委托是什么?事件是不是一种委托,事件和委托的关系

(1)委托可以把一个方法作为参数传递给另外一个方法,委托可以理解为指向一个函数的指针,委托和事件没有可比性,因为委托是类型,事件是对象

11.short s=1;s=s+1;有错吗?short s=1;s+=1;有错吗?

(1)第一种写法是有错误的,因为1是整形(int32),int+short的结果还是int,在这里是无法进行隐式类型转换的,改为short s=1; s=(short)s+1;就行了
(2)第二种写法没有错误,因为其在内部自动已经进行了隐式转换。

9 COMMENTS
  1. 新用户904318 2017/04/10

    你们可以把它当成是斗罗的番外··········(说完这话我自己都无语···)

  2. 小林博客 2013/08/28

    看到代码有头晕

  3. 烟花易冷 2013/07/17

    主题和我以前的一样、、

  4. 凉手抚温柔 2013/07/09

    看到算法题就头痛。

  5. 双人小游戏 2013/07/09

    好深奥啊

LEAVE A REPLY

跳至工具栏