.Net程序员面试试题
1:简述private protected public internal修饰符的访问权限?
private:私有成员在类的内部可以访问;
protected:受保护的成员,在类的内部和继承类中可以访问;
public:没有限制,公开的访问权限;
internal:在程序集内部可以访问;
2:简述ASP.NET页面之间传值的几种方式?
Querystring():
Cookie:
Session:
Server.Transfer:
3:C#中什么是委托,委托和事件有什么关系?
委托可以把一个方法作为参数传递给另外一个方法,委托可以理解为指向一个函数 的函数指针。
委托是一种类型,而事件是一个对象,事件只能ADD和remove自己,而不能赋值。事件只能+=或者-=而不能用=。
事件的内部其实就是一个私有的委托和两个方法:add()和remove();
4:overload 和override的区别?
重载是方法 的名称相同而方法的参数的个数和参数的类型不同,方法进行多次重载来适应不同的需求方法重载是面向过程的概念;
重写是进行基类中的函数的重写,override是面向对象的概念;
5:什么是三层架构?
划分层次的目的是“高内聚,低耦合”的思想;
UI层,就是展现给用户的界面;
BLL层,主要是对业务逻辑的操作;
DAL层,直接操作数据库,对数据库进行增删改查;
三层其实是多层的一种特例,层层之间是向下的依赖关系;
优点是:分工明确调理清晰,易于调试,而且具有可扩展性;
6.什么是MVC?
模型
视图
控制器
7:类和结构的区别?
类可以被实例化,属于引用类型,是分配在内存的堆上。类是引用传递;
结构属于值类型,分配在内存的栈上,结构是复制传递。(Int32 Boolean都属于结构体)
8:堆和栈的区别?
栈是在编译期间就分配好内存空间,所以代码中必须有对栈的大小的明确定义,局部值类型变量,值类型参数等都在栈内存中;
堆是在程序运行期间动态分配内存,他可以根据程序的运行情况来确定需要分配的内存的大小。
9:什么是GC?
GC是垃圾回收器,程序员可以不用担心内存管理,垃圾回收器可以自动进行管理。GC只能处理托管内存资源的释放。对于非托管资源不能使用GC垃圾回收器,必须由程序员手动回收。
10:值类型和引用类型的区别?
将一个值类型变量赋值给另一个值类型变量的时候将复制包含的值,引用类型变量的赋值只复制对象的引用,而不复制对象本身;
值类型不可能派生出新的类型,所有的值类型均隐式派生自System.ValueType.但是与引用类型相同的是结构可以实现接口;
值类型不可能包含null值;
每一种值类型均有一个隐式的构造函数来初始化该类型的默认值;
11:接口(interface)和抽象类(abstract class)的区别?
相同点:
都不能直接被实例化,都可以通过继承实现其抽象方法;
不同点:
接口支持多继承,抽象类不支持多继承;
接口只能定义方法不能有方法的实现,抽象类不仅可以定义方法还可以有方法的实现;
接口可以用作值类型和引用类型,抽象类只能用作引用类型;
接口只包含方法,属性,索引器,事件的签名,但是不能定义字段和包含实现的方法;抽象类可以定义字段,属性,包含有实现的方法;
12:using关键词有什么作用?
using可以声明命名空间的引用;
using可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法释放资源。
其实这时候using相当于try 。。。。。finaly;
13:xml和html的区别?
xml区分大小写,html可以不区分;
xml不可以省略结束标签,html可以在合适的情况下省去结束标签;
xml中属性值必须写在引号中,html中引号可用可不用;
xml中所有的属性必须赋值,html中有些属性可以不赋值;
14:写出一条sql语句来查询出表A中第30--40条数据(id为主键,可能不连续)?
select top 10 * from A where id not in (select top 30 id from A);
15:面向对象有什么特性?
封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:
继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”。
被继承的类称为“基类”、“父类”或“超类”。
继承的过程,就是从一般到特殊的过程。
多态:
实现多态,有二种方式,覆盖,重载。
覆盖,是指子类重新定义父类的虚函数的做法。
重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
16:const和readonly的区别?
const关键词用于修改字段或者局部变量的声明,他指定字段或者局部变量的值不能被修改,常数的声明引入指定类型的一个或者多个常数;
const关键字对数据成员的声明必须包含初始值,并且初始值必须是一个常量表达式;
const成员可以使用另外一个const成员来初始化前提是两者之间没有任何依赖关系;
readonly和const不同的是const字段只能在字段的声明中初始化,readonly字段可以在声明或者构造函数中初始化;
const字段是编译时常数,而readonly字段可用于运行时常数;
17:post和get的区别?
get的参数可以再浏览器地址栏中显示,而post则不会;
post提交的页面再点击[刷新]按钮的时候,浏览器一般会显示“是否要重新提交”而get则不会;
get的页面可以被搜索引擎抓取到,而post则不可以;
post可以提交的数据量可以非常大,而get的数据非常小(一般几k);
post可以进行文件的提交,而get则不可以;
18:一个数组:1,1,2,3,5,8,13,21,34......m,求第30位数字是什么?用递归实现。
static int F(int n)
{
if(n==1)
{
return 1;
}
if(n==2)
{
return 1;
}
return F(n-2) + F(n-1);
}
19:DataSet和DataTable的区别?
DataSet可以看做是一个暂存区,可以把从数据库中查询出来的数据保留起来,甚至可以把整个数据库显示出来。DataSet是存储在内存中的;
DataSet可以包含若干个DtatTable,DataTable可以包含若干的DataRow;
20:String和StringBuilder的区别?
String 在运算时(赋值,拼接)会产生一个新的实例,而stringbuilder则不会,所以在进行大量字符串拼接或者频繁对某一字符串进行操作的时候最好使用stringbuilder;
两个类的工作原理不同:string是一种传统的修改字符串的方式,他可以完成把一个字符串添加到另外一个字符串中,但是在.net框架下这样的操作划不来,系统要先把两个字符串写入内存,接着删除原来的string对象然后再创建一个string对象,并读取内存中的数据赋值给该对象;
而stringbuilder提供了一个Append方法,能在已有的对象的原来地方进行字符串的修改;
.Net程序员面试试题的更多相关文章
- PHP程序员面试技巧之口试题分享
网络上流传很广的一部分php工程师面试题目,有些phper们认为这些很形式,天下面试题目一大把,不能考核一个人的真实水平,其实细细研究起来,无论怎样,能存在就表明其有存在的价值.下面小编整理了12条P ...
- ASP.NET的几个试题(《C#与.NET程序员面试宝典》)
更多参考:博客园笔记 :ASP.NET是什么 ASP.NET不是一种语言,而是创建动态Web页的一种强大的服务器端技术,它是Microsoft.NET Framework中一套用于生成Web应用程序和 ...
- 《Java程序员面试笔试宝典》终于在万众期待中出版啦~
<Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理 ...
- Java程序员面试题集(136-150)(转)
转:http://blog.csdn.net/jackfrued/article/details/17740651 Java程序员面试题集(136-150) 摘要:这一部分主要是数据结构和算法相关的面 ...
- Java程序员面试题集(71-85)(转)
转:http://blog.csdn.net/jackfrued/article/details/17566627 Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言) ...
- Java程序员面试题集(1-50)(转)
转:http://blog.csdn.net/jackfrued/article/details/17339393 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和 ...
- 《程序员面试金典(第5版)》【PDF】下载
<程序员面试金典(第5版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382252 内容简介 本书作者Gayle Laakma ...
- JAVA程序员面试宝典
程序员面试之葵花宝典 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面.抽象并不5. 打算了解全部问题 ...
- 新书出版 |《Oracle程序员面试笔试宝典》
新书出版 |<Oracle程序员面试笔试宝典> <Oracle程序员面试笔试宝典> 丛书[数据库 面试 笔试宝典]已在京东.淘宝和天猫预售,一共 5 本,目前市场上已有4本,丛 ...
随机推荐
- ajax form表单提交 input file中的文件
ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...
- Django----模板
为了将html页面和python代码分离开来,有必要介绍一下模板的作用,Django中自带很多模板. 以下一个html模板文件: <html> <head><title& ...
- AngularJS模块的详解
AngularJS模块的详解 在讲angularjs的模块之前,我们先介绍一下angular的一些知识点: AngularJS是纯客户端技术,完全用Javascript编写的.它使用的是网页开发的常规 ...
- linux 多个源文件在编译时会产生一个目标文件
obj-m := target.o target-objs := src1.o src2.o src3.o 版权声明:本文博客原创文章.博客,未经同意,不得转载.
- fatjar eclipse4.4 java项目的jar包一起打包 net.sf.fjep.fatjar_0.0.32.jar
1.下载net.sf.fjep.fatjar_0.0.32.jar http://files.cnblogs.com/files/milanmi/net.sf.fjep.fatjar_0.0.32. ...
- 【C++ Primer】拷贝控制
十三.复制控制 1. 复制构造函数 类中的成员函数都默觉得inline类型.所以即使在类定义体内的函数声明显示定义为inline类型,在进行函数定义时也可以将inline进行省略. // 复制构造函数 ...
- 设计模式之职责链模式(Chain of Responsibility)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- Android学习小Demo(21)ListView的联动选择
在日常的App开发中,尤其是在开发生活服务的应用上,非常多时候,我们会须要联动地展现省市区的数据等,需求大概例如以下: 1)展现全部省份 2)当点击某省份的时候,在二级菜单上展现此省份以下所属的城市列 ...
- selenium2入门 用testNG对百度首页输入框进行测试 (三)
如果还没有安装testNG的亲,可以点击http://www.cnblogs.com/milanmi/p/4346580.html查看安装过程. 这节主要是对百度首页的输入框进行输入测试. packa ...
- java基础知识汇总
1. 类的访问控制权限共有两种:public和默认.默认级别的类只能被同一个包中的类看到,包外不可见. 2. 类成员的访问权限共有四种:public,protected,private ...