.net软件工程师面试总结(1)
其实对于应届生面试,如果你的实战经验不足的话,面试官一般会问一些基础的问题.(本博客内容答案是总结了一些原作者的知识,)
1、接口和抽象类的区别(from: http://www.cnblogs.com/huihui-gohay/archive/2009/12/13/1623070.html#undefined)
抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。
延伸:
接口,在表面上有几个没有主体代码的方法定义组成的集合体,有唯一的名称,可以被类和接口所实现(继承),一般形式是
interface interface1
{
void method1{}
void method2{int para1}
void method1{string para2, int para3 }
}
接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。
接口是在一定粒度视图上同类事物的抽象表示。注意这里强调了在一定粒度视图上,因为“同类事物”这个概念是相对的,它因为粒度视图不同而 不同。
联想到面向接口编程和面向对象编程,他们两个区别是什么呢
面向接口编程:在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。
面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。
2、SQL内连接,左连接,右连接,外连接,自然连接(from: http://www.blogjava.net/zolly/archive/2007/10/23/SQLJION.html)
[1] 外连接:包括左连接,右连接(左外连接和右外连接)和完全连接
(1)左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
(2)右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
(3)完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
[2] 内连接:包括自然连接和等值连接
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行
[3]交叉连接
交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合
3、.NET Framework 4.0的优点
http://www.cnblogs.com/ATree/archive/2010/05/28/net-framework-new-features.html
还需理解。。。。。。
4、WCF
Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部 分。由 .NET Framework 3.0 开始引入。
WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。
WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。
WCF专门用于面向服务开发
from: http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html
5、重写、面向对象
封装、继承、多态
(1) 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性
(2)多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
实现多态,有二种方式,覆盖,重载
(3)继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。
继承概念的实现方式有三类:实现继承、接口继承和可视继承。
-
- 实现继承是指使用基类的属性和方法而无需额外编码的能力;
- 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
- 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。
from: http://blog.csdn.net/ma1kong/article/details/4457044
6、webservice安全性访问,,访问量 并发
7、类 静态 非静态
8、事务
9、索引
10、linq
11、存储过程,数据逻辑 业务逻辑
12、值类型、引用类型 string是什么类型
(由于时间问题后续补上!!!!)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。