.Net面试题
1.简述private、protected、publie、 internal修饰符的访间权限。
答:
private:私有的,只能在类的内部才可以访问。
protected:保护成员,只能在类的内部和被继承的类中可以访问。
publie:公共的,任何人都可以访问,没有访问限制。
internal:在同一命名空间下可以访问。
2.C#中的委托是什么?事件是不是一种委托?
答:
委托可以把一个方法当作参数代入到另一个方法。
委托像C++里面的函数指针,但是相比函数指针它是安全的。
是,事件是一种特殊的委托。(事件不是委托,不过由于事件的性质决定了处理它的程序逻辑能访问的参数,因此,在C#中处理事件的逻辑都包装为 委托。)
5.MVC与WebApi的区别
答:
MVC主要用于建栈。
WebApi主要用于构建Http服务。
6.为什么,.Net Core可以跨频台?
答:
在.NetCore时代,IIS发生了巨大的变化。这个变化就是IIS只利用其中的ASPNetCoreModule模块转发HTTP请求,而所有的请求处理和响应,都是在Kestrel这个内置服务器中完成的。
而Kestrel服务器是跟随我们程序一起打包的。我们的程序,在Linux或mac平台上有专门的运行时,所有我们的程序都能在其他的平台上面运行。
答:
存储过程是一组予编译的SQL语句
它的优点:
1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。
2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。
3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。
4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。