北京RT科技有限公司.net工程师面试题


Posted in 面试题 onFebruary 15, 2013
1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 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.谈谈类和结构的区别?类是引用类型、结构是值类型
答:
结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:

尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。

结构不能声明默认构造函数(没有参数的构造函数)或析构函数。

结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。结构不能从类或其他结构继承。

结构是值类型 — 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识 — 具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自 ValueType,后者继承自 Object。

编译器可以在一个称为装箱的过程中将值类型转换为引用类型。

结构具有以下特点:

结构是值类型,而类是引用类型。

向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。

与类不同,结构的实例化可以不使用 new 运算符。

l 结构可以声明构造函数,但它们必须带参数。

一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。

结构可以实现接口。

在结构中初始化实例字段是错误的。

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”);
答:”Not Equal”。因为Object.ReferenceEquals比较的是实例是否相同。

Tags in this post...

面试题 相关文章推荐
Ibatis中如何提高SQL Map的性能
May 11 面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 面试题
函数指针的定义是什么
Aug 14 面试题
上海奥佳笔试题面试题
Nov 16 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
Jan 13 面试题
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
Jul 26 面试题
C#怎么让一个窗口居中显示?
Oct 20 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Jul 21 面试题
几个Linux面试题笔试题
Dec 01 面试题
某公司面试题
Mar 05 面试题
UML设计模式笔试题
Jun 07 面试题
2019史上最全Database工程师题库
Dec 06 #面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 #面试题
什么是聚集索引和非聚集索引
Jan 17 #面试题
Oracle中delete,truncate和drop的区别
May 05 #面试题
什么是唯一索引
Jul 05 #面试题
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
May 29 #面试题
介绍一下SQL中union,intersect和minus
Apr 05 #面试题
You might like
我用php+mysql写的留言本
2006/10/09 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
php分页函数示例代码分享
2014/02/24 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
动态加载iframe
2006/06/16 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
对python中list的五种查找方法说明
2020/07/13 Python
python mock测试的示例
2020/10/19 Python
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
四年的大学生生活自我评价
2013/12/09 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python