企业常见面试题

  委托可以把一个方法作为参数代入另一个方法。
 
委托可以理解为指向一个函数的引用。
 
是,是一种特殊的委托
 
 
5.override
与重载的区别
 

 

 
重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要
 
Override
是进行基类中函数的重写。实现多态。
 
 
6
.
如果在一个
B/S
结构的系统中需要传递变量值,但是又不能使用
Session

Cookie

Application
,您有几种方法进行处理?
 

 

 
1.
使用
QueryString,

....?id=1; response. Redirect()....
 
2.
使用
Server.Transfer
3.
使用
Cache 
4
使用
HttpContext

Item
属性
 
5.
使用文件
 
6.
使用数据库
 
 
7
.
请编程遍历页面上所有
TextBox
控件并给它赋值为
string.Empty

 
答:
 
foreach (System.Windows.Forms.Control control in this.Controls)

if (control is System.Windows.Forms.TextBox)

System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control 
 
tb.Text = String.Empty 
}
}
 
8.
请编程实现一个冒泡排序算法?
 
答:
 
int [] array = new int [*] 
int temp = 0  
for (int i = 0  i < array.Length - 1  i++)

for (int j = i + 1  j < array.Length  j++)

if (array[j] < array[i])

temp = array[i] 
array[i] = array[j] 
array[j] = temp 


}
 
9
.
描述一下
C#
中索引器的实现过程,
是否只能根据数字进行索引?
(
索引器是对属性的封装
,
具体查看
msdn)
 
答:不是。可以用任意类型。
 
 
10.
求以下表达式的值,写出您想到的一种或几种实现方法:
1-2+3-
4+……+m
 
答:
 
int Num = this.TextBox1.Text.ToString() 
int Sum = 0  
for (int i = 0  i < Num + 1  i++)

if((i%2) == 1)

Sum += i 
}
else

Sum = Sum - I 
}

System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine() 
 
11.

.net

B/S
结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这
样分层?
 
答:使用
MVC
模式分层
 
一般为
3

 
数据访问层,业务层,表示层。
 
数据访问层对数据库进行增删查改。
 
业务层一般分为二层,
业务表视层实现与表示层的沟通,
业务规则层实现用户密码的安全等。
 
表示层为了与用户交互例如用户添加表单。
 
优点:分工明确,条理清晰,易于调试,而且具有可扩展性。
 
缺点:增加成本。
 
 
12.
在下面的例子里
 
using System;
class A

public A()

PrintFields();

public virtual void PrintFields(){} 

class B:A

int x=1;
int y;
public B()

y=-1;

public override void PrintFields()
 

Console.WriteLine("x={0},y={1}",x,y);
 
}

当使用
new B()
创建
B
的实例时,产生什么输出?
 
答:
X=1,Y=0;x= 1 y = -1 


B
类中的
PrintFields()
未用
override
关键字实现重写的时候,创建
B
的实例时:
 
X=1

Y = -1
 
 
13
.
什么叫应用程序域?
 
答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。
 
 
14.CTS

CLS

CLR
分别作何解释?
 
答:
CTS
:通用类型系统。
CLS
:公共语言规范。
CLR
:公共语言运行库。
 
 
15.
什么是装箱和拆箱?
 
答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。
 
 
16
.
什么是受管制
(
托管
)
的代码?
 
答:
 
托管代码是运行
.NET
公共语言运行时
CLR
的代码
 
unsafe
:非托管代码。不经过
CLR
运行。程序员自行分配和释放内存空间
 
 
17
.
什么是强命名程序集?
 
答:程序集需要经过加密签名
,
强命名程序集可以部署到全局程序集缓存中
,
成为公共程序集
 
 
18..net
中读写数据库需要用到那些类?他们的作用?
 
答:
 
DataSet:
数据集。
 
DataCommand:
执行语句命令。
 
DataAdapter:
数据的集合,用语填充。
 
DataReader:
数据只读器
 
 
19
.ASP.net
的身份验证方式有哪些?分别是什么原理?
 
答:
 
 
Windows(
默认
)

