zoukankan      html  css  js  c++  java
  • test

    (1)private、protected、public、internal修饰符访问权限
    private:私有成员,类内部
    protected:保护成员,该类及继承的子类
    public:公共成员,完全公开
    internal:同一程序集(同一命名空间)

    (2)override和重载的区别
    重载是指方法名相同,但参数个数或参数类型不同,是基于同一类中
    overide是重写基类的方法

    (3)分层开发关系及优劣
    表示层、业务逻辑层、数据访问层
    优点:代码结构清晰,具有较好的扩展性
    缺点:增大开发成本

    (4)装箱与折箱
    装箱:将值类型转为引用类型的过程,反之是拆箱

    (5)CTS、CLS、CLR解释
    CTS(Common Type System),通用系统类型,解决不同语言的数据类型不同的问题
    CLS(Common Language Specification)通用语言规范
    CLR(Common Language Runtime)公共语言运行时,包括CTS和CLS

    (6).NET的编译技术
    先编译为微软中间代码(MSIL),再通过JIT(Just In Time)编译成相应的平台(操作系统)代码(机器代码),这种编译方式,
    实现了代码托管,能提高程序的运行效率

    (7).NET读数据库需要哪些类及分别的作用
    DataSet:数据存储器
    DataCommand:执行语句命令
    DataAdapter:数据集合,填充数据

    (8)抽象类与接口的异同
    异:
    抽象类声明关键字是abstract,接口为interface
    只能继承一个抽象类,但可以实现多个接口
    需用overide实现抽象方法,接口则是直接实现
    同:
    不能实例化
    包含未实现的方法
    派生类必须实现未实现的方法

    (9)堆和栈区别
    栈是编译器自动分析,如定义的变量
    堆是由程序员分配,如new一个对象时

    (10)GAC的含义
    全局程序集缓存(Global Assembly Cache)

    (11)DataReader和DataSet的区别
    DataReader只能向前的只读游标
    DataSet是内存中的表

    (12)软件开发的几个阶段
    需求分析---架构设计---编写代码---测试---部署

    (13)using和new关键字意义
    using引用命名空间或使用非托管资源
    new新建实例或隐藏基类方法

    (14)什么是反射
    动态获取程序集信息

    (15)C#中的三元运算符
    ?:

    (16)ASP.NET生命周期
    页面请求--开始--页面初始化--加载--验证--回发事件处理--呈现--卸载

    (17)&与&&
    &是位运算符,&&是逻辑运算符

    (18)面向对象的特征及特性
    封装:保证对象自身数据的完整性、安全性
    继承:建立类之间的关系,实现代码重用,方便系统扩展
    多态:相同的方法调用可实现不同的实现方式(不同对象执行同一方法,方法处理细节不同,而导致最终结果不同)

    (19)虚方法与抽象方法区别
    虚方法virtual修饰,抽象方法用abstract
    虚方法要有方法体,抽象方法不允许有方法体
    虚方法可以被子类override,抽象方法必须被子类override
    虚方法除了密封类(sealed)都可以写,抽象方法只能在抽象类中

    (20)类与对象关系 
    类是对象的抽象,对象是类的具体实例;类是抽象的,不占用内存,而对象是具体的,占用储存空间

    (21)能用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator方法的类型

    (22)析构函数 ~ClassName,一个类只能有一个析构函数,没有修饰符、参数,不能继承、重载,无法调用,是被自动调用

    (23)向服务器发送请求有几种方式? get/form/head

    (24)请解释asp.net中的数据绑定与传统数据绑定有什么区别?方便、简单、减少手工代码编写,显示效果也很美观

    (25)Web控件?有哪些优势?实现了System.Web.UI.WebControls这个命名空间的类,包括ASP.NET服务器控件、用户控件、自定义控件;提高代码复用性,提高开发效率

    (26)正则表达式的意义?善用正则表达式可以高效的处理字符串

    (27)ASP.NET相对ASP的优势?定义Web Form模型提高了开发速度,编译执行的模式,提高了运行效率

    (28)怎样理解静态变量?静态变量在类的多个实例之间共享。可以用来完成类的实例数统计等工作

    (29)请解释转发与跳转的区别?
    转发:HttpServerUtility.Transfer(); 对于当前请求,终止当前页的执行,并使用指向一个新页的指定URL路径来开始执行此新页。可以清除QueryString和Form集合;跳转:HttpResponse.Redirect(); 将客户端重定向到新的URL并指定该新URL,默认不终止当前页的执行

    (30)请解释接口的显式实现有什么意义?显示实现是通过使用接口的完全限定名来实现接口成员的。如果类或者结构继承了多个接口,那么接口中相同名称成员就要显式实现

    (31)请解释ASP.NET中button、linkbutton、imagebutton及hyperlink这四个控件之间的区别
    HyperLink控件立即转向目标,表单不需回发到服务器端;Button,LinkButton,ImageButton都属于服务器端的按钮类控件,它们的点击操作都会有一次PostBack

    (32)请解释什么是上下文对象,在什么情况下要使用上下文对象?上下文对象是指HttpContext类的Current 属性,当我们在一个普通类(一个不是继承自Page类的类)中要访问ASP.NET服务器对象(Response, Request, Session, Server, Appliction等)时就要使用此对象。

    (33)虚方法使用情况?虚方法与接口区别
    基类的方法子类可以覆盖重写(有相同的功能写至虚方法中,但因某些子类处理各异,也允许重写该方法);虚方法要有方法体,可以覆盖重写,也可以直接调用,而接口必须实现

    (34).net Remoting 的工作原理:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置

    (35)C#中的委托是什么?事件是不是一种委托?
    委托可以把一个方法作为参数代入另一个方法,委托可以理解为指向一个函数的引用。事件是一种特殊的委托

    (36).NET 构架下remoting和webservice两项技术的理解以及实际中的应用。
    WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率

    (37)私有程序集与共享程序集有什么区别?
    一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。共享程序集通常存储在全局程序集缓存 (Global Assembly Cache)之中,这是一个由.NET运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NET Framework类

    (38)enum,string是值类型还是引用类型?enum是值类型,string引用类型

    (39)String s = new String("xyz");创建了几个String Object?两个对象,一个是“xyx”,一个是指向“xyx”的引用对象

    (40)在C#中,string str=null 与 string str=""区别 string str=null 是不给他分配内存空间,而string str=""给它分配长度为空(为0)字符串的内存空间

    (41)是否可以继承String类? String类是final类,故不可以继承

    (42)用Singleton如何写设计模式?static属性里面new ,构造函数private

    (43)强命名程序集:强命名程序集有一个发布者的公钥/私钥对签名,其中公钥、私钥对唯一的标识了程序集的发布者。通过公钥私钥标识对我们可以对程序集进行唯一的标识、安全策略、版本策略;可以全局部署和私有部署。非强命名程序集只能进行私有部署。(.NET 框架支持两种程序集:强命名程序集(strongly named assembly)非强命名程序集

    (44)C#中 property 与 attribute的区别
    property是属性,存取类的字段;attribute是特性,是标识类、方法等附加特性

    (45)Heap和stack区别
    heap是堆,是手动操作分配内存和释放;stack是栈,是由系统自动分配和释放内存内容

    (46)HashMap和Hashtable区别
    HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable

    (47)托管代码与非托管代码
    托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码,由公共语言运行库环境执行的代码
    非托管代码:在公共语言运行库环境外部,由操作系统直接执行的代码

  • 相关阅读:
    第一篇:spring+springMVC项目启动最终笔记(一web.xml)
    Mysql优化系列之查询性能优化前篇1
    Mysql优化系列之索引性能
    java设计模式系列1-- 概述
    操作系统-死锁(重要)
    Mysql优化系列之表设计规范和优化
    Mysql优化系列之数据类型优化
    git-常见问题解决
    使用 jenkins 搭建CI/CD流水线 (MAC)
    jenkins 异常
  • 原文地址:https://www.cnblogs.com/myjacky/p/3222041.html
Copyright © 2011-2022 走看看