面试题

.

1.面向对象的思想主要包括什么?

2.什么是ASP.net中的用户控件

3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

4.列举一下你所了解的XML技术及其应用

5.值类型和引用类型的区别?写出C#的样例代码。

6.ADO.net中常用的对象有哪些?分别描述一下。

7.如何理解委托?

8.C#中的接口和类有什么异同。

9.。net中读写数据库需要用到哪些类?他们的作用

10.UDP连接和TCP连接的异同。

11.ASP.net的身份验证方式有哪些?分别是什么原理?

12.进程和线程分别怎么理解?

13.什么是code-Behind技术。

15..net中读写XML的类都归属于哪些命名空间?

18.如何部署一个ASP.net页面。

20.常用的调用webservice方法有哪些?

答案:

1 继承 多态 封装 (一直看一直都忘掉)

2 用户控件就是.ascx,复合控件就是.DLL

3 一个进程可以有N个DOMAIN,一个DOMAIN可以有N个程序集,他主要功用是分割程序的,受管枝代码就是有CLR公共语言运行时控制的代码!这样的代码是类型安全的,强类型就是有类型约束的比如说强类型DATASET,装箱就是把值类型装成引用类型,拆箱反之,重载在同一个类中相同方法名不同参数,CLR是公共语言运行时,CTS是通用类型系统, CLS

4.XML用的地方太多了如果非要说一个就说WEBSERVICE或AJAX这些东西火!说了老板开心  

5.值类型存在内存栈里面,引用类型存在内存堆里面,

6.ADO.NET里面的对象海了去了这里就说SQL系列的(OLEDB和ODBC系列不说了)SQLCONNECTION,SQLCOMMAND,SQLADAPTER,SQLPARAMETER,DATASET也算一个,至于用法地球人都知道7.委托的正确理解就是函数指针
8. 接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。9.和6差不多自己分析

10.UDP是无连接状态的,TCP是有状态的这个才是他们的根本区别,也就是说TCP比UDP可靠

11.ASP.NET验证有WINDOWS严整,FORM验证,PASSPORT验证,WINDOWS一般在做企业内部OA的时候用的多一些,FORM一般是做网站用的多他是采用COOKIE机制来实现的,PASSPORT是微软提供的一个WEBSERVICE
12.进程就是一个程序实例,而线程可以理解为功能实例!也就是说进程包含线程
13.代码后制!地球人都知道!.ASPX页面其实是个继承与.CS文件类的类
15.SYSTEM.XML和SYSTEM.DATA
18.XCOPY
20.WEBSERVICE可以在服务端使用.NET调,也可以使用JAVASCRIPT调,也可以通过HTTP直接调用!

:

1、 什么是装箱和拆箱
2、什么是重载
3、堆和栈的区别
4、按位逻辑操作符(&,|)与逻辑操作符(&&,||)的区别
5、几种判断空字符串的方法和特点
6、两位年度+两位固定编号(DI)+五位流水号1~10000。生成[文档编号]如:06DI00035
7、将int数显示为大写。如:[206]显示为[二零六]
8、231.6572四舍五入到小数点后2位
9、取得从2000年到现在的秒数总计
10、将int[24]数组a1中的第6个起的10元素复制到int[24]数组a2中
11、类A中定义:
private string teststr="test";
protected string testit(){return teststr;}
如果C从B中派生,而B从A中派生,则代码string s=new C
().testit();后的值会是test?为什么?
12、GB2312编码字串转为BIG5码
13、web开发中,根据url:Test.aspx?F=A或B中参数F的值决定转到A.aspx或B.aspx页面的方法。还有其他方法吗?
14、描述asp.net中的Web.config文件并举一个你知道的例子和使用方法 
19、书写只有一个web方法void test()的webservice
20、d:\x.xml的内容
<?xml version="1.0" encodin="utf-8"?>
<root>
  <test></test>
  <test type="t" value="v"></test>
</root>
c#代码访问'v'的代码
21、书写代码:web页面test.aspx中点击按钮[确定],然后提示信息“是否继续”点[是]则执行test.aspx.cs中定义的方法void testit()
22、Datagrid中某列中有超链接,点击后打开新窗口test.aspx?id=x的方法(x是数据源中的列[tid]的值)
23、Datagrid分页事例
24、创建存储在test.dll中的构造方法为public TestClass(){}类TestClass的实例
25、描述你认为良好的web多层结构
26、书写用户控件TestCtl,要求有属性A和事件void B()
27、aspx和aspx.cs和aspx.resx的关系。工作原理
28、按处理的先后顺序写出你所知道的web窗体中的方法和事件
29、描述数据库中的主键和外键的含义
30、描述数据库中为表创建索引的含义
31、描述你对.net framework2.0中范型(generic)的认识和事例
32、描述你对.net framework2.0中partial关键字的认识和事例
33、描述你对.net framework2.0中匿名方法(anonymous methods)的认识和事例
34、web页面中常用的图片类型和特点
35、用css控制一个html标签<p class="test">test</p>的字体的大小,如果想让此标签在页面中隐藏的方法
36、如果开发是要用到你不了解的类System.Resources.ResourceWriter描述一个你寻求帮助的途径
37、枚举几个你常去的获取.net c#等相关知识和技能的网站url
38、从以下名词中任选一个简单描述
OA\ERP\MIS\MRP\HR\CRM\KM名词:使用范围;枚举几个功能模块

 

答案:

1装箱是:容许将值类型作为引用类型(比如:对象)进行处理的过程,而拆箱是允许将引用作为值类型的进行处理的过程.
比如:
int num=100;
object obj=num;
Console.WriteLine("对象的值={0}",obj);
int变量 num 的值被负给object的变量obj.将值类型转换为引用类型就叫装相.

int num=100;
object obj=num;
int num=(int)obj;
Console.WriteLine("num:{0}",num);
将num的值副给obj对象时,不需要进行显示装相,系统将自动装箱.

2 同名的函数可以被重定义,但只要参数类型不同就行
比如:定义了一个函数 int myfunc(int i)
在同一个程序种还可以再以函数名为myfunc()来定义
比如定义为 long myfunc(long i,long j)
总之所谓函数重载也就是同命函数被定义多次,但其参数不同!

.

1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.

2.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.请附code

3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?

4..Net中读写数据库需要用到哪些类?他们的作用

5.ASP.net的身份验证方式有哪些?分别是什么原理?

2.net的错误处理机制是什么

.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。

 

7.常用的调用webservice方法有哪些?

8.讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)

9.C#可否对内存进行直接的操作?(这可是个难点哦?要注意!),如果能,如何操作;如果不能,为什么?

10.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

.

2.了解程序集强签名吗?

3.C#中接口和类有什么区别?

4. View State 的作用和实现方式?

5.在ASP.net中可以利用哪些对象存储状态?几种维持状态的对象应用场合以及优缺点?

6.简单说说 ASP.NET 中基于表单的身份验证方式的用法

7.是否了解 URL Rewrite?请简要说明其原理和在 ASP.NET 中的实现方式。

8.在超过10万条记录的页面显示时,你如何处理分页,有多少种替代方案?

9. DataReader和DataSet的异同

DataReaderDataSet的异同

DataReader用于读取数据,DataSet用于在内存中保存数据。

DataReaderDataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,,数据.对数据库进行回传更新操作...

10.你会利用那些工具进行数据库的性能分析及其优化?说说你觉得优化数据库需要注意的方面。比如:如何设计优化查询为主、插入更新为主的表。

11.数据库某表主键自增,是很常见的情形。在ASP. Net或C#程序中,要求向该表插入一条记录,并马上从该表查出这条记录。不能使用时间戳,请问你如何实现?

12. Xhtml 的三种 DOCTYPE 分别有啥意义?请说明。简单说明各个情况下,那些标签可用,那些不可用。

13.请列举说明XHtml代码规范,越多越好。

14.客户端与浏览器:如果让你做一个TreeView控件,你的思路。

15.谈谈论坛,聊天室,IM,和各种网站程序的交互与刷新思路的差异与共同点。

16.请谈谈对WSE(Web Services Enhancements) 的认识。

17.你用过哪些版本控制工具

18.在开发中你利用那些工具进行单元测试和模块测试

19.如何进行Bug管理

20.如何生成和管理开发文档

21.请用代码简单描述一下Singleton、抽象工厂、Bridge、Composite(任选三个)的设计模式的概念。

22.如果你是一位软件架构师,您将如何去搭建一个符合n-tie的架构?并请描述一下您搭建的每一层的作用。(注意:请您考虑项目中有WebService的情况)

23.就数据结构或算法某一话题谈一下自己看法,如链表,二叉树,递归,分治等任选其一。

24.谈一下假设如果让你做一个特殊的数据结构体,比如网络对弈中国象棋,如何组织数据结构,描述棋盘,行棋步骤,进行存储和传递?

25、可否简要的介绍asp.net 2.0 Membership,WebPart和C#的匿名函数和泛型等你认为.net 2.0自己感兴趣的内容,希望可以简要地阐述其中的特点。

26、你如何学习新知识?有哪些站点或者资源你认为值得推荐?

27、你最近在做哪些工作,或者你在对哪个技术感兴趣,请描述其中数项你觉得很有心得的内容。可以是以下项:

a)介绍自己最近正在深入研究的技术心的、自己写的小程序的心得等等

b)自己最近参与的项目中涉及到的各种技术,软件管理方法等等的心得。

28、期望的工资待遇与前景,目前的住所,人际关系等。以前的经历,和以后的打算,比如:30岁程序员的话题。

.

一、.Net Framework部分*
1. 装箱、拆箱操作发生在: (    )
A.类与对象之间      B.对象与对象之间
C.引用类型与值类型之间   D.引用类型与引用类型之间
2. 用户类若想支持Foreach语句需要实现的接口是: (    )
A.IEnumerable   B.IEnumerator
C.ICollection   D.ICollectData
3. .Net Framework通过什么与COM组件进行交互操作?(    )
A.Side By Side   B.Web Service
C.Interop    D.PInvoke
4. .Net依靠以下哪一项技术解决COM存在的Dll Hell问题的?(    )
A.Side By Side   B.Interop
C.PInvoke    D.COM+
5. 装箱与拆箱操作是否是互逆的操作?(    )
A.是     B.否
6. 以下哪个是可以变长的数组?(    )
A.Array    B.string[]
C.string[N]   D.ArrayList
7. 用户自定义异常类需要从以下哪个类继承:(    )
A.Exception     B.CustomException
C.ApplicationException  D.BaseException
8. 以下代码段中能否编译通过?请给出理由。
try
{
}
catch(FileNotFoundException e1)
{
}
catch(Exception e2)
{
}
catch(IOException e3)
{
}
catch
{
}

9. 对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) (        )
A.Close   B.Dispose   C.Finalize
D.using   E.Quit
10. .Net依赖以下哪项技术实现跨语言互用性?(    )
A.CLR   B.CTS   C.CLS   D.CTT
11. 请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)


12. 以下哪个类是int的基类?(    )
A.Int32  B.Object  C.valueType  D.Int16

二、C# 部分*
13. 以下哪些可以作为接口成员?(多选) (        )
A.方法  B.属性  C.字段  D.事件  E.索引器
F.构造函数  G.析构函数
14. 以下关于ref和out的描述哪些项是正确的?(多选) (        )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
15. “访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?(     )
A.public B.protected  C.internal  D.protected internal
16. class Class1
{
    private static int count = 0;
    static Class1()
    {
        count++;
    }
    public Class1()
    {
        count++;
    }
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.Count的值是多少?(    )
A.1   B.2   C.3   D.4
17. abstract class BaseClass
{
    public virtual void MethodA()
    {
    }
    public virtual void MethodB()
    {
    }
}
class Class1: BaseClass
{
    public void MethodA(string arg)
    {
    }
    public override void MethodB()
    {
    }
}
class Class2: Class1
{
    new public void MethodB()
    {
    }
}
class MainClass
{
    public static void Main(string[] args)
    {
        Class2 o = new Class2();
        Console.WriteLine(o.MethodA());
    }
}
请问,o.MethodA调用的是: (    )
A.BaseClass.MethodA   B.Class2.MethodA
C.Class1.MethodA    D.都不是
18. 请叙述属性与索引器的区别。

19. 请叙述const与readonly的区别。


20. 请叙述类与结构的区别。


三、ASP.NET & ADO.NET部分*
21. 您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。
所有的用户都存在于AllWin这个域中。
您想要使用下列认证规则来配置这个应用程序:
• 匿名用户不允许访问这个应用程序。
• 所有雇员除了Tess和King都允许访问这个应用程序。
请问您应该使用以下哪一个代码段来配置这个应用程序?(    )
A.  <authorization>
<deny users=”allwin\tess, allwin\king”>
<allow users=”*”>
<deny users=”?”>
</authorization>
B.  <authorization>
<allow users=”*”>
<deny users=”allwin\tess, allwin\king”>
<deny users=”?”>
</authorization>
C.  <authorization>
<deny users=”allwin\tess, allwin\king”>
<deny users=”?”>
<allow users=”*”>
</authorization>
D.  <authorization>
<allow users=”allwin\tess, allwin\king”>
<allow users=”*”>
</authorization>
E. <authorization>
<allow users=”*”>
<deny users=”allwin\tess, allwin\king”>
</authorization>
22. 您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做?(    )
A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。
B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。 
C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。
D. 重写OnLayout事件,当Grid的Footer行被创建时显示合计数。
23. 您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)(     )
A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
B.在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。
E.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET 代码错误。
F. 在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET HTTP错误。
24. 您的公司有一个DB Server,名为AllWin,其上装了MS SQLSERVER 2000。现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?(    )
A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;
Integrated Security=SSPI”
B. “Server= AllWin;Data Source=PubBase;Database=Test;
Integrated Security= SSPI”
C. “Data Source= AllWin \PubBase;Initial Category=PubBase;
Integrated Security= SSPI”
D. “Data Source= AllWin \ PubBase;Database=Test;
Integrated Security= SSPI”
25. 您为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个
Xml Web Service。这个Xml Web Service将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个Xml Web Service?(    )
A.在“引用”对话框的.Net标签中选择System.Web.Services.dll。
B.在“Web引用”对话框中输入这个XML Web service的地址。
C.在您的Global.asax.cs中添加一条using语句并指定这个XML Web service的地址。
D.在您的Global.asax.cs中写一个事件处理器导入这个Xml Web Service相应的.wsdl和.disco文件。
26. 您要创建一个ASP.NET应用程序在DataGrid控件中显示一个经过排序的列表。产品数据被存放于一个名为PubBase的Microsoft SQL Server 数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字母顺序排列的ProductName,请问该怎么做? (    )
A. 将SqlCommand对象的CommandType属性修改为CommandType.Text,将CommandText属性修改为”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后将这个DataTable对象绑定到DataGrid控件。
B. 创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设置为“ProductName DESC”。然后将这个DataView对象绑定到DataGrid控件。
C. 将DataGrid控件的AllowSorting属性设置为True,并将DataGridColumn的SortExpression属性设置为 “ProductName DESC”.以显示ProductName。然后将这个DataTable对象绑定到DataGrid控件。
D. 将DataTable对象的DisplayExpression属性设置为 “ORDER BY ProductName DESC”.。然后将这个DataTable对象绑定到DataGrid控件。

