• .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是什么类型

     (由于时间问题后续补上!!!!)

  • 相关阅读:
    blocking to nonblocking of Python
    hug -- Embrace the APIs of the future
    supplychain on blockchain
    xstate -- JavaScript state machines and statecharts
    计算PI -- 采用刘徽的割圆术方法
    Gunicorn
    AIOHTTP
    APScheduler
    prefect
    FastAPI
  • 原文地址:https://www.cnblogs.com/cuifangjiao/p/4328739.html
Copyright © 2020-2023  润新知