.NET技术类面试、笔试题汇总(7~12)

7、属性和public字段的区别是什么?

8、三层架构。

9、关于拆箱装箱。

10、CTS、CLR、CLS分别作何解释。

11、在dotnet中类(class)和结构体(struct)的异同。

12、堆和栈的区别。

7、属性可以对设值、取值进行非法值控制,比如年龄禁止设置为负数,

字段则不能进行这样的设置。

8、通常意义上的三层架构是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的是为了:“高内聚,低耦合。”

表现层(UI):展现给用户的界面,即用户在使用一个系统的时候的所见即所得。

业务逻辑层(BLL):针对具体问题的操作,

数据访问层(DAL):该层所做事务直接操作数据库,针对数据进行增删改查等每一层都是垂直的关系。

三层结构是N层结构的一种,一般来说,层次之间向下依赖,下层代码未确定其接口前,上层代码是无法开发的,下层代码发生的变化将使上层代码一起发生变化。

三层架构的优点:分工明确,条理清晰,易于调试,而且具有可扩展性

缺点:增加成本

9、装箱:从值类型接口转换成引用类型;拆箱:从引用类型转换成值类型

分析:CTS(Common Type System)是为了实现在应用程序声明和使用这些类型是必   须遵守的规则而存在的通用类型系统,整个系统的类型分为两大类,值类型和引用类型。

CTS中的所有东西都是对象,所有的对象都源自一个基类---System Object类型。值类型的一个最大的特点就是不能为null,值类型的变量总有一个值,为了解决值类型不能为null的问题,引入了拆箱装箱。装箱就是将值类型用引用类型包装起来转换为引用类型,而从引用类型拿到被包装的值类型数据进行拆箱

10、CTS:Common Type System 通用类型系统。Int32,Int16->int;String->string;每种语言都定义自己的类型,.Net通过CTS提供了公共的类型,然后翻译生成对应的.Net类型。

CLS:Common Language Specfication通用语言规范。不同语言语法的不同。每种语言都有自己的语法,.Net通过CLS提供了公共语法,然后不同语言生成对应的.Net语法。

CLR:Common Language Runtime 公共语言运行时。就是GC,JIT等。有不同的CLR,相当于一个发动机,负责执行IL。

11、类(Class)可以被实例化,属于引用类型,是分配在内存的堆上,类是引用传递的。结构体(Struct)是属于值类型是分配在内存的栈上的。结构体是复制传递的,Int32,Boolean等属于结构体。

12、栈是编译期间就分配好的空间,因此你的代码中必须有就栈的大小有明确的定义,局部值类型变量、值类型参数等都在栈内存中;

堆是程序运行期间动态分配的内存空间,你可以根据程序运行情况确定要分配的堆内存的大小。

时间: 2024-08-01 19:24:37

.NET技术类面试、笔试题汇总(7~12)的相关文章

C++面试笔试题汇总

不错的博客地址 http://www.cnblogs.com/fangyukuan/archive/2010/09/18/1829871.html http://blog.sina.com.cn/s/blog_715811390100rtke.html(很全) http://www.cnblogs.com/fangyukuan/archive/2010/09/18/1830493.html http://www.tuicool.com/articles/FzMzAff

前端笔试题汇总 2018/12/04 (1)

一. console.log(data) var data = "aaa"; var obj={ data:"bbb", prop:{ data:"ccc", fn:function(){ return this.data } } } console.log(obj.prop.fn()) var test = obj.prop.fn; console.log(test()); 输出 undefined ccc aaa 二.前端优化 三. setT

[C++常见面试笔试题汇总] 程序设计基础 - 内存分配、sizeof、指针篇

2 内存分配 系统蓝屏,很大原因都是系统自身代码有缺陷引起的,而系统代码缺陷很大程度上与内存分配不当有关.由于内存分配不当引起的堆栈溢出.缓冲区溢出等问题,常常会导致系统瘫痪甚至崩溃,所以理解内存分配对于一名合格的程序员而言非常有必要. 2.1 内存分配的形式有哪些? 一个C/C++编译的程序所占用的系统内存一般分为以下几个部分的内容: (1) 由符号起始的区块(Block Started by Symbol, BSS)段:BSS段通常是指用来存放程序中未初始化的全局数据和静态数据的一块内存区域

java面试笔试题大汇总

java面试笔试题大汇总(一)JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),

(转载)c++笔试题汇总

今天去9City笔试才发现很多基本的东西都忘记了,以后面试前要看看这篇文章了!唉,老了! ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题.比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1. 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历.源代码如下: struct linka {

2015年阿里巴巴校招研发工程师在线笔试题汇总

在线笔试题汇总 卷一: 1.下面的函数中哪个是系统调用而不是库函数______? printf scanf fgetc read print_s scan_s 2.某足球队有四名外援,分别来自巴西.荷兰.意大利和美国.他们分别擅长前锋.后卫或守门,其中: ① 美国外援单独擅长守门: ② 意大利外援不擅长前锋: ③ 巴西外援和另外某个外援擅长相同的位置: ④ 荷兰外援擅长的位置和巴西外援不同. 以上条件可以推出巴西外援擅长的位置是______. 前锋 守门 后卫 前锋或守门 后卫或守门 前锋或后卫

Web前端面试笔试题总结

最近一段时间要毕业了,忙着找工作,见过不少笔试面试题,自己总结了一些加上网上找的一些整合了一下.答案暂时都东拼西凑出来了,但是还是先不发出来,一方面是答案并不是唯一的并且自己的答案不能保证对,另一方面希望看到本文的伙伴能自己去找答案,毕竟,技术只有自己真正理解了才是自己的东西,共勉. 小白第一次发文,恭请指点. Web前端面试笔试题 Html+css 1.对WEB标准以及w3c的理解与认识. 2.Xhtml和html有什么区别. 3.css的引入方式有哪些?link和@import的区别是? 4

非常全的linux面试笔试题及答案

非常全的linux面试笔试题及答案 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点来标识.4. 全部磁盘块由四个部分组成,分别为引导块 .专用块 . i节点表块 和数据存储块.5. 链接分为: 硬链接 和 符号链接 .6. 超级块包含了i节点表 和 空闲块表等重要的文件系统信息.7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八

面试笔试题总结20170510

今天去面试,总结一下的笔试的题目 第一题 问:每3s读取input.txt的内容并打印到控制台中,分别用同步和于异步的方法 答: 1234567891011 const fs = require('fs');const path = require('path'); let contentSync = fs.readFileSync(path.join(__dirname,'input.txt'),'utf8');setInterval(function(){console.log('同步打印的