四、Xml部分
     <AAA> 
          <BBB id = "b1"/> 
          <BBB id = "b2"/> 
          <BBB name = "bbb"/> 
          <BBB/> 
          <CCC> 
               <DDD> 
                    <BBB/> 
                    <BBB/> 
               </DDD> 
          </CCC>      
</AAA>
27. 请写出获取上述Xml中全部没有属性的BBB元素的XPath。

28. 请写出获取上述Xml中所有含有2个子节点的元素的XPath。


五、javascript & DHtml部分*
<HTML>
<HEAD>
<TITLE>登录</TITLE>
<Script Language=”javascript”>
function CheckFom()
{}
</Script>
</HEAD>
<form  Method="POST" >
用户名:<input name="user_name" >
密  码:<input name="password" >
<input  type=button value="提交" onclick= CheckFom ()>
</form>
</HTML>
29. 请完成上面脚本区中的CheckForm函数。要求用户名、密码框不允许为空。

30. 您需要动态创建一个文本框,并且当此文本框获得焦点后弹出对话框,提示“Ok”。


六、逻辑推理部分*
31. 一人拿一张百元钞票到商店买了25元的东西,店主由于手头没有零钱,便拿这张百元钞票到隔壁的小摊贩那里换了100元零钱,并找回了那人75元钱。那人拿着25元的东西和75元零钱走了。过了一会儿,隔壁小摊贩找到店主,说刚才店主拿来换零的百元钞票为假币。店主仔细一看,果然是假钞。店主只好又找了一张真的百元钞票给小摊贩。
 
问:在整个过程中,店主一共亏了多少钱财?(不计商品利润)

 

 

六.
1 必答
1.1 A类题
1.1.1 Visual Studio.NET 有几个集成开发环境?
○ A.一个 ○ B.两个 ○ C.三个 ○ D.四个
1.1.2 我们称.NET编程架构是什么?
○ A..NET Framework ○ B.VS.NET ○ C.XML Web Service ○ D. 开发工具
1.1.3 以下那些标准是与Web Service相关的
○ A..SOAP ○ B. WSDL ○ C.UDDI ○ D. 以上都是
1.1.4 SOAP标准是谁来制定的?
○ A. Microsoft ○ B. W3C ○ C.IBM ○ D. SUN
1.1.5 Visual Studio.NET 会支持多少种开发语言?
○ A. 两种 ○ B. 三种 ○ C.四种 ○ D. 多种
1.1.6 ASP.NET 是用来开发何种应用的?
○ A. Windows应用 ○ B. .NET组件类 ○ C. Web应用 ○ D. 命令行应用程序
1.1.7 C#编译器将C#程序编译成什么样的代码?
A. 汇编语言代码
B. 机器语言代码
C. 微软中间语言代码
D. 二进制代码
答案:C
1.2 B 类题
1.2.1 所有的.NET基类库是用什么语言编写的?
○ A. C++ ○ B. C# ○ C. VB.NET ○ D. 汇编
1.2.2 什么语言提供了对XML注释的支持?
○ A. C++ ○ B. C# ○ C. VB.NET ○ D. Jscript
1.2.3 关于微软中间语言,下面什么说法错误的?
A. 它是解释执行的。
B. 在执行时,它被转化为机器代码。
C. 它是处理器无关的指令集。
D. 它允许真正的跨语言集成。

1.2.4 . ASP.NET比ASP相比较,下列哪个是不正确的?
A. 支持更多编程语言
B. 可以同时存在于一个应用程序里
C. 用户界面和代码分离,大大提高编程质量
D. 都支持页面级和应用程序级的跟踪调试
1.2.5 关于VB.NET,与C#(发音,C sharp)比较,下列哪项是不正确的?
A. 都是类型安全的编程语言。
B. 都支持自动垃圾收集。
C. 都是面向对象的语言。
D. VB.NET不支持API调用。

1.2.6 微软在VS.NET默认安装中提供了几种编程语言的开发环境?
A. 2种
B. 3种
C. 4种
D. 5种

 

.

第一,谈谈final, finally, finalize的区别。

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。:

第四,&和&&的区别。

第五,HashMap和Hashtable的区别。

第六,Collection 和 Collections的区别。      

第七,什么时候用assert。

第八,GC是什么? 为什么要有GC?

第九,String s = new String("xyz");创建了几个String Object?r.Nj5i g%h["H+^

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?矩兼职|面试|简历|职业发展|6~第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?)x7VU;O

第十二,sleep() 和 wait() 有什么区别?

第十三,Java有没有goto?

第十四,数组有没有length()这个方法? String有没有length()这个方法?

第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

第十七,给我一个你最常见到的runtime exception。.

第十八,error和exception有什么区别?

第十九,List, Set, Map是否继承自Collection接口?

第二十,abstract class和interface有什么区别? C(]

第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?矩阵求职论坛--招聘| 求职|实习|兼职|面试|简历|职业发展|vs8L7G']

第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

第二十三,启动一个线程是用run()还是start()?

第二十四,构造器Constructor是否可被override?

第二十五,是否可以继承String类?

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? o~ F

第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

第二十八,编程题: 用最有效率的方法算出2乘以8等於几?

第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

第三十二,编程题: 写一个Singleton出来。

.

1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。‑nRT v5E4];Ywww.isgoal.com
Xx|
]{2w`2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)
C:h+Jp'q

 

---

uy矩阵求职论坛--招聘| 求职|实习|兼职|面试|简历|职业发展|开发语言概念题
~Nvm{%f:v$Gl3.什么是反射? Q;w&Mte"|Y}q\
4.用Singleton如何写设计模式
zw8CZ9z_

 

---

F4zO!^%F'd6.什么是Application Pool? 矩阵求职论坛--招聘| 求职|实习|兼职|面试|简历|职业发展

7.链表和数组的区别,各有什么优缺点.$I­\Z)P2

8.Remoting在客户端服务器怎么实现 ? l3{%y3u,^        |(D
9.什么是友元函数?

 

---

U6k#JO
u:[0~p10.用标准C如何实现多态?
na2n4`6? ij9sNE11.什么是虚函数?
%l        }R[1][1]~xq­Q矩阵求职论坛--招聘| 求职|实习|兼职|面试|简历|职业发展|12.什么是抽象函数?
%c

 

