`
RednaxelaFX
  • 浏览: 3039604 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

.NET考试的一些题目

阅读更多
终于到连续考试的最后一天了,虽然我的考试昨天就结束了呃呵呵。把今天同学问的题目和以前见到的题目记些下来。
以前也在这边稍微记了一点,在Fibonacci数列的一种经典递归实现。帖子里实现得太麻烦了,看看那帖下面的回复。

今天的考试题:(我没看到试卷实际是啥样的,只是听同学事后描述……大致复原如下)

一、填空题:
1、DOM节点中,根节点没有父节点。
2、JIT组件把MSIL编译成本地代码。
3、用户一般在Init事件中处理程序中初始化页面中的控件。
(注释:ASP.NET中页面从初始化到卸载事件顺序(及对页面控件调用)完整列表:
客户发出POST请求
->创建Page派生类,调用构造函数
->调用Page类的IHttpHandler.ProcessRequest方法
->激活Page类的Init事件
->调用Page类的CreateChildControls虚方法
->从POST变量和VIEWSTATE中还原服务器端控件状态
->激活Page类的Load事件->激活服务器端控件事件->激活Page类的PreRender事件
->调用Page类的Render虚方法->调用Page类的RenderChildren虚方法
->发送HTTP响应给客户端->激活Page类的Unload事件
->丢弃Page派生类的实例。)

4、实现磁盘目录服务的两个类是DirectoryDirectoryInfo
5、强名称的程序集放到GAC中。
(这题有点怪?是“可以部署到GAC中”吧?
或者说成“没有强名称的程序集不能放到GAC中”)

6、.NET Framework提供XmlSerializerBinarySerializer两种序列化程序。
在.NET中所有可序列化的类都被标记为[Serializable]
([Serializable]也可以写为完整的[SerializableAttribute]。
根据MSDN的文档,手动实现ISerializable接口来序列化的类最好也标记上SerializableAttribute)

7、委托声明的关键字是delegate

二、简答题:
1、什么是设计模式?请列举几个设计模式。
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
GoF提出的经典的设计模式有:
·Behavioral patterns
Chain of responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template method
Visitor

·Creational patterns
Abstract factory
Builder
Factory method
Prototype
Singleton

·Structural patterns
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy

2、强名称包含的四个部分是什么?
程序集名称、语言(区域)、版本号、公钥。
(还是原文写起来顺一点:
AssemblyName, Version, Culture, PublicKeyToken)


3、写出.NET Framework支持的三类线程同步技术。
1) 同步上下文
  ·使用SynchronizationAttribute属性为ContextBoundObject类型对象提供简单、自动的线程同步。
2) 同步代码区域
·以MethodImplOptions.Synchronized枚举参数的MethodImplAttribute属性修饰需要同步的实例和静态方法。
·使用Monitor和SyncLock。
lock (typeof(Counter)) {
    //被保护的代码
}

(注释:其实不要用type object来同步的好……原因见CLR via C#一书)
3) 手动同步
·使用Interlocked类的方法来同步对多个线程共享变量的访问。

4、请用代码写出用DataSet读取数据的一般操作步骤。
SqlDataAdapter adapter =
    new SqlDataAdapter("select * from sometable", conn);
DataSet dataset = new DataSet();
adapter.Fill(dataset, "SomeTable");
// iterate the table with foreach loop
foreach (DataRow row in dataset.Tables["SomeTable"].Rows) {
    // read the data with row["SomeColumn"].ToString());
}
// or create a DataView of this DataSet

[.NET] .NET程序设计 第四章课后复习题

5、请解释下进程和线程的异同。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
线程是操作系统分配处理器时间的基本单位,支持多个活动同时进行。
一个进程中至少有一个线程,并且可以有多个线程。

三、
有下面的XML文件,如果对应一个数据库的话,数据库表应该如何设计?
<?xml version="1.0" encoding="UTF-8"?>
<planets>
    <planet ID="1">
        <name>Mercury</name>
    </planet>
    <planet ID="2">
        <name>Venus</name>
    </planet>
</planets>

数据库表planets应设计为:
id : int, primary key
name : varchar

于是表的内容为:
id name
1  Mercury
2  Venus


四、程序填空:
正确设置InnerText属性来假如元素,输出以下的XML到控制台:
<book>
    <title></title>
    <price></price>
</book>

代码:
using System;
using System.Xml;

sealed class TestXml {
    static void Main(string[] args) {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<book>"
        + "<title></title>"
        + "</book>");
        XmlElement root = doc.DocumentElement;
        XmlNode newElem = doc.CreateNode("price", string.Empty, string.Empty);
        newElem.InnerText = "19.95";
        root.AppendChild(newElem);
        doc.Save(Console.Out);
    }
}



五、编程题:
写一个程序,在Main()方法里启动一个新线程,调用MyClass里的public static void MyMethod方法。
using System;
using System.Threading;
/*
class MyClass {
    public static void MyMethod() {
        // ...
    }
}
*/
sealed class Program {
    static void Main(string[] args) {
        Thread t = new Thread(new ThreadStart(MyClass.MyMethod));
        t.Start();
    }
}


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

以前的考试题:(只记得填空了……总之考.NET的同学多仔细复习下课件,别漏掉任何一页有字的幻灯片)

一、填空题:
1、.NET框架类库的根命名空间是System,它包含所有基类型对象,所有其它类型都从基类型集成而来。
2、使用继承的主要目的是代码重用,同时可以保证方法的通用性。.NET Framework中集成的特点是单根继承。
3、程序集的清单标识它的输入和输出类型以及它的版本信息。
(注释:可恶,当年我这里写metadata被批改的师兄打了个叉,明明是……)
4、仅具有强名称的程序集才可以进行版本控制。
(注释:这“版本控制”好模糊……)
5、实现自定义序列化时,类必须继承自ISerializable接口,实现接口的GetObjectData()方法,并提供带SerializationInfoStreamingContext类型参数的构造函数。
(注释:原来题目里写的就是“继承自xxx接口”……诶诶,老师下次改改的好)
6、使用delegate关键字来声明一个委托类型,使用Thread.Start()方法启动一个线程。
7、在启动DataReader时,为了确保发生异常时数据库连接能够被关闭,要使用try-catch-finally语句,在finally里调用Connection的Close()方法
8、如果存储过程不返回记录集,就称为行为存储过程。可以调用Command(SqlCommand)类对象的ExecuteNonQuery()方法来执行行为存储过程。
9、.NET目前提供的信道及所使用的协议是HTTP信道SOAP协议
(注释:.NET 提供了HTTP和TCP信道
HTTP 信道默认使用SOAP 协议来传输XML 消息
TCP 信道默认使用TCP 协议来传输二进制消息比SOAP快,但不具备开放性)
分享到:
评论

相关推荐

    win64 CC2022.zip

    SmartTools InDesign插件

    深度学习课程的课程设计-------基于ResNet优化模型的阿尔茨海默症的识别.zip

    深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。

    机械设计课程设计说明书_带式输送机传送装置_西北工业大学.doc

    机械设计课程设计说明书_带式输送机传送装置_西北工业大学.doc

    风格化欧洲城镇建筑场景模型:Modular European Town v1.1

    使用 “模块化欧洲小镇” 包来改变你的游戏世界!这个套装提供了你设计一个充满活力的低多边形城市所需的一切。 套装包括: 模块化建筑:各种结构可创造多样化的建筑设计。 自然元素:树木、灌木丛和植物,以增加你的小镇的绿色景观。 基础设施:道路、人行道、边界和墙壁,以构建一个逼真的布局。 不同的道具:很多物品,如消防栓、路灯、咖啡馆桌椅、垃圾桶、长椅等等。 所有模型都采用低多边形美学制作,确保出色的性能和独特的视觉风格。这个套装非常适合所有平台上的游戏:移动设备、桌面电脑和虚拟现实。它易于使用且高度可定制,让你轻松构建自己独特的欧洲风格小镇。用 “模块化欧洲小镇” 将你的愿景变为现实!(解释说明:“lowpoly” 即低多边形,是一种在游戏和数字艺术中常用的风格,以较少的多边形数量来呈现模型,通常具有简洁的外观和较好的性能表现。

    机械工艺课程设计 挂轮架轴自由锻工艺设计(全套图纸).doc

    机械工艺课程设计 挂轮架轴自由锻工艺设计(全套图纸).doc

    nvm-window v1.1.12

    nvm-window v1.1.12

    python自动化测试10: multipart类型接口

    multipart类型接口的介绍与使用

    机械创新课程设计_自动翻书机设计.doc

    机械创新课程设计_自动翻书机设计.doc

    “机械原理”课程设计自动打印机的设计.doc

    “机械原理”课程设计自动打印机的设计.doc

    SAP系统中采购订单‘确认控制’的操作指南

    内容概要:介绍了两种不同类型的采购订单‘确认控制’操作——‘确认控制’一步法(0004)和两步法(0001),并且阐述了它们各自的操作流程以及后台配置方式。还涵盖了另一种收货类型'粗收货'(0002),并通过具体的系统功能与菜单选项展示了一般性的操作步骤,并解释了它的背景及意义。 适合人群:需要理解并能够执行采购确认控制流程的供应链管理从业人员以及系统管理员。 使用场景及目标:帮助用户理解采购流程,特别是涉及到确认步骤以及粗收货的情形。目的是保证采购流程的准确性,提升仓库收货效率。 其他说明:文章详细描述了一系列系统功能与配置,包括采购订单的创建与更新,通过特定的功能码实现采购确认,内向交货单的处理和收货的具体操作,强调每一种确认控制方法背后的原理及其应用场景。

    【6层】4837.9平米六层框架综合办公楼(含计算书、建筑、结构图纸).zip

    【6层】4837.9平米六层框架综合办公楼(含计算书、建筑、结构图纸) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    AP9569GH-VB一款P-Channel沟道TO252的MOSFET晶体管参数介绍与应用说明

    -40V;-65A;RDS(ON)=10mΩ@VGS=10V;VGS=20V;Vth=-1.6V

    玻璃瓶印花机的设计机械原理课程设计.docx

    玻璃瓶印花机的设计机械原理课程设计.docx

    基于springboot+Vue的旅游推荐系统设计与实现源码+数据库(98分毕业设计)

    基于springboot+Vue的旅游推荐系统设计与实现源码+数据库(98分毕业设计),含有代码注释,小白都可以看懂,个人98分毕业设计。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 基于springboot+Vue的旅游推荐系统设计与实现源码+数据库(98分毕业设计),含有代码注释,小白都可以看懂,个人98分毕业设计。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 基于springboot+Vue的旅游推荐系统设计与实现源码+数据库(98分毕业设计),含有代码注释,小白都可以看懂,个人98分毕业设计。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基于springboot+Vue的旅游推荐系统设计与实现源码+数据库(98分毕业设计),含有代码注释,小白都可以看懂,个人98分毕业设计。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。基于springboot+Vue的旅游推荐系统设计与实现源码+数据库(98分毕业设计),含有代码注释,小白都可以看懂,个人98分毕业设计。毕业

    阅读《Python深度学习-基于PyTorch》时的代码.zip

    深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。

    2024年中国低轨通信星座产业及海外拓展前景研究报告.pdf.zip

    2024年中国低轨通信星座产业及海外拓展前景研究报告.pdf

    基于几何约束的车辆3D检测的实现.zip

    基于几何约束的车辆3D检测的实现.zip

    【5层】4352.4平米框架办公楼(含计算书,建筑、结构图).zip

    【5层】4352.4平米框架办公楼(含计算书,建筑、结构图) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 、本项目3比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 、3本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    Suricata 下载 安装、使用- windows系统、linux系统 wincap或ncap软件需要另外下载安装

    Suricata 下载 安装、使用- windows系统、linux系统 wincap或ncap软件需要另外下载安装

    U.S.-infra-jobs-report(英文原版+中文翻译)美国电动汽车充电基础设施就业岗位的增长情况报告.zip

    美国充电基础设施

Global site tag (gtag.js) - Google Analytics