1.Session、Application、Cookie在存取值方面有什么区别?(5分)
Session将数据存储在服务器断,是用户级别的,用户仅能访问自己会话中的数据,容易丢失.
Application将数据存储在服务器端,是全局的,所有用户均可访问.
Cookie将数据存储在客户端,容易被窃取,不安全.
2.post、get的区别?(5分)
1.get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中.
2.使用post提交的页面再点击[刷新]按钮的时候浏览器一般会提示”是否重新提交”,而get不会.
3.用get的页面可以被搜索引擎抓去取,而用post的则不可以.
4.用post可以提交的数据量非常大,而get可以提交的数据量则非常小(2k),受限于网页地址的长度.
5.用post可以进行文件的提交,而用get则不可以.
3.谈谈你对Ajax的理解?(5分)
Ajax主要用于在Web方面实现客户端向服务器发送异步请求,从而达到客户端局部刷新的目的.
Ajax主要涉及浏览器的一个核心组件XmlHttpRequest,并且因为浏览器的差异,对XmlHttpRequest对象的创建也有所差异.
现在我们在开发过程中一般都是使用一些封装了ajax功能的第三方框架来实现,比如jquery,extjs,AjaxPro等等.
4.列举ASP.NET 页面之间传递值的几种方式?(5分)
URL传值:如xxx.aspx?id=5&name=zhangsanRequest.QueryString[“name”]
Session传值.
Applicatin传值.
Cookie传值.
在当前页面内通过PreviosPage获取上一页面内控件值.
5.什么是存储过程?(5分)
存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次.如果某次操作执行多次SQL,使用存储过程比单纯SQL语句执行要快.
6.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。(5分)
解1: select top 10 fromAwhere idnotin(selecttop30 idfromA )
解2: select top 10 *from A where id >(select max(id)from (select top 30 id from A ) asA)
解3: select * from (select * ,Row_Number() over (order by id asc) rowid from A )as A where rowid between 31 and 40
7.简述 private、 protected、 public、 internal 的访问权限?(5分)
Private: 私有成员,在类的内部才可以访问.
Protected: 保护成员,该类内部和继承累中可以访问.
Public: 公共成员,完全公开,没有访问限制.
Internal: 当前程序集内可以访问.
8.方法重写(override)和方法重载(overload)有什么区别?(5分)
方法重载是指在同一个类中多个方法之间,方法名称一样但是参数列表(参数个数,参数类型,参数顺序)不同.
方法重写是指子类的方法重写父类的方法.
9.什么是反射?反射的命名空间是哪个?(5分)
程序集包含模块,而模块又包含类型,类型下有成员,反射就是管理程序集,模块,类型的对象,它能够动态的创建类型的实例,设置现有对象的类型或者获取现有对象的类型,能调用类型的方法和访问类型的字段属性.它是在运行时创建和使用类型实例对象.
C#中和反射相关的命名空间是:System.Reflection.
10.Readonly和const的异同点?(5分)
Const修饰的常量在声明的时候必须初始化,readonly修饰的常量则既可以在声明的时候初始化,也可以延迟到构造函数初始化.
Const修饰的常量在编译期间就被解析,即常量值被替换成初始化的值,readonly修饰的常量则延迟到运行的时候.
11..NET Framework数据提供程序的5个核心对象(10分)
Connection: 主要是开启程序和数据库之间的连接,没有利用连接对象将数据库打开,则无法从数据库中取得数据.
Command: 主要可以用来对数据库发出一些指令,例如可以对数据卡下达查询,新增,修改,删除数据等指令,以及调用存在数据库中的存储过程等.
Dataadapter: 数据适配器,它可以通过command对象从指定数据源提取数据,并填充到dataset对象中.
Dataset: 数据集.可以视其为一个暂存区(Cache),其内部可以容纳多个DataTable,甚至可以将DataTable的主键以及DataTable之间的外键关联等存储起来,所以我们有时贴切的称之为”内存中的小型数据库”.
Datareader : 当我们只需要循环的读取数据时,可以使用Datareader对象, Datareader对象只是一次一笔向下循环的读取数据中的数据,这些数据只是存在数据库服务器中的,而不是一次性加载到程序内的内存中,而且这些数据是只读的,并且不允许对其惊喜修改等操作,因为Datareader在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好.
12.ASP.NET中<%%>、<%=%>、<%#%>的区别是什么?(5分)
1.<%%>是执行<%%>中的C#代码
2.<%=%>是将=后表达式的值输出到response中;
3.<%#%>是数据绑定,一般用在listview,gridview,repeater等控件的绑定中,数据绑定分为:Eval(单向绑定)和Bind(多向绑定);
13.ASP.NET提供了哪些数据验证控件?(5分)
非验证控件RequiredFiledValidator
比较验证控件CompareValidator
范围验证控件RangeValidator
正则表达式验证控件RegularExpressionValidator
自定义验证控件CustomeValidator
14.JQuery提供了哪些选择器?(5分)
1.一般选择器: ID选择器,类选择器, 标记选择器
2.层次选择器;
3.过滤选择器:基本过滤选择器,内容过滤选择器,可见性过滤选择器,属性过滤选择器
4.表单选择器
15.什么是MVC开发模型(5分)
MVC(Model ViewController) 模型视图控制器;
MVC是典型的平行关系.没有说谁在上谁在下,模型负责业务领域的事情,视图负责显示的事情,控制器把数据读取出来填充模型后把模型交给视图去处理,而各种验证什么的应该是在模型里面处理了,它强制性的使用应用程序的输入,处理和输出分开.MVC最大的好处就是将逻辑和页面分离,分解关注点.
微软自08年推出asp.net mvc 后至今经历了1.0,2.0,3.0,4.0几个版本.
MVC和三层的区别:MVC是三层中于UI层相关的技术.
16.什么是三层架构?(10分)
通常意义上的三层架构就是将整个业务应用划分为:表现层(UI),业务逻辑层(BLL),数据访问层(DAL).
区分层次的目的即是为了”高内聚,低耦合”的思想.
表现层(UI):通俗的讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得.
业务逻辑层(BLL):只对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理.
数据访问层(DAL):该层所做事物直接操作数据库,对针对数据的新增,删除,修改,更新,查找等每层之间是一种垂直的关系.
三层结构是N层结构的一种,一般来说,层次之间是向下依赖的,下层代码未确定其接口(契约)前,上层代码是无法开发的,下层代码接口(契约)的变化将使上层的代码一起变化.
优点:分工明确,条理清晰,而且具有可扩展性;
缺点:增加成本.
17.对访问量庞大的业务系统,在提升访问速度方面有哪些优化措施?(10分)
1.对于某些页面内很少发生改变的可以通过页面缓存提升访问数度;
2.对于较少发生变动的业务数据可以通过数据缓存和缓存依赖项保证访问数度和更新;
3.从数据库层面进行优化:优化查询语句,合理建立表索引,数据表的水平和垂直拆分;
4.可以通过服务器集群来对访问量相应分流.
转载于:https://blog.51cto.com/7112081/1375248