---

e&l9C1q){X2^)W7d)f b6}
W%p

 

---

vK5A13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?
D

 

---

}&M%H#s
wJ2]0Az@.A3I英语题 0k[1][1]f
14.用英文介绍一下使用C#/C++做的项目,主要功能
#p a.~Byi

 

---

H}xA T{I!aR其它知识题及问题 G
 20.什么是Web Service?
N Cl%K5c6b

 

---

z8u,Wz/g21.什么是XML?
z&U9q
ZU
v_矩阵求职论坛--招聘| 求职|实习|兼职|面试|简历|职业发展|22.Socket怎么实现?

15.如果要与美国开电话会议,会如何与美国的工程师沟通

16.如果老板认为你的技术落后,你会怎么回答 

数据库知识题

17.使用什么工具来调用存储过程

18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点? 1M-s h

 19.触发器的作用

.

1.Params是什么含义?

Params是C#中的关键字,采用此关键字可以指定参数数目为可变; 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

如:

public int fConvert(params int[] iParas)

{

}

2. C#中有没有运算符重载?能否使用指针?

有,C#中也有运算符重载,如对运算符“+”进行重载;

C#中也可以使用指针,但要声明为unsafe。

3. C#中有很多类被定义为public有什么意义?

C#中很多类被定义为public 表示当前类的外部对于当前类的访问没有任何限制。

4. Internal修饰符有什么含义?

internal数据访问修饰符,表示对所修饰的成员在当前程序集内可以进行没有任何限制的访问;但在当前程序集外部则不能进行访问,其可访问性级别低于public ,高于protected。

5. JAVA的代码是半编译半解释的C#的代码是否也是这样

C#中对于程序代码的处理很类似于Java中的程序代码处理机制;也可以称作半编译半解释,具体为:所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器处理成为机器码,被解释及执行。

6. 私有程序集与共享程序集有什么区别?

一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。共享程序集通常存储在全局程序集缓存(Global Assembly Cache)之中,这是一个由.NET运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NET Framework类。

7. 请解释进程与线程的区别?进程与程序的区别?

一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在操作系统中的标识;而一个进程通常由多个线程组成,而线程是操作系统为该应用程序分配处理时间的最小单元。

8. CLR与IL分别是什么含义?

CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将直接与操作系统进行通信,而编程语言如C#.NET将尽量避免直接与操作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR就是具体的编程语言如:C#.NET与操作系统之间的翻译,同时它为具体的编程语言提供了许多资源:

· 面向对象的编程模型(继承、多态、异常处理和垃圾收集等)

· 安全模型

· 类型系统

· 所有.NET基类

· 许多.NET Framework类

· 开发、调试和评测(profiling)工具

· 执行和代码管理

· IL到本地代码(IL-to-native)转换器和优化器

IL,中间语言,也称MSIL,微软中间语言,或CIL,通用中间语言;所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器处理成为机器码,被解释及执行。

9. 对象能否调用静态方法

不能。对于类内部定义的静态变量及静态方法,该类的对象均不能调用。

10 .请解释ASP。NET中以什么方式进行数据验证

Aps.net 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另还有一个集中验证信息处理控件

11. WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。

在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件

自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到

务端

只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件

12. WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?

可以调用

例如:

 <>

runat="server" οnclick="clientfunction();">

13. 请解释web.config文件中的重要节点

appSettings包含自定义应用程序设置。

system.web 系统配置

compilation动态调试编译设置

customErrors自定义错误信息设置

authentication身份验证,此节设置应用程序的身份验证策略。

authorization授权, 此节设置应用程序的授权策略.

14. 请解释ASP。NET中的web页面与其隐藏类之间的关系?

一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下

Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件

Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类

15. 什么是viewstate,能否禁用?是否所用控件都可以禁用?

Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用

16. 当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决

很有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断

17. 请解释什么是上下文对象,在什么情况下要使用上下文对象

上下文对象是指HttpContext类的Current 属性,当我们在一个普通类中要访问内置对象(Response,Request,Session,Server,Appliction等)时就要以使用此对象

18. 请解释转发与跳转的区别?

转发就是服务端的跳转A页面提交数据到B页面,B页面进行处理然后从服务端跳转到其它页面

跳转就是指客户端的跳转

19. 请解释一下。NET多层应用程序中层与层之间以那几种方式进行数据传递。并解释你自己的项目中采用那种方式进行。

20.请解释这个正则表达式“[AB][TJG][1-3][QSW]\d{4}”

21.请以图示方式解释ADO。NET的对象模型。

22.请解释webService? 如何实现webService。

23.如果出现ASP。NET中的事件不能触发可能由于什么原因造成?请列举至少两个

24.如果需要在datagride控件中的某一列中添加下拉列表框并绑定数据怎么解决?

25. 对webService进行优劣评价。

26. string 和 stringBuider 有什么区别.为什么在.NET中 要同时存在.

27. 请解释接口,反射,委托.并按性能进行排序。

.

1.将手机号转化为由随机字母表示?
2.描述数据适配器中的多表查询?
3.调用存储过程及返回值的提取?
4.SQL中游标的定义?
5.ASP.NET中,用手工的形式对字段进行数据绑定及分页方法?
6.有一人事表,计算两个同时入职的员工的生日的差,用一句 SQL语句 将EGTB1中的结果变成EGTB2的结果?
Field_AField_BField_C
User12004-10-261981-01-01
User22004-10-261976-01-01
………

Field_B Name_1Name_2Field_4
2004-10-26User1User21825
…………

产品表                   销售计划表
ProductID 产品名 单价 ProductID 客户名  订货数量  销售单价
1 name1 110 2 m 2 250
2 name2 220 1 n 3 110
3 name3 330 3 n 1 300
4 name4 440   4 m 2 400

1.是否能删除产品表中的name2?请说明理由与过程。
2.将销售计划表中m客户的产品名为name2的销售单价更换为产品表中相应的单价
3.求销售计划表中各客户各自的销售总金额的sql语句
4.求客户中销售总量最大的销售总金额的客户的sql语句
5.什么是事务(transaction)?它有什么好处。
6.update table2...数据库为默认设置能不能开始事务?为什么。
7.B/S系统一般分为几层?请说明理由.
8.说说ADO.NET中几个数据库处理的核心对象。

Question 31. (单选)

  根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?

public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}

   1. 会锁死
   2. 不会锁死

Question 32. (单选)

  以下描述错误的是()

  1. 在C++中支持抽象类而在C#中不支持抽象类。
  2. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
  3. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
  4. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

Question 33. (单选)

  int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是()。

  1. 9
  2. 2
  3. 6
  4. 越界

Question 34. (单选)

  在C#中利用Socket进行网络通信编程的一般步骤是:建立Socket侦听、( )、利用Socket接收和发送数据。

  1. 建立Socket连接
  2. 获得端口号;
  3. 获得IP地址;
  4. 获得主机名;

Question 35. (单选)

  如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" ),则treeView1.Nodes.Add(node)返回的是一个 ()类型的值。

  1. TreeNode;
  2. int;
  3. string;
  4. TreeView;

