北京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 面试题
介绍java中初始化块的使用
Sep 11 面试题
.NET方向面试题
Nov 20 面试题
什么是Assembly(程序集)
Sep 14 面试题
名词解释型面试题(主要是网络)
Dec 27 面试题
C# .NET面试题
Nov 28 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
Feb 10 面试题
EJB的基本架构
Sep 22 面试题
网友共享的几个面试题关于Java和Unix等方面的
Sep 08 面试题
一套中级Java程序员笔试题
Jan 14 面试题
Servlet面试题库
Jul 18 面试题
Delphi笔试题
Nov 14 面试题
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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
微信支付开发维权通知实例
2016/07/12 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python协程的用法和例子详解
2017/09/09 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
如何通过命令行进入python
2020/07/06 Python
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
高一历史教学反思
2014/01/13 职场文书
全国道德模范事迹
2014/02/01 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
挂职个人工作总结
2015/03/05 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