IIS
控制
 
 
From(
窗体
)
用帐户
 
 
Passport(
密钥
)
 
20
.
什么是
Code-Behind
技术?
 
答:代码后置。
 
 
21
.

.net
中,配件的意思是?
 
答:程序集。
(中间语言,源数据,资源,装配清单)
 
 
22
.
常用的调用
WebService
的方法有哪些?
 
答:
1.
使用
WSDL.exe
命令行工具。
 
2.
使用
VS.NET
中的
Add Web Reference
菜单选项
 
 
23
..net Remoting
的工作原理是什么?
 
答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。
 
 
24.

C
#中,
string str = null

string str = “”
请尽量使用文字或图象说明其中的区别。
 
答:
string str = null
是不给他分配内存空间
,

string str = ""
给它分配长度为空字符串的内
存空间。
 
 
25.
请详述在
dotnet
中类
(class)
与结构
(struct)
的异同?
 
答:
class
可以被实例化
,
属于引用类型
,class
可以实现接口和单继承其他类
,
还可以作为基类

,
是分配在内存的堆上的
 
struct
属于值类型
,
不能作为基类型
,
但是可以实现接口
,
是分配在内存的栈上的
.
 
26.
根据委托
(delegate)
的知识,请完成以下用户控件中代码片段的填写:
 
namespace test
 
{
 
public delegate void OnDBOperate();
 
public class UserControlBase : System.Windows.Forms.UserControl
 

public event OnDBOperate
 
OnNew; 
private void toolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
 
if(e.Button.Equals(BtnNew))
 
{
 
//
请在以下补齐代码用来调用
OnDBOperate
委托签名的
OnNew
事件。
 
}
 
}
 

答:
if( OnNew != null )
 
OnNew( this, e );
 
 
27.
分析以下代码,完成填空
 
string strTmp = "abcdefg
某某某
";
 
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
 
int j= strTmp.Length;
 
以上代码执行完后,
i= j=
 
答:
i=13,j=10
 
 
28
.Sql
Server
服务器中,给定表
table1
中有两个字段
ID

LastUpdateDate

ID
表示更新
的事务号,
LastUpdateDate
表示更新时的服务器时间,
请使用一句
SQL
语句获得最后更新
的事务号
 
答:
Select
ID
FROM
table1
Where
LastUpdateDate
=
(Select
MAX(LastUpdateDate)
FROM
table1)
 
 
29.
根据线程安全的相关知识,分析以下代码,当调用
test
方法时
i>10
时是否会引起死锁
?
并简要说明理由。
 
public void test(int i)
 
{
 
lock(this)
 
{
 
if (i>10)
 
{
 
i--;
 
test(i);
 
 
 
}
 
 
 
 
}
 

答:不会发生死锁,
(但有一点
int
是按值传递的,所以每次改变的都只是一个副本,因此
不会出现死锁。但如果把
int
换做一个
object
,那么死锁会发生)
 
 
30
.
简要谈一下您对微软
.NET
构架下
remoting

webservice
两项技术的理解以及实际中的
应用。
 
答:
webservice
主要是可利用
HTTP
,穿透防火墙。
 
Remoting
可以利用
TCP/IP
,二进制传送提高效率。
 
 
31.
公司要求开发一个继承
System.Windows.Forms.ListView
类的组件,要求达到以下的特
殊功能:点击
ListView
各列列头时,能按照点击列的每行值进行重排视图中的所有行
(
排序
的方式如
DataGrid
相似
)
。根据您的知识,请简要谈一下您的思路
 
答:根据点击的列头
,
把该列的
ID
取出
,
按照该
ID
排序后
,
在给绑定到
ListView
中。
 
 
32.
给定以下
XML
文件,完成算法流程图。 
<
FileSystem
>
 <
DriverC
>
 

 

 

 

 

 

诺亚平台   http://user.qzone.qq.com/2402026087

诺亚注册   http://user.qzone.qq.com/1809501015

posted on 2015-03-15 14:12  俺_在路上  阅读(125)  评论(0编辑  收藏  举报

导航