Question 36. (单选)

  声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是

  1. void myCallBack(int x)
  2. int receive(int num)
  3. string receive(int x)
  4. 不确定的

Question 37. (单选)

  关于ASP.NET中的代码隐藏文件的描述正确的是

  1. Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件
  2. 项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件
  3. 项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件
  4. 以上都不正确

Question 38. (单选)

  What compiler switch creates an xml file from the xml comments in the files in an assembly?

  1. /text
  2. /doc
  3. /xml
  4. /help

Question 39. (单选)

  下面的代码实现了设计模式中的什么模式

  public class A {
  private A instance;
  private A() {
  }

  public static A Instance {
  get
  {
  if ( A == null )
  A = new A();
  return instance;
  }
  }
  }

   1. Factory
   2. Abstract Factory
   3. Singleton
   4. Builder

Question 40. (单选)

class Class1
{
public static int Count = 0;
static Class1()
{
Count++;
}
public Class1()
{
Count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();

  请问,Class1.Count的值是多少?( )

   1. 1
   2. 2
   3. 3
   4. 4

Question 41. (单选)

abstract class BaseClass
{
public virtual void MethodA()
{
Console.WriteLine("BaseClass");
}
public virtual void MethodB()
{
}
}
class Class1: BaseClass
{
public void MethodA()
{
Console.WriteLine("Class1");
}
public override void MethodB()
{
}
}
class Class2: Class1
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class2 o = new Class2();
o.MethodA();
}
}

  请问,此程序输出结果是:

   1. BaseClass
   2. BassClass Class1
   3. Class1
   4. Class1 BassClass

Question 42. (单选)

public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(int) o;
Console.WriteLine("i={0},o={1}, j={2}",i,o,j);
}

   1. i=2001,o=2000,j=2000
   2. i=2001,o=2001,,j=2001
   3. i=2000,o=2001,,j=2000
   4. i=2001,o=2000,j=2001

Question 43. (多选)

  您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)

   1. 在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
   2. 在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
   3. 在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
   4. 在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。

Question 44. (单选)

  如下程序的运行结果是:

public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}

public class B: A
{
public B()
{
Console.WriteLine('B');
}

public new void Fun()
{
Console.WriteLine("B.Fun()");
}

public static void Main()
{
A a = new B();
a.Fun();
}
}

   1. A B A.Fun()
   2. A B B.Fun()
   3. B A A.Fun()
   4. B A B.Fun()

Question 45. (单选)

  Which of these string definitions will prevent escaping on backslashes in C#?*

   1. string s = #”n Test string”;
   2. string s = “’n Test string”;
   3. string s = @”n Test string”;
   4. string s = “n Test string”;

Question 46. (单选)

  Which of the following operations can you NOT perform on an ADO.NET DataSet?

   1. A DataSet can be synchronised with a RecordSet.
   2. A DataSet can be synchronised with the database.
   3. A DataSet can be converted to XML.
   4. You can infer the schema from a DataSet

Question 47. (单选)

  In Object Oriented Programming, how would you describe encapsulation?

   1. The conversion of one type of object to another.
   2. The runtime resolution of method calls.
   3. The exposition of data.
   4. The separation of interface and implementation.

Question 48. (单选)

  How does assembly versioning in .NET prevent DLL Hell?

   1. The runtime checks to see that only one version of an assembly is on the machine at any one time.
   2. .NET allows assemblies to specify the name AND the version of any assemblies they need to run.
   3. The compiler offers compile time checking for backward compatibility.
   4. It doesn’t.

Question 49. (单选)

  三种常用的字符串判空串方法:

   1: bool isEmpty = (str.Length == 0);
   2: bool isEmpty = (str == String.Empty);
   3: bool isEmpty = (str == "");

  哪种方法最快?

   1. 1
   2. 2
   3. 3

Question 50. (单选)

public sealed class SampleSingleton1
{
private int m_Counter = 0;
  private SampleSingleton1()
{
Console.WriteLine(""初始化SampleSingleton1。"");
}

public static readonly SampleSingleton1 Singleton = new SampleSingleton1();

public void Counter()
{
m_Counter ++;
}
}

  以上代码实现了设计模式中的哪种模式?

   1. 原型
   2. 抽象工厂
   3. 单键
   4. 生成器

 

十一.

1.<%# %> 和 <%  %> 有什么区别?
<%# %>表示绑定的数据源
<%  %>是服务器端代码块
2.以下代码能否通过编译?如果不能,请改成正确代码,并说明原因。

<html>
  8    <%
  9        int subtract(int num1, int num2) {
 10           return num1-num2;
 11        }
 12    %>
 13    <body>
 14       <% 
 15          int number = 100;
 16          while (number > 0) {
 17             Response.Write("value: " + number + "<br/>");
 18             number = subtract(number, 1);
 19          }
 20       %>
 21    </body>
 22 </html> 
3.通过Web Site Administration Tool (in VS2005) 可以实现哪些功能?Web Site Administration Tool 会自动对哪些文件进行修改或添加?
4.解释一下带 “original_” 前缀的Data Parameter和不带前缀的Data Parameter有什么异同。(可用简单的代码说明)
5.修改下面的代码段,使GridView能Update数据。
DataSourceID="SqlDataSource1" DataKeyNames="id" AutoGenerateColumns="False">
SelectCommand="SELECT [id], [lname], [fname] FROM [authors]"
ConnectionString="" />

6.GridView没有内置Insert 数据的功能,如果想在GridView内Insert数据,你有什么想法?
7.ASP.NET 2.0 哪个(些)特性是你觉得最激动人心的?为什么?(也可以谈C#2.0)
ASP.NET 2.0相对于1.1突出了3大理念,
1,提高生产力
A 一致性(masterpage)
B 会员管理
C 资料存取
D 个性化
2 管理能力的提高(例如WEB.CONFIG)
3 提升效能,满足更多人的访问
8.你觉得ASP.NET 2.0(VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?你在以前的平台上使用的哪些开发思想(pattern / architecture)可以移植到ASP.NET 2.0上 (或者已经内嵌在ASP.NET 2.0中)

1 ASP.NET 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码.
2 同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有在分离的代码文件,无法在页面嵌入服务器端代码获得帮助提示,
3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢
4 在绑定数据,做表的分页.UPDATE,DELETE,等操作都可以可视化操作,方便了初学者
5, 在ASP.NET中增加了40多个新的控件,减少了工作量

9.把你在学习过程中做过的demo发一个给我,或者把你做过的demo组合在一个项目中发给我

十二.

.填空题
1.c#中的三元运算符是_____?
2.当整数a赋值给一个object对象时,整数a将会被_____?
3.类成员有_____种可访问形式?
4.public static const int A=1;这段代码有错误么?是什么?
5.float f=-123.567F;
int i=(int)f;
i的值现在是_____?
6.利用operator声明且仅声明了==,有什么错误么?
7.委托声明的关键字是______?
8.sealed修饰的类有什么特点?
9.Asp.net中所有的自定义用户控件都必须继承自________?
10..Net中所有可序列化的类都被标记为_____?
11..Net托管代码中我们不用担心内存漏洞,这是因为有了______?
12.下面的代码中有什么错误吗?_______
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override 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#usingnew这两个关键字有什么意义,请写出你所知道的意义?
2.在下面的例子里
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的实例时,产生什么输出?
3.下面的例子中

using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
产生的输出结果是什么?
4.谈谈类和结构的区别?
5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程

序来实现。
6.对于这样的一个枚举类型:
enum Color:byte{
Red,
Green,
Blue,
Orange
}
试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
7.您了解设计模式么?请列出您所知道的设计模式的名称。
8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容

需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?
9.什么叫做SQL注入,如何防止?请举例说明。
10.下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine("Equal");
else
Console.WriteLine("Not Equal");

答案:
1 ?:
2 装箱
3 3
4 const成员都是static所以应该去掉static
5 123
6 要同时修改EqualeGetHash() ? 重载了"==" 就必须重载 "!="
7 delegate
8 不可被继承
9 System.Web.UI.UserControl
10 [serializable]
11 gC
12 abstract override 是不可以一起修饰
13 不可以,不可以
14 case():不行 default;
15 可以

1 Using 引入一个名子空间,或在使用了一个对像后自动调用其IDesposeNew 实例化一个对

像,或修饰一个方法,表此方法完全重写此方法,
2 X=1,Y=0
3 x=1,y=2
4 最大区别一个是引用类型,一个是值类型 默认成员访问为public是另外一个区别

十三.

.NET & C# 基础知识试题 (20%)
1. .netC# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
答案:this(C#) Me(vb.net).

2. .netC# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。
答案:
form中重载DefWndProc函数来处理消息:
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
 ///stringMFC中的CStringFormat函数的使用方法有所不同
 string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
 MessageBox.Show(message);///显示一个消息框
 break;
case USER:
处理的代码
default:
 base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
 break;
}
}

3. .netC# or vb.net)如何启动另一个程序。
答案:process

4. .netC# or vb.net)中如何取消一个窗体的关闭。
答案:
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true;
}

