zoukankan      html  css  js  c++  java
  • C#面试题目整理(一)

    1.您在什么情况下会用到虚方法?它与接口有什么不同?
    当子类需要重新定义父类的一个方法时,父类的方法需要定义为虚方法;
    在定义接口的时候不能又方法体,但是虚方法可以有方法体,
    实现时,子类可以不实现父类的虚方法,但是如果要是继承了接口,那么一定要实现

    2.Override与重载有什么区别?
    重载:就是函数名相同,根据参数类型,或者个数不同,方法的重载可以提高方法的可读性;
    override:重写,如果加上这个关键字,那么就会将父类的方法或者函数覆盖掉

    3.值类型与引用类型有什么区别?
    值类型的数据时放在栈里的,引用类型的数据是放在堆里的,在栈里为其存放一个引用的地址
    值类型存放的就是实际数据,引用类型存放的是数据的地址

    4.怎样理解静态变量?
    静态变量(static)--即表示在编译时刻开始就永远存在的变量,相对实例变量而言的,一般来讲实例变量一开始是不存在的,需要new后才能分配空间,而静态变量从系统一开始就会为其分配内存空间,不需要new 直接可以访问

    5.向服务器发送请求有几种方式?
    POST请求和GET请求
    GET请求:会将请求的内容放到URL中,服务器段会通过Request.QueryString回的变量的值,Get传送的数据量比较小,不能大于2KB,Get请求的安全性相对来讲差一点
    POST请求:不会在url中显示请求的数据,服务器段会通过Request.Form来获得提交的数据,Post传送的数据量比较大,默认不受限制,不过IIS会有大小的限制,Post请求的安全性比较高。
    一般情况下,查询建议多用get请求,而进行数据操作的时候建议使用Post请求

    6.DataReader与Dataset有什么区别?
    与数据库连接
    DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接。
    Datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
    处理数据速度
    DataSet读取、处理速度较慢。
    DataReader读取、处理速度较快。
    更新数据库
    在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。
    在对DataReader中的数据进行更新后,没有办法进行数据库更新。
    支持分页排序
    在DataSet中支持分页、动态排序等操作。
    在DataReader中没有分页、动态排序的功能。
    占用内存
    DataSet在 IIS 服务器上所使用的内存较多。
    DataReader在 IIS 服务器上所使用的内存较少。

    7.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session.Cookie.Application,您有几种方法进行处理?
    1.QueryString ,2.使用Server.Transfer,3.使用Cache
    4.使用数据库,5.使用文件

    8.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
    一般来讲就是三层,UI,DAL,BLL 主要是讲业务逻辑和表现逻辑分开,各司其职,分三层是为了使项目架构体系更加清晰,而且项目参与人员的分工也可以更加明确,也有利于项目后期维护,这些都是分层的优点。

    9.软件开发过程一般有几个阶段?每个阶段的作用?
    一般的话一个软件的开发过程主要有五个阶段:
    1.问题的定义及规划--确定开发的目的以及可行性
    2.需求分析--对软件需要实现的各个功能进行详细需求分析
    3.软件设计--需要根据需求分析的结果,对整个软件系统进行设计,框架,数
    据库等
    4.程序编码--将设计转化成代码
    5.软件测试--分为单元测试、组装测试、系统测试三个阶段进行

    10.微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
    Data Access Application Block:
    1.对数据库访问提供了简单、高效的访问方式
    减少编写重复累赘代码去执行标准的数据访问任务
    易于使用,使用单条语句即可完成Stored Procedure的调用
    屏蔽了对常用ADO.NET使用的复杂度,提供了基于最佳实践, 正确快速使用接口
    2.对不同类型的数据库(SQLServer/Oracle/DB2)提供了编程上的透明性
    为不同数据库类型提供了统一的编程。
    当移植应用程序到不同数据库类型时,减少重写代码的数量
    3.搭起了逻辑数据库与物理数据库间的桥梁,降低改变物理数据目标的难度
    4.增强了数据库联接串的安全性
    5.容易对数据库访问的配置信息进行调整和验证

    11.请列举一些您用到过的设计模式以及在什么情况下使用该模式?
    1.单例模式:全局配置、唯一资源,当一个类非常消耗系统资源的时候,而且这些资源可以全局共享的时候,就应该设计成singleton模式
    //申明一个静态的变量,类型为类本身
    //将类的构造函数私有化,使得这个类不可以被外界创建
    //提供静态的方法,创建类的实例
    2.工厂模式:

    3.策略模式:

    12.您对WebService的体会?
    WebService主要用来给客户端提供数据服务,因此WebService是沟通客户端BLL业务逻辑层和数据库的桥梁
    主要通过XML来返回想要得到的结果,即:XML格式的数据

    13.通过超链接怎样传递中文参数?
    Server.UrlEncode("中文");--进行转换

  • 相关阅读:
    FastDFS介绍
    SwiftUI 中使用SDWebImageSwiftUI加载网络图片
    SwiftUI 中使用BBSwiftUIKit开源库实现上拉加载和下拉刷新
    SwiftUI 中使用ScrollView+LazyVStack代替List
    SwiftUI 动画
    SwiftUI 中实现省市区选择器
    SwiftUI 中Slider的使用
    SwiftUI 中Stepper的使用
    SwiftUI 中通过Toggle实现单选框和复选框效果
    SwiftUI 中加载bundle中的图片
  • 原文地址:https://www.cnblogs.com/xuzhencheng/p/3279241.html
Copyright © 2011-2022 走看看