C#面试题目整理(一)
1.您在什么情况下会用到虚方法?它与接口有什么不同?
当子类需要重新定义父类的一个方法时,父类的方法需要定义为虚方法;
在定义接口的时候不能又方法体,但是虚方法可以有方法体,
实现时,子类可以不实现父类的虚方法,但是如果要是继承了接口,那么一定要实现
2.Override与重载有什么区别?
重载:就是函数名相同,根据参数类型,或者个数不同,方法的重载可以提高方法的可读性;
override:重写,如果加上这个关键字,那么就会将父类的方法或者函数覆盖掉
3.值类型与引用类型有什么区别?
值类型的数据时放在栈里的,引用类型的数据是放在堆里的,在栈里为其存放一个引用的地址
值类型存放的就是实际数据,引用类型存放的是数据的地址
4.怎样理解静态变量?
静态变量(static)--即表示在编译时刻开始就永远存在的变量,相对实例变量而言的,一般来讲实例变量一开始是不存在的,需要new后才能分配空间,而静态变量从系统一开始就会为其分配内存空间,不需要new 直接可以访问
5.向服务器发送请求有几种方式?
POST请求和GET请求
GET请求:会将请求的内容放到URL中,服务器段会通过Request.QueryString回的变量的值,Get传送的数据量比较小,不能大于2KB,Get请求的安全性相对来讲差一点
POST请求:不会在url中显示请求的数据,服务器段会通过Request.Form来获得提交的数据,Post传送的数据量比较大,默认不受限制,不过IIS会有大小的限制,Post请求的安全性比较高。
一般情况下,查询建议多用get请求,而进行数据操作的时候建议使用Post请求
6.DataReader与Dataset有什么区别?
与数据库连接
DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接。
Datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
处理数据速度
DataSet读取、处理速度较慢。
DataReader读取、处理速度较快。
更新数据库
在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。
在对DataReader中的数据进行更新后,没有办法进行数据库更新。
支持分页排序
在DataSet中支持分页、动态排序等操作。
在DataReader中没有分页、动态排序的功能。
占用内存
DataSet在 IIS 服务器上所使用的内存较多。
DataReader在 IIS 服务器上所使用的内存较少。
7.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session.Cookie.Application,您有几种方法进行处理?
1.QueryString ,2.使用Server.Transfer,3.使用Cache
4.使用数据库,5.使用文件
8.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
一般来讲就是三层,UI,DAL,BLL 主要是讲业务逻辑和表现逻辑分开,各司其职,分三层是为了使项目架构体系更加清晰,而且项目参与人员的分工也可以更加明确,也有利于项目后期维护,这些都是分层的优点。
9.软件开发过程一般有几个阶段?每个阶段的作用?
一般的话一个软件的开发过程主要有五个阶段:
1.问题的定义及规划--确定开发的目的以及可行性
2.需求分析--对软件需要实现的各个功能进行详细需求分析
3.软件设计--需要根据需求分析的结果,对整个软件系统进行设计,框架,数
据库等
4.程序编码--将设计转化成代码
5.软件测试--分为单元测试、组装测试、系统测试三个阶段进行
10.微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
Data Access Application Block:
1.对数据库访问提供了简单、高效的访问方式
减少编写重复累赘代码去执行标准的数据访问任务
易于使用,使用单条语句即可完成Stored Procedure的调用
屏蔽了对常用ADO.NET使用的复杂度,提供了基于最佳实践, 正确快速使用接口
2.对不同类型的数据库(SQLServer/Oracle/DB2)提供了编程上的透明性
为不同数据库类型提供了统一的编程。
当移植应用程序到不同数据库类型时,减少重写代码的数量
3.搭起了逻辑数据库与物理数据库间的桥梁,降低改变物理数据目标的难度
4.增强了数据库联接串的安全性
5.容易对数据库访问的配置信息进行调整和验证
11.请列举一些您用到过的设计模式以及在什么情况下使用该模式?
1.单例模式:全局配置、唯一资源,当一个类非常消耗系统资源的时候,而且这些资源可以全局共享的时候,就应该设计成singleton模式
//申明一个静态的变量,类型为类本身
//将类的构造函数私有化,使得这个类不可以被外界创建
//提供静态的方法,创建类的实例
2.工厂模式:
3.策略模式:
12.您对WebService的体会?
WebService主要用来给客户端提供数据服务,因此WebService是沟通客户端BLL业务逻辑层和数据库的桥梁
主要通过XML来返回想要得到的结果,即:XML格式的数据
13.通过超链接怎样传递中文参数?
Server.UrlEncode("中文");--进行转换
C#面试题目整理(一)的更多相关文章
- C++常见的面试题目整理
本文列出C++面试中经常遇到的一些问题,都是一些常见的面试考点,如果后续遇到其他常见面试问题还会再次更新.希望对近期参加面试的同学有一些帮助.先后顺序与问题的重要性无关,查看的时候,最好是全面了解一下 ...
- 【Android进阶】Android面试题目整理与讲解(一)
这一篇文章专门整理一下研究过的Android面试题,内容会随着学习不断的增加,如果答案有错误,希望大家可以指正 1.简述Activity的生命周期 当Activity开始启动的时候,首先调用onCre ...
- 【转载】最全的面试题目整理(HTML+CSS部分)
转载自 知乎 @西点王子 https://www.zhihu.com/people/F211/answers 1. 常用那几种浏览器测试?有哪些内核(Layout Engine)? (Q1) 浏览器: ...
- ES6高频面试题目整理
本篇文章是根据以下内容进行的总结 1.https://segmentfault.com/a/1190000011344301 2.http://www.bslxx.com/a/mianshiti/ti ...
- Android面试题目整理与解说(一)
这一篇文章专门整理一下研究过的Android面试题,内容会随着学习不断的添加,假设答案有错误,希望大家能够指正 1.简述Activity的生命周期 当Activity開始启动的时候,首先调用onCre ...
- 【Java基础】Java面试题目整理与解说(二)
1.Collection 和 Collections 的差别. Collection 是集合类的上级接口,继承于他的接口主要有 Set 和 List. Collections 是针对集合类的一个帮助类 ...
- 【Android进阶】Android面试题目整理与讲解(二)
1. ArrayList,Vector, LinkedList 的存储性能和特性 ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们 ...
- Android面试题目整理与解说(二)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/bz419927089/article/details/31386787 1.Dalvik和标准Jav ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
随机推荐
- Gradle——创建简单的项目
项目 & 任务 Gradle 的一切都是基于项目和任务的. 构建由一个或多个项目组成.项目的概念很抽象,它取决于你要用Gradle 做什么 .项目可以是 一个 Jar 库或者一个 web 程序 ...
- 几图理解BeautifulSoup
- 【Python3爬虫】快就完事了--使用Celery加速你的爬虫
一.写在前面 在上一篇博客中提到过对于网络爬虫这种包含大量网络请求的任务,是可以用Celery来做到加速爬取的,那么,这一篇博客就要具体说一下怎么用Celery来对我们的爬虫进行一个加速! 二.知识补 ...
- Flink的Job启动Driver端(源码分析)
整个Flink的Job启动是通过在Driver端通过用户的Envirement的execute()方法将用户的算子转化成StreamGraph,然后得到JobGraph通过远程RPC将这个JobGra ...
- python 19 包
目录 1. 包 2. logging 日志 2.1 日志级别 2.2 配置日志格式: 2.3 logger 对象配置 1. 包 文件夹下具有__init__.py文件就是一个包 from bake.c ...
- Unity之SDK接入(OPPO)
简介:首先介绍一下,为什么博主要选择OPPO的SDK接入呢,因为OPPO的SDK接入是目前博主发现最简单的SDK.所以,博主选择OPPO,带领大家接SDK从入门到精通 工作准备: 1.环境配置(SDK ...
- 基本图像操作和处理(python)
基本图像操作和处理(python) PIL提供了通用的图像处理功能,以及大量的基本图像操作,如图像缩放.裁剪.旋转.颜色转换等. Matplotlib提供了强大的绘图功能,其下的pylab/pyplo ...
- 2019nc#2
A Eddy Walker 题意 你有n个点(0-n-1),按顺序形成一个环,初始时你在0的位子,你随机顺时针走一步或者逆时针走一步, 一旦你走到一个点后,环上所有点都被经过至少一次后,你就必须停下来 ...
- 18年ACM赛后总结
今天,我们浙理养老队在18年赛季的比赛正式宣布结束了,先恭喜我们队在3场区域赛中拿了两块金牌,一块银牌,损失我的身份证我的U盘我的耳机,老天啊,队友不是拿来顶替自己的霉运的嘛,让他们的丢东西啊,别让我 ...
- 「每日五分钟,玩转JVM」:对象内存布局
概览 一个对象根据不同情况可以被划分成两种情况,当对象是一个非数组对象的时候,对象头,实例数据,对齐填充在内存中三分天下,而数组对象中在对象头中多了一个用于描述数组对象长度的部分 对象头 对象头分为两 ...