5. .netC# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
答案:一个是退出整个应用程序,一个是关闭其中一个form

6. C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50$122235401.22而在英国则为£10 321.50和£122 235 401.22
答案:
System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英国货币类型
decimal y = 9999999999999999999999999999m;
string str = String.Format(MyCulture,"My amount = {0:c}",y);

7. 某一密码仅使用KLMNO5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
1 密码单词的最小长度是两个字母,可以相同,也可以不同
2 K不可能是单词的第一个字母
3 如果L出现,则出现次数不止一次
4 M不能使最后一个也不能是倒数第二个字母
5 K出现,则N就一定出现
6 O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
A) K B)L C) M D) N
答案:B

问题二:如果能得到的字母是KLM,那么能够形成的两个字母长的密码单词的总数是多少?
A)1 B)3 C)6 D9
答案:A

问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C

8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
答案:62移动成26次方

十四.

1.ADO.NET处理数据并发的方法和步骤?
2.T-SQL中is null和null 的区别?
3.动态创建的控件PostBack后是否可以保存下来,为什么?
4.WebServer异步调用的使用环境和目的?
5.WebServer客户端异步调用和服务端异步调用实现的不同点
6.close和dispose的区别
7.DataTable 是一个独立的编程模型吗,为什么?
8.抽象类和非抽象的区别

十五.

