• .net程序员面试小结(内附一些面试题和答案)


      今天下午去面试,面试官和HR小姐姐都很好,没有做面试题,用聊天的方式来交流技术,整个过程很轻松,从中也学到了很多知识。

    下面就来总结一下面试过程。

    一、深刻了解自己的简历

    无论是HR还是技术面试人,首先都从简历里面了解你,我的这个面试题都是围绕着我的简历中提到的技术来开展的,令我不好意思的是有好多问题我并不能给出很好的深层次的答案。

    二、生活业余时间也要扩展自己

    平时多关注技术类新闻,多写博客注意积累,这个也有问到哦。

    三、问题总结

    1、三层架构是哪三层?各自干什么?三层架构有什么优缺点?(链接:http://blog.163.com/jlkjwjh_changfeng/blog/static/3633782620108269504961/

    三层指

    表现层(UI):用户看到的界面

    业务逻辑层(BLL):对数据层的操作,对数据业务逻辑的处理。

    数据访问层(DAL):直接操作数据库,对数据进行查找、增添、修改、删除等操作。

    优点:

    1)、开发人员可以只专注于整个结构中的某一层

    2)、可以很容易用新的实现来替换原有层次的实现

    3)、安全性高

    4)、降低层与层之间的依赖,高内聚,低耦合

    (内聚:一个模块内各个元素彼此结合的紧密程度;耦合:一个软件结构内不同模块之间互连程度的度量)

    5)、有利于标准化

    6)、利于各层逻辑的复用。

    7)、扩展性强

    8)、项目结构更清楚,分工更明确,有利于后期的升级和维护

    缺点:

    1)、降低了系统的性能,比如操作数据库需要中间层,而不是直连

    2)、有可能会导致级联的修改,比如新加一个模块,需要三个层都新加。

    3)、增加了成本,增加了代码量

    =================================================================================

    2、EF(entityFramework)和ADO.NET的对比(链接:http://blog.csdn.net/wangzl1163/article/details/72897170

    1)、使用EF开发只需要操作对象,使开发更对象化,抛弃了数据库为中心的思想,完全的面向对象的思想。ADO.NET以数据库为中心来开发数据访问层。

    2)、采用EF减少了数据处理工作,可以简化开发,达到快速开发的目的。采用ADO.NET开发需要编写sql语句,并处理数据与对象的转换,开发效率低。

    3)、EF消耗内存较大,ADO.NET消耗内存较小。EF的性能不如ADO.NET。

    4)、EF处理数据库的方式是针对单个对象的,对数据库的增删改都是对一条记录而言。ADO.NET既适合逐条语句处理数据也适合批量删除、修改数据。

    5)、EF不适合数据库中有大量存储过程、触发器的开关,此时ADO.NET适合。

    6)、EF适用于表与表关系比较明确的环境中。如本应有外键关系,但又没建外键的,这是适用EF会增加工作量。ADO.NET对此没有要求。

    ===================================================================================

    3、UEditor(百度富文本编辑器)和KindEditor的区别(链接:https://www.zzidc.com/info/biancheng/2508.htmlhttp://blog.csdn.net/u013987661/article/details/54378005

    1)、Ke(KindEditor)要比Ue(UEditor)小

    2)、Ke和Ue的容器不同,一个是textarea标签,一个是script标签,如果是ke的textarea标签的话,表单的参数名可以通过name指定,而ue提交表单的默认参数名是editorValue,可以通过创建对象的时候传入textarea参数解决。

    KindEditor:

    <textarea name="content"></textarea>

    UEditor:

    <script type="text/javascript">
     var ue = UE.getEditor('editor',{toolbars: [
        ['fullscreen', 'source', 'undo', 'redo'],
        ['bold', 'italic']
    ],textarea:"content"});
    </script>

    ====================================================================================

    4、重载(overload)和重写(override)的区别(链接:https://www.cnblogs.com/lonelyDog/archive/2011/11/16/2251011.html

    overload是重载,一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同。

    重载的规则:

       1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);

       2、不能通过访问权限、返回类型、抛出的异常进行重载;

       3、方法的异常类型和数目不会对重载造成影响;

    override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。

    重写(覆盖)的规则:

       1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.

       2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。

       3、重写的方法的返回值必须和被重写的方法的返回一致;

       4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;

       5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没s有对其进行重写。

       6、静态方法不能被重写为非静态的方法(会编译出错)。

    ===================================================================================

    5、对委托和事件怎么理解(链接:http://www.tracefact.net/tech/009.html

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。

    事件是一种特殊的委托的实例,或者说是受限制的委托,是委托一种特殊应用,在类的外部只能施加+=,-=操作符。

    ===================================================================================

    6、快速开发的工具有哪些?(这个我没有接触过T_T,希望有用过的能够告知一下,谢谢)

    ===================================================================================

    7、sqlite和MS Sql server有什么不同

    sqlite 是文件型数据库,是轻量级数据库,对小数据量的数据存储方便。

    sqlserver是关系型数据库,是大型数据库,常用于企业级应用的后台数据存储。

    语法的不同参考链接:http://blog.csdn.net/xsl1990/article/details/16851593

    ====================================================================================

    好啦,就先总结这么多吧,以后慢慢再添,其实还有设计模式还有前端的一些问题没有写。

  • 相关阅读:
    (十五)、常见的几种RuntimeException
    (十四)、泛型中extends和super的区别
    (十三)、Java泛型
    (十二)、构造方法、静态属性和静态方法的使用要点
    (十一)、final,finally,finalize的区别
    (十)、java内部类与内部类的闭包和回调
    (九)、线程sleep和wait的区别
    (八)、java中==和equals和hashCode的区别
    sketch中做outline icon的制作技巧
    sketch Measure的安装及使用
  • 原文地址:https://www.cnblogs.com/wsn1203/p/8524953.html
Copyright © 2020-2023  润新知