C#公司笔试题


Posted in 面试题 onMarch 28, 2014
一.填空题
1.c#中的三元运算符是__?:___?
2.当整数a赋值给一个object对象时,整数a将会被__装箱(封装)___?
3.类成员有_____种可访问形式? (public,private,protected,internal)
4.public static const int A=1;这段代码有错误么?是什么? const不能用static修饰
5.float f=-123.567F;
int i=(int)f;
i的值现在是_____?
答:123
6.利用operator声明且仅声明了“==”,有什么错误么?
答: 还要声明“!=”
7.委托声明的关键字是______?
答:delegate
8.用sealed修饰的类有什么特点?
答:密封,不能继承
9.在Asp.net中所有的自定义用户控件都必须继承自________?
答:Control
10.在.Net中所有可序列化的类都被标记为__ serializable __?
11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?垃圾回收器
12.下面的代码中有什么错误吗?_______
using System;
class A
{
public virtual void F(){
Console.WriteLine(“A.F”);
}
}
abstract class B:A
{
public abstract override void F(); // new public abstract void F();
}

13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___不可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。
14.下面这段代码有错误么?
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault; //错误
CaseTwo();
break;
}
15.在.Net中,类System.Web.UI.Page 可以被继承么?可以

二.简答题
1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
答:1). using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间。
2).using别名。using + 别名 = 包括详细命名空间信息的具体的类型。当一个cs引用多个命名空间时,而有相同的类型时可以这样做。比如namespace1 和namespace2下面都有myClass类时,可以using class1 = namespace1.myClass;using class2 = namespace2.myClass。
3).using语句,定义一个范围,在范围结束时处理对象。
(1)new 运算符
用于创建对象和调用构造函数。
(2)new 修饰符
用于向基类成员隐藏继承成员。
(3)new 约束
用于在泛型声明中约束可能用作类型参数的参数的类型。

4.谈谈类和结构的区别?
答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。
结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。
如何选择使用结构还是类:
1).堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
2).结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
3).在表现抽象和多级别的对象层次时,类是最好的选择
4).大多数情况下该类型只是一些数据时,结构是最佳的选择
5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程序来实现。
答: using System.Text;
StringBuilder sb = new StringBuilder(0, 10000);
string strABC = “a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z”;
string[] ABC = strABC.Split(‘,’);
int len = ABC.Length;
Random rd = new Random();
for (int i = 0; i {
sb.Append(ABC[rd.Next(len)]);
}
6.对于这样的一个枚举类型:
enum Color:byte{
Red,
Green,
Blue,
Orange
}
试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
答:string[] ss=Enum.GetNames(typeof(Color));
byte[] bb=Enum.GetValues(typeof(Color));
7.您了解设计模式么?请列出您所知道的设计模式的名称。 //
答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。
一个模式的四个基本要素
1. 模式名称(pattern name)
一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了我们的设计词汇。设计模式允许我们在较高的抽象层次上进行设计。基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文档时使用它们。模式名可以帮助我们思考,便于我们与其他人交流设计思想及设计结果。找到恰当的模式名也是我们设计模式编目工作的难点之一。
2. 问题(problem)

描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。
3. 解决方案(solution)
描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
4. 效果(consequences)
描述了模式应用的效果及使用模式应权衡的问题。尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。

MVC,factory,singleton

8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?
答:parent表(字段:pid,pname),child表(字段:cid,cname,pid)
递归
9.什么叫做SQL注入,如何防止?请举例说明。
答:利用sql关键字对网站进行攻击。过滤关键字’等
10.下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine(“Equal”);
else
Console.WriteLine(“Not Equal”);
答:不相等,因为比较的是对象

Tags in this post...

面试题 相关文章推荐
如何用PHP实现邮件发送
Dec 26 面试题
纬创Java面试题笔试题
Oct 02 面试题
static全局变量与普通的全局变量有什么区别
May 27 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 面试题
武汉东之林科技有限公司机试
Sep 17 面试题
.NET remoting的两种通道是什么
May 31 面试题
软件测试题目
Feb 27 面试题
Ajax主要包含了哪些技术
Jun 12 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
Mar 16 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
Apr 24 面试题
J2EE包括哪些技术
Nov 25 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
Oct 13 面试题
南京某公司笔试题
Jan 27 #面试题
C#笔试题和英文面试题
Feb 07 #面试题
非常详细的C#面试题集
Jul 13 #面试题
介绍一下MD5加密算法
Nov 12 #面试题
介绍一下常见的木马种类
Nov 15 #面试题
局域网标准
Sep 10 #面试题
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
Jul 26 #面试题
You might like
PHP中的表达式简述
2016/05/29 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
addRule在firefox下的兼容写法
2006/11/30 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
教你用十行node.js代码读取docx的文本
2017/03/08 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
python脚本设置系统时间的两种方法
2016/02/21 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
新闻编辑自荐信
2013/11/03 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
建议书怎么写
2014/03/12 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
故意杀人案辩护词
2015/05/21 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
为Java项目添加Redis缓存的方法
2021/05/18 Redis