北京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...

面试题 相关文章推荐
Yahoo-PHP面试题1
Jul 20 面试题
将一个文本文件的内容按倒序打印出来
Jan 05 面试题
天游软件面试
Nov 23 面试题
什么是表空间(tablespace)和系统表空间(System tablespace)
Feb 25 面试题
什么是触发器(trigger)? 触发器有什么作用?
Sep 18 面试题
北京一家公司的.net开发工程师笔试题
Apr 17 面试题
亿阳信通股份有限公司笔试题(C#)
Mar 04 面试题
某公司.Net方向面试题
Apr 24 面试题
linux面试题参考答案(8)
Apr 19 面试题
Linux管理员面试题 Linux admin interview questions
Nov 01 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
某公司面试题
Mar 05 面试题
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中的类-什么叫类
2006/11/20 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
thinkphp浏览历史功能实现方法
2014/10/29 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
python图像处理之镜像实现方法
2015/05/30 Python
Python 实现链表实例代码
2017/04/07 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
管理站站长岗位职责
2013/11/27 职场文书
给领导的致歉信范文
2014/01/13 职场文书
运动会广播稿60字
2014/01/15 职场文书
违反交通法规检讨书
2014/09/10 职场文书
计算机实训报告总结
2014/11/05 职场文书
小学教师年度个人总结
2015/02/05 职场文书
2015年女工委工作总结
2015/07/27 职场文书
导游词之日月潭
2019/11/05 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python