.net 笔试面试总结(3)

  • 什么是Sql注入?如何避免Sql注入?html

用户根据系统的程序构造非法的参数从而致使程序执行不是程序指望的恶意Sql语句。算法

使用参数化的Sql就能够避免Sql注入。数据库

  • 数据库三范式是什么?

第一范式:字段不能有冗余信息,全部字段都是必不可少的。安全

第二范式:知足第一范式而且表必须有主键。服务器

       第三范式:知足第二范式而且引用其余的表必须经过主键引用。性能

       eg: 员工内部->本身的老大->外部的老大大数据

               记忆顺序:本身内部不重复->别人引用本身->本身引用别人优化

  • Application 、Cookie和 Session 两种会话有什么不一样?

 Application是用来存取整个网站全局的信息,而Session是用来存取与具体某个访问者关联的信息。Cookie是保存在客户端的,机密信息不能保存在Cookie中,只能放小数据;Session是保存在服务器端的,比较安全,能够放大数据。网站

       谈到Session的时候就侃Session和Cookie的关系:Cookie中的SessionId。和别人对比说本身懂这个原理而给工做带来的方便之处。spa

  1. 什么是泛型:经过参数化类型来实如今同一份代码上操做多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。
  2. 泛型就是将类型抽象化,使用抽象化的类型或对象去实现某些功能和业务,而后全部须要使用这些功能和业务的具体类型去调用泛型的方法和委 托。
  3. 使用泛型有什么优点?

    (1)保证了类型安全: 泛型约束了变量类型,保证类型安全 。(2) 避免了没必要要的装箱、拆箱操做,提升程序的性能。 (3) 提升算法、方法的重用性

  4. 泛型应用举例 :  (1) 泛型方法使用:  DataTable转换为对应的List<T>集合、将DataGridViewRow对象转换成对应的实体Model的方法  (2) 泛型类使用(3) 泛型接口以及泛型继承的使用   (4) 泛型委托使用   (5) 泛型约束
  5. 使用泛型方法的注意事项 :    

             泛型的重载: 泛型不能够被重载

             泛型的重写:  泛型能够被重写,可是注意泛型约束的继承 

  1.  反射应用场景:

     (1) 有时候不知道具体类型,经过反射DLL获得具体的对象

     (2) 某些特殊方法,传过来的是泛型类,须要经过反射处理某些特殊的业务

     (3) 通用方法DataTable和List<T>的相互转化时须要用到反射

  2. 如何使用反射

              (1)反射dll获得类成员

              (2) 反射对象的私有成员

              (3) 反射对象的静态成员

              (4) 反射获得对象以及对象的操做 。反射获得对象有两种方式, 经过反射对对象属性的取值和赋值

  •   数据库索引做用和优缺点?(参考)

             优势:(1) 经过建立惟一性索引,能够保证数据表中每一行数据的惟一性

                      (2)能够大大加快 数据的检索速度,这也是建立索引的最主要的缘由

                      (3)能够加速表和表之间的链接,特别是在实现数据的参考完整性方面特别有意义。

                      (4) 在使用分组和排序 子句进行数据检索时,一样能够显著减小查询中分组和排序的时间。

                      (5)经过使用索引,能够在查询的过程当中,使用优化隐藏器,提升系统的性能

              缺点:(1)建立索引和维护索引要耗费时间,这种时间随着数据 量的增长而增长

                       (2)索引须要占物理空间,除了数据表占数据空间以外,每个索引还要占必定的物理空间,若是要创建聚簇索引,那么须要的空间就会更大。

                       (3) 当对表中的数据进行增长、删除和修改的时候,索引也要动态的维护,这样就下降了数据的维护速度。

相关文章
相关标签/搜索