.NET面试题(1

Q:您在什么情况下会用到虚方法?它与接口有什么不同?
Q:Override与重载有什么区别?

Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数

重载与覆盖的区别
1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。
Q:怎样理解静态变量?
Q:向服务器发送请求有几种方式?
Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
Q:软件开发过程一般有几个阶段?每个阶段的作用?
Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?
Q:您对WebService的体会?
Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?
Q:您离职的原因是什么?
以下几道题目如果您不会,请较为详细的描述您的解决思路和方法
Q:通过超链接怎样传递中文参数?
Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
Q:请编程实现一个冒泡排序算法?

.NET面试题(2

一道数据库设计的面试题,考查的重点和供参考的解决方案如下。

==================================

一大型企业,有10000名员工,每半个月发一次工资,试为此企业设计一个工资数据库.(数据库为SQL server).

这题考查的重点是面对数据量大时,如何设计一个系统的性能好、速度快的数据库。

-----------------------------------------

可供参考的解决方法有几点,希望大家补充:

1.建立索引是必须的。

2.可以设计成两个表,一个用来操作,一个用来查询。操作表只保存最近若干段时间内的数据,就如移动公司查询话费记录。

3.查询考虑用最优的存储过程。

.NET面试题(3

1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用例。

2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)

开发语言概念题
3.什么是反射?
4.用Singleton如何写设计模式
5.C#中的垃圾回收机制是怎样的?
6.什么是Application Pool?
7.链表和数组的区别,各有什么优缺点.
8.Remoting在客户端服务器怎么实现 ?
9.什么是友元函数?
10.用标准C如何实现多态?
11.什么是虚函数?
12.什么是抽象函数?

13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?

英语题
14.用英文介绍一下使用C#/C++做的项目,主要功能
15.如果要与美国开电话会议,会如何与美国的工程师沟通
16.如果老板认为你的技术落后,你会怎么回答

数据库知识题
17.使用什么工具来调用存储过程
18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点?
19.触发器的作用

其它知识题及问题
20.什么是Web Service?
21.什么是XML?
22.Socket怎么实现?

 .NET面试题(4

1 冒泡排序 C:\Data.dat 中读取数据 110020105033

2 输入一个数字算出他的阶乘

3 多态怎么样实现,抽象类、接口、抽象方法、虚方法

4 常量与只读属性的区别

5 批量添、删、改怎么样做,怎样处理性能上的问题

6 将”I am a student”反转成 Student a am I”,不能使用库函数

7  Please briefly explain the procedure to setup the operation system for PC

8 动物animals中的狗dog和猫cat,都有咬这个方法。

9  Html怎样转换成aspx

10 分页,购物车

11、有主、外键关系怎样删除

12 三层结构则部署的(物理上)

13          ID                    实际发电量                       预计发电量

1                                      ……                                 ……

2                                      ……                                 ……

3                                      ……                                 ……

……                       ……                                 ……

SQL语句显示以下结束

总发电量 第二天为12天的和

                     第三天为前两天与第三天的和

14          C#中怎样实现多重继承(继承一个类,实现一个接口)

15          1-2+3-4+5-6+7-……+n

输入一个数字计算出值(注意n值较大,注意处理排序性能问题,注意代码严谨)

16          StringBuilder的作用与特点

17          完成两个整型变量的交换,要求不用第三个变量

18          112358132132,……写一段代码找出第30个数

19          Remotingweb serverd有什么区别,各自的作用

20          计算两个入厂时期相同的两个员工相差的生日和相差的天数

Table1

Fname                               入厂时间                                 出生日期

User1                                12-06-2004                                 12-01-1994

User2                                12-06-2004                                 12-01-2000

入厂时间                       Fname1                            Fname2                            间隔日期

12-06-2004                       user1                      user2                      365

十六.

1.ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释 
2.什么是WEB控件?使用WEB控件有那些优势? 
4.请谈谈对正则表达式的看法? 
5.ASP。NET中共有几种类型的控件?各有什么区别? 
6.WEB控件可以激法服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。 
7.WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用? 
8.ASP。NET与ASP相比有什么优势? 
9.请解释web.config文件中的重要节点 
10.请解释ASP。NET中的web页面与其隐藏类之间的关系? 
11.什么是viewstate,能否禁用?是否所用控件都可以禁用? 
13.当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决 
14.请解释一个WEB页面中代码执行次序。 
15.请解释什么是上下文对象,在什么情况下要使用上下文对象 
16.请解释转发与跳转的区别? 
17.请解释ASP.NET中不同页面之间数据传递有那些方式? 
18.请解释ASP。NET中button  linkbutton imagebutton 及hyperlink这四个控件之间的功别 
19.请解释一下。NET多层应用程序中层与层之间以那几种方式进行数据传递。并解释你自己的项目中采用那种方式进行。 
20.如果出现ASP。NET中的事件不能触发可能由于什么原因造成? 
21.如果需要在datagride控件中的某一列中添加下拉列表框并绑定数据怎么解决? 
22.请解释asp.net中的数据绑定与传统数据绑定有什么区别? 
23.请解释.net采用委托实现的事件模型与JAVA中采用接口实现的事件模型有什么区别,以图示方式解释。 
24.请解释接口的显式实现有什么意义?

十七.

 1. new 关键字用法

(1)new 运算符

用于创建对象和调用构造函数。

(2)new 修饰符

用于向基类成员隐藏继承成员。

(3)new 约束

用于在泛型声明中约束可能用作类型参数的参数的类型。

2.如何把一个Array复制到ArrayList

(1) 实现1

string[] s ={ "111", "22222" };

ArrayList list = new ArrayList();

list.AddRange(s);

(2)实现2

string[] s ={ "111", "22222" };

ArrayList list = new ArrayList(s);

3.DataGridDatasouse可以连接什么数据源

l         DataTable

l         DataView

l         DataSet

l         DataViewManager

l         任何实现IListSource接口的组件

l         任何实现IList接口的组件

4.概述反射和序列化

反射

公共语言运行库加载器管理应用程序域。这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。

程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。

序列化

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

5.概述O/R Mapping 的原理

利用反射,配置将对象和数据库表映射。

6. 可访问性级别有哪几种

l         public 访问不受限制。

l         protected 访问仅限于包含类或从包含类派生的类型。

l         internal 访问仅限于当前程序集。

l         protected internal 访问仅限于从包含类派生的当前程序集或类型。

l         private 访问仅限于包含类型。

7. sealed 修饰符有什么特点

sealed 修饰符可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed 修饰符必须始终与 override一起使用。

8.列举ADO.NET中的共享类和数据库特定类

共享类

DataSet

DataTable

DataRow

DataColumn

DataRelation

Constraint

DataColumnMapping

DataTableMapping

特定类

(x)Connection

(x)Command

(x)CommandBuilder

(x)DataAdapter

(x)DataReader

(x)Parameter

(x)Transaction

9.执行下面代码后:

String strTemp ="abcdefg 某某某";

Int i=System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j=strTemp.Length;

问:

i=?

j=?

 

i=(14 ) ;j=(11 ) 中文两个字节

10.C#中,string str = null string str ="",请尽量用文字说明区别。

string str =""初始化对象分配空间

而string str=null初始化对象

11.详述.NETclassstruct的异同

结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:

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

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

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

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

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

结构具有以下特点:

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

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

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

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

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

l         结构可以实现接口。

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

12.什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTSCLSCLR分别作何解释?

应用程序域

应用程序域为安全性、可靠性、版本控制以及卸载程序集提供了隔离边界。应用程序域通常由运行库宿主创建,运行库宿主负责在运行应用程序之前引导公共语言运行库。应用程序域提供了一个更安全、用途更广的处理单元,公共语言运行库可使用该单元提供应用程序之间的隔离。

托管代码

使用基于公共语言运行库的语言编译器开发的代码称为托管代码;托管代码具有许多优点,例如:跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持、简化的组件交互模型、调试和分析服务等。

装箱和拆箱

装箱和拆箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到 Object 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。拆箱将从对象中提取值类型。

重载

每个类型成员都有一个唯一的签名。方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。只要签名不同,就可以在一种类型内定义具有相同名称的多种方法。当定义两种或多种具有相同名称的方法时,就称作重载。

CTS通用类型系统 (common type system)

一种确定公共语言运行库如何定义、使用和管理类型的规范。

CLR公共语言运行库

.NET Framework 提供了一个称为公共语言运行库的运行时环境,它运行代码并提供使开发过程更轻松的服务。

CLS公共语言规范

要和其他对象完全交互,而不管这些对象是以何种语言实现的,对象必须只向调用方公开那些它们必须与之互用的所有语言的通用功能。为此定义了公共语言规范 (CLS),它是许多应用程序所需的一套基本语言功能。

强类型

C# 是强类型语言;因此每个变量和对象都必须具有声明类型。

13.值类型和引用类型的区别?

基于值类型的变量直接包含值。将一个值类型变量赋给另一个值类型变量时,将复制包含的值。这与引用类型变量的赋值不同,引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

所有的值类型均隐式派生自 System.ValueType。

与引用类型不同,从值类型不可能派生出新的类型。但与引用类型相同的是,结构也可以实现接口。

与引用类型不同,值类型不可能包含 null 值。然而,可空类型功能允许将 null 赋给值类型。

每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。

值类型主要由两类组成:结构、枚举

结构分为以下几类:Numeric(数值)类型、整型、浮点型、decimal、bool、用户定义的结构。

引用类型的变量又称为对象,可存储对实际数据的引用。声明引用类型的关键字:class、interface、delegate、内置引用类型: object、string

14.如何理解委托

委托类似于 C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。

C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。

15.C#中的接口和类有什么异同。

异:

不能直接实例化接口。

接口不包含方法的实现。

接口、类和结构可从多个接口继承。但是C# 只支持单继承:类只能从一个基类继承实现。

类定义可在不同的源文件之间进行拆分。

同:

接口、类和结构可从多个接口继承。

接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。

接口可以包含事件、索引器、方法和属性。

一个类可以实现多个接口。

16.ASP.net的身份验证方式有哪些

Windows 身份验证提供程序

提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 (IIS) 身份验证结合使用来确保 ASP.NET 应用程序安全的信息。

Forms 身份验证提供程序

提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用 Forms 身份验证的一种简便方法是使用 ASP.NET 成员资格和 ASP.NET 登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。

Passport 身份验证提供程序

提供有关由 Microsoft 提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核心配置

17.活动目录的作用

Active Directory存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些信息。Active Directory使用了一种结构化的数据存储方式,并以此作为基础对目录信息进行合乎逻辑的分层组织。

18.解释一下UDDIWSDL的意义及其作用

UDDI

统一描述、发现和集成协议(UDDI, Universal Description, Discovery and Integration)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。UDDI 提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现。

WSDL

WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;

l         服务 URL 和命名空间

l         网络服务的类型(可能还包括 SOAP 的函数调用,正像我所说过的,WSDL 足够自如地去描述网络服务的广泛内容)

l         有效函数列表

l         每个函数的参数

l         每个参数的类型

l         每个函数的返回值及其数据类型

19.什么是SOAP

SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。

SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。

SOAP 定义了一种方法以便将 XML 消息从 A 点传送到 B 点。 为此,它提供了一种基于 XML 且具有以下特性的消息处理框架:1) 可扩展,2) 可通过多种底层网络协议使用,3) 独立于编程模型。

