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面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
随机推荐
- Homebrew 安装 Docker Desktop for Mac
无意中发现Homebrew现在已经支持Docker Desktop for Mac了,因此特意把原来通过 https://docs.docker.com/docker-for-mac/install/ ...
- 操作MySQL-数据库的安装及Pycharm模块的导入
操作MySQL-数据库的安装及Pycharm模块的导入 1.基于pyCharm开发环境,在CMD控制台输入依次输入以下步骤: (1)pip3 install PyMySQL < 安装 PyMy ...
- GIT和SVN教程
各种版本控制工具的简单比较 特性 CVS SVN GIT 并发修改 支持 支持 支持 并发提交 不支持 支持 支持 历史轨迹 不支持更名 支持更名 支持更名 分布式 不支持 不支持 支持 SVN SV ...
- 使用synchronized获取互斥锁的几点说明
在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确 ...
- Leetcode之二分法专题-367. 有效的完全平方数(Valid Perfect Square)
Leetcode之二分法专题-367. 有效的完全平方数(Valid Perfect Square) 给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 ...
- mysql安装-yum方式
1.环境 查看当前系统环境,使用的是 centos release 6.5 (Final). 2.检查当前系统是否已经安装过mysql rpm -qa | grep mysql 3.如果有,那么删除已 ...
- Android定时锁屏功能实现(AlarmManager定时部分)
菜鸟入坑记——第一篇 关键字:AlarmManager 一.AlarmManager简介: 参考网址:https://www.jianshu.com/p/8a2ce9d02640 参考网 ...
- Java发送邮件必带超时时间配置
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在线上遇到了一个发送邮件的问题,记录一下. 一.先说 ...
- P3119 [USACO15JAN]草鉴定Grass Cownoisseur 分层图或者跑两次最长路
https://www.luogu.org/problemnew/show/P3119 题意 有一个有向图,允许最多走一次逆向的路,问从1再走回1,最多能经过几个点. 思路 (一)首先先缩点.自己在缩 ...
- lightoj 1057 - Collecting Gold(状压dp)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1057 题解:看似有点下记忆话搜索但是由于他是能走8个方向的也就是说两点的距离其 ...