.Net面试题

.Net面试题

1.简述private、protected、publie、 internal修饰符的访间权限。

答:

private:私有的,只能在类的内部才可以访问。

protected:保护成员,只能在类的内部和被继承的类中可以访问。

publie:公共的,任何人都可以访问,没有访问限制。

internal:在同一命名空间下可以访问。

2.C#中的委托是什么?事件是不是一种委托?

答:

委托可以把一个方法当作参数代入到另一个方法。

委托像C++里面的函数指针,但是相比函数指针它是安全的。

是,事件是一种特殊的委托。(事件不是委托,不过由于事件的性质决定了处理它的程序逻辑能访问的参数,因此,在C#中处理事件的逻辑都包装为 委托。)

3.什么是索引,有什么优点?

答:

索引象书的目录类似,索引使数据库程序无需扫描整个表,就可以在其中找到所需要的数据,索引包含了一个表中包含值的列表,其中包含了各个值的行所存储的位置,索引可以是单个或一组列,索引提供的表中数据的逻辑位置,合理划分索引能够大大提高数据库性能。

4.WebService

答:

webservice即Web服务,它是一种跨编辑语言和跨操作系统平台的远程调用技术。(适用于不同系统之间的交互,数据传递)

5.MVC与WebApi的区别

答:

MVC主要用于建栈。

WebApi主要用于构建Http服务。

6.为什么,.Net Core可以跨频台?

答:

在.NetCore时代,IIS发生了巨大的变化。这个变化就是IIS只利用其中的ASPNetCoreModule模块转发HTTP请求,而所有的请求处理和响应,都是在Kestrel这个内置服务器中完成的。

而Kestrel服务器是跟随我们程序一起打包的。我们的程序,在Linux或mac平台上有专门的运行时,所有我们的程序都能在其他的平台上面运行。

7.什么是存储过程?有什么优点?

答:

存储过程是一组予编译的SQL语句

它的优点:

1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。

2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。

3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。    

4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。

8.概述序列化

答:

就是把对象转化成规定的字符串(Xml、Json)。

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

9.什么是事务?

答:

事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行。

 10.JavaScript的模板?

答:

Vue、Angular、Js、React、Jquery。

11.new 关键字用法

答:

(1)new 运算符 用于创建对象和调用构造函数。

(2)new 修饰符 用于向基类成员隐藏继承成员。

(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

12.列举ASP.NET页面之间传递值的几种方式。

答.

1使用QueryString,如.…?id=1;response.Redirect()..…
2.使用Session变量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item属性
7.使用文件
8.使用数据库
9.使用Cookie

13.WebApi有几种返回值给前台

答:

void无返回值、IHttpActionResult、HttpResponseMessage、自定义类型

14.EF的开发模式到底有几种

答:

即:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。
当然,如果把Code First模式的两种具体方式独立出来,那就是四种了。
Code First(New DataBase):在代码中定义类和映射关系并通过mode生成数据库,使用迁移技术更新数据库。
Code First(Existing DataBase):在代码中定义类和映射关系,给逆向工程提供工具。
Model First:在设计器中创建Model,并用Model生成数据库。所有的类由Model自动生成。
DateBase First:在设计器中逆向生成Model,并有Model自动生成所有的类。

15.什么是跨域,怎么解决?

答:

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

解决办法有1、JSONP:2、代理:3、PHP端修改header(XHR2方式)

关于跨域想深入了解可以:https://blog.csdn.net/lambert310/article/details/51683775

16.MVC有几种缓存?

答:

1、Control缓存

2、Action缓存

3、使用配置文件进行缓存配置

4、缓存依赖

地址:https://www.cnblogs.com/xiaomowang/p/6626712.html

17.MVC的几种传值方式

答:

1.ViewData

2.ViewBag

3.TempData

4.Model

原文地址:https://www.cnblogs.com/mvpbest/p/13266314.html