20.如何部署一个ASP.net页面

VS 2005和VS 2003都有发布机制。2003可以发布然后再复制部署。

VS2005基本上可以直接部署到对应位置。

21.如何理解.net中的垃圾回收机制

.NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存

 

十八.

C#专题:

1、C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?         

一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质。

2. C#, Java 和 c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java中吸取了他们那些优点?

C#是从Java 和 c++发展而来的,吸收了c++的高效,灵活的特点,也吸收了java的面向对象的特点点和对内存指针等管理的优点,C#更接近与java。c#和java在继承、接口实现、内存管理、异常处理是比较类似的,对指针,源代码编译后的形式都存在不少的差异;c#与c++在继承、接口实现、内存管理、异常处理、对指针和源代码编译后都存在较大的差异。 Java,C#都是建立在虚拟机机制上,而C++不是

3、C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)

可以。虽然c#程序由运行时环境管理,使用垃圾收集器处理,但在必要时,也可以手工进行垃圾收集;

4、C#中的委托是什么?事件是不是一种委托?

 C# 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与 C 或 C++ 中的函数指针不同,委托是面向对象、类型安全的,并且是安全的。

网上答案: 委托是一种安全的函数指针,事件是一种消息机制

5、描述一下C#中索引器的实现过程,是否只能根据数字进行索引?                           

索引器使您得以按照与数组相同的方式为类或结构实例建立索引。索引器和属性在概念上非常类似。创建索引器实现过程:一、在类中定义索引器和参数类型;二定义get和set方法;三在实例中使用索引;否,因为索引器类型和参数均支持数字;

 6、C#中要使一个类支持FOREACH遍历,实现过程怎样?                                     

一。定义类,必须继承 IEnumerable类,在构造函数中,获取可以FOREACH的内容;二、提供和实现接口;三、:定义实现类,必须继承IEnumerator;四、MoveNext、Reset及Current

所必须的方法;

7、用C#实现以下功能

   a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

   b 对上面生成的数组排序,需要支持升序、降序两种顺序                               

初步答案:一、定义两个长度为100的数组,数组A的值依次为1到100;数组B为0;          二、for i =100-->1,产生一个小于等于i值的随机数a,令B(i)=A( a),for l=a-->i A(i)=A(i+1) 使数组A为空值,排序for i m=100-->1   输出m值;                         

最终答案:和上面一样;

网上答案: int[] intArr=new int[100];

ArrayList myList=new ArrayList();

Random rnd=new Random();

while(myList.Count<100)

{

int num=rnd.Next(1,101);

if(!myList.Contains(num))

myList.Add(num);

}

for(int i=0;i<100;i++)

intArr=(int)myList;

ArrayList本身就能排序

9、请列出c#中几种循环的方法,并指出他们的不同?                                                                           最终答案:while,do,for,for each。while、至少执行0次;do、至少执行1次;for、根据一系列表达式确定执行次数;for each、枚举一个集合的元素,并为此集合的每个元素执行一个嵌套语句。

11.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。

初步答案:string str = null表示str为空值;string str = “”表示str为空字符串,是有实际意义的

数据库专题:
1、维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么  
初步答案:业务逻辑。经实践证明:触发器效率高,但不利于维护
最终答案:因为触发器可以强制限制,不受人为因素影响;
网上答案:Microsoft? SQL Server? 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。

2、游标的作用?如何知道游标已经到了最后?                                          
初步答案:游标:主要是定位。用 一个函数,返回为true时,就是到最后。
最终答案:游标就是提供SELECT 语句返回的行集的扩展,可以使应用程序能每次处理一行或一部分行 。游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。 
网上答案: 指示当前记录的位置,检查NULL 

3、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。  

初步答案:事前触发-数据插入前,执行触发器;事后触发-数据插入后,执行触发器; 语句级触发-执行某条语句时,会执行触发器;  行级触发-插入记录时会执行触发器  

最终答案:事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
网上答案:一个是操作前,一个是操作后 

4、什么叫做SQL注入,如何防止?请举例说明。 
初步答案:利用程序的不严密,通过在程序中输入特殊的sql,从而达到获取破坏数据的目的。主要是加强程序的严密性,例如,加强检查是否存在注释符号,连接数据库用户的权限等等。
最终答案: 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。在这里,我给大家一个函数,代替ASP中的Request函数,可以对一切的SQL注入Say NO,函数如下:
Function SafeRequest(ParaName,ParaType)
'--- 传入参数 ---
'ParaName:参数名称-字符型
'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)
Dim ParaValue
ParaValue=Request(ParaName)
If ParaType=1 then
If ParaValue="" or not isNumeric(ParaValue) then
Response.write "参数" & ParaName & "必须为数字型!"
Response.end
End if
Else
ParaValue=replace(ParaValue,"'","''")
End if
SafeRequest=ParaValue
End function
网上答案: 利用sql关键字对网站进行攻击。过滤关键字'等
5、使用什么工具来调用存储过程?
最终答案: HTTP、查询分析器、应用程序,
网上答案:任何一种语言 
6、SQL Server的两种索引是何形式?索引的作用?索引的优缺点?
分为聚合与非聚合聚合。索引是与表或视图相关联的结构,可加快从表或视图中检索行的速度。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构内,使 SQL Server 得以快速有效地找到与键值相关联的一行或多行。缺点:难于维护,索引定义不合理或定义过多时,会影响系统性能。
网上答案: cluster和非cluster,加速查找,占用额外控件,维护索引耗费时间
7、触发器的作用 
触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。
网上答案:  保证数据库操作变更能接到通知

 

十九.

1。用C#实现以下功能
a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
b 对上面生成的数组排序,需要支持升序、降序两种顺序
2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
3。请说明.net中的错误处理机制,并举例
4。请说出强名的含义
5。请列出c#中几种循环的方法,并指出他们的不同
6。请指出.net中所有类型的基类
7。请指出GAC的含义
8。SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值

一:
List<int> L=new List<int>();
Random random = new Random();
for (int i = 1; i <= 100; i++)
{
  if (L.IndexOf(i)< 0)
  {
    L.Add(random.Next(1,100)); 
  }
}
L.Reverse();
L.Sort();

二:Cookie(不安全) Session(可靠,可用语不支持HTTP Cookie浏览器) Application(效率低) 查询字符串(方便) DataBase(安全,强) <BR>服务器控件持有有数据的页面间传输 等等,这些说明到处都有,不说了。。。
三:异常是从 Exception 类类继承的对象。异常从发生问题的代码区域引发,然后沿堆栈向上传递,直到应用程序处理它或程序终止。
try
{ //执行代码,不确定是否会出错 }
catch
{ //出错处理 }
finally
{ //无论怎样,都要执行 }
四:垃圾回收的原理是根据是否空引用,和该数据类型占用内存来判断该收回多少内存.强类型说白就是必须要有个数据类型.
五:这个太简单.不说了
六:object
七:全局访问缓存
八:
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)

转载于:https://www.cnblogs.com/kuangwenyao/archive/2007/04/02/697012.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值