博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net基础收集
阅读量:5262 次
发布时间:2019-06-14

本文共 1786 字,大约阅读时间需要 5 分钟。

最近的面试让我知道基础知识的重要性,而我也每天都在网上找一些基础题来看。其实面试无非都是一些理论基础,只有基础过关了,才会被问到技术性的问题,所以第一关一定要打好。下面是我收集的一些题目以及答案(答案可能有些包含我自己的见解,如有错误请指出)。

1.面向对象的三大特性

封装、继承、多态

2.装箱和拆箱

装箱:值类型转换为引用类型

拆箱:引用类型转换为值类型

.NET中,数据类型划分为值类型和引用(不等同于C++的指针)类型,与此对应,内存分配被分成了两种方式,一为栈,二为堆,注意:是托管堆。

值类型只会在栈中分配。
引用类型分配内存与托管堆。
托管堆对应于垃圾回收。

3.C#可否对内存进行直接的操作?

可以,通过加一个unsafe关键字实现。

4.C#中结构和类的区别

机构和类具有大体的语法,结构受到的限制比类要多。结构不能声明构造函数。结构是值类型,类是引用类型。结构的实例化可以不使用new关键字。类可以实现接口,结构不可以。

5.接口可否继承接口?抽象类可否实现接口?抽象类可否继承实体类?

(1)接口可以继承接口

(2)抽象类可以实现接口

(3)抽象类可以继承实体类,但是有个条件,实体类必须有明确的构造方法。

6.构造器Constructor是否可以被继承?是否可以被重写(Override)?

构造器不可以被继承,因此不能被重写,但可以被重载(overload)。

7.Error和Exception的区别

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况; exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

8.说说你对C#中的委托的理解

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。事件是一种消息机制,是一种委托,委托不带方法体。

9.简述反射与序列化

反射:其实就对程序集的动态操作,程序集包括了模块,而模块里面包含类型,类型又包含成员。反射提供了封装程序集,模块和类型的对象。

我们可以使用反射动态的创建类型的实例,将类型绑定到现有的对象,或者从现有对象中获取类型,然后就可以调用类型的方法或访问字段和属性了。

序列化:简单理解成把对象转换为容易传输的格式的过程。比如,可以序列化一个对象,然后使用HTTP通过Internet在客户端和服务器端之间传输该对象。

在另一端可以使用反序列化从该流重新构造对象。

10.C#中值类型和引用类型的区别

(1)值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。

(2)值类型存取速度快,引用类型存取速度慢。

(3)值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用

(4)值类型继承自System.ValueType,引用类型继承自System.Object

(5)栈的内存分配是自动释放;而堆在.NET中会有GC来释放       

(6)值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。

欢迎补充……

11.谈谈你对三层架构的认识

(1)DAL:数据访问层,直接对数据库进行增删改查。

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

(3)UI:表现层,对处理过的数据展现给用户。

优点:体现面向对象编程的思想:高内聚低耦合,提高扩展性。

12. ado.net使用到哪些类?

SqlConnection、SqlDataAdaptor、DataSet、SqlCommand、SqlDataReader

13.SQL语句实现分页:在表T中(有自增子段ID)查询第31-40条记录

select * from (select ROW_NUMBER() over (order by ID) as rowNum,* from T) as t  where rowNum between 31 and 40

 

欢迎各位补充,希望这些对需要的人有点用。

转载于:https://www.cnblogs.com/rainlam163/p/3186856.html

你可能感兴趣的文章
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
hdu 2093
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
009.栈实现队列
查看>>
A-Softmax的总结及与L-Softmax的对比——SphereFace
查看>>
关于软件盘覆盖住布局
查看>>
Unity3D 控制物体移动、旋转、缩放
查看>>
UVa 11059 最大乘积
查看>>
UVa 12545 比特变换器
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
10个著名的思想实验1
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
Web Api 利用 cors 实现跨域
查看>>
hdu 3938 并查集
查看>>
instanceof
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>