企业面试题汇总.net

 

企业面试题汇总

                 --.Net部分

目录

.Net部分 4

简单 4

1.什么叫SQL注入?如何防止?请举例说明 4

2.如果有100万条记录,请问你如何优化表结构查询提高速度? 4

3.string与stringBuilder的区别 4

4. XML与Html的区别 5

5.如何动态遍历页面中所有TextBox,Combox控件,并给Text属性赋空 5

6.一列数的规则如下: 1、1、2、3、5、8..求第30位数是多少,用递归算法实现。 5

7.请编程实现一个冒泡排序算法? 6

8.写出抽象类和接口的定义,并描述两者的区别。 6

9. 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? 6

10.override与重载的区别 8

11.用sealed修饰的类有什么特点 8

12.net中接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类? 8

13. a=10,b=15,在不用第三方变题的前提下,把a,b的值互换 8

14..net中(   )方法可以把虚拟路径转换成物理路径 Response 8

15.接口中不能包含以下哪几项()方法,属性,字段,事件,索引器,构造函数,析构函数 8

16.ASP常用的6大对象,并说出其功能; 8

17.C#中什么是泛型和泛型的集合? 9

18.什么是委托,怎么定义一个委托? 9

19.C#中关于Struct和Class的区别? 9

20 简述private,protected,public,internal修饰符的访问权限 9

21.代码判断题 10

22、ado.net中连接数据库的几个对象,各有什么用处 10

23.请说出int与integer的区别 10

24. JavaScript的变量作用域。 10

25.什么叫装箱,什么叫拆箱?[易] 11

26.什么是反射?什么是委托?(易) 11

27. 如果B b=new B (); b Printfields () 11

28.什么是虚函数?什么是抽象函数?什么是反射? 11

29.谈谈解决session丢失的方法。 11

30.写一个你最熟悉的函数,输出“hello,world!”(易) 12

31.面向对象的特点 12

32.编写一个简单模型实现定义的接口,实现接口和使用接口。(易) 12

33.页面中有两个文本框和一个按钮,当点击按钮时交换两个文本框的内容!但是单击按时不能互换,你认为问题出在哪?怎么样解决。 12

34.用THML实现上面表格,你要绘制的表格如下: 13

35.C#或java语言中abstract class和interface有什么区别? 13

36.请说明C#与java语言中,方法中参数传递有哪几种方式?C#中参数传递中设置ref或out关键字时,有什么区别及作用? 14

37.序列化有什么作用? 14

38. string str = null 和 string str = " " 有什么区别? 14

34. 下面的文件后缀代表什么 14

35. 在页面上弹出对话框与确认框 14

36.string s=“1,2,3,4”去除逗号把剩下的装入数组中 14

37. 在HTML中SPAN标签中写出一个小时钟程序, 15

38.主题文件在什么位置,怎么在web.config文件中找到一个叫(spring)的皮肤配置. 15

39.Ajax都有什么提交方式,有什么不同,在Ajax中怎么提交一个from。 15

40.怎么在web.config文件中取到自定义配置. 15

41.一些特殊符号 制表符,回车符,换行符. 15

42.写出一个完整的异常处理(try) 15

中等 16

1. StrTemp 是string变量 包含一些空格和字母,除去所有空格,并找英文字母,按顺序排列 16

2.从面向对象的角度思考,什么是多态。 16

3.Session有什么重大的BUG,微软提出了什么方法加以解决? 16

4.CTS、CLS、CLR分别作何解释? 16

5.C\S和B\S的区别。 16

6.软件工程的最终目的(开发出高质量的软件) 17

7、什么是设计模式?列出你所知道的几种写出名称 17

8.写一个判断某正整数是否是素数的函数。 17

9.类设计:写一个学生选课系统,C#语言,定义类以及每个类的基本属性和方法,方法只写方法名和注释即可。 18

10.如何解决数据库的并发访问(中) 18

11.请描述一下MVC结构,什么是数据库中的视图,存储过程,事务 18

12.什么是深拷贝,浅拷贝?浅拷贝经常会出现什么问题? 19

13.谈谈你对Webservice的解释 19

较难 19

1.有一个3L和5L的杯子,怎样量出4L?用公式表达 19

2.写出软件的开发流程 19

3.九宫格,里面有个一个球,要求每当鼠标移动到小球上,小球就像相邻的格里移动,说出思路 19

4查找页面上所有TextBox并把文本设为空。 20

5.看代码,写结果: 21

6. 你平常的项目是怎么样架构的? 21

7、简述List、set、Map各实现哪些接口,有什么区别 22

8、有一个Double型变量,不同的国家存放不同的数据,美国习惯用$10321.50,英国习惯用£10321.50,请问用什么方法可以按照不同国家的习惯进行输出?(中) 22

9.程序访问数据库记录速度很慢,分析什么原因造成以及解决办法。 22

10.游标的声明与使用,如何判断记录已到达最末尾 23

11.如何用JavaScript实现一个浮动图片,可以随滚动条的移动而移动 23

12.什么是面向对象? 23

13.抽象工厂模式和工厂模式的区别?(易) 24

14.编写一个ADO.NET中的事务的使用模型。(难) 24

选择题部分: 25

简单 25

中等 29

较难 32

SQL Server部分 32

简单 32

1.什么是inserted表?什么是deleted表? 32

2..在成绩表中,小于60分为不及格,大于60分为及格,大于80分为优秀,请用一条SQL语句查询。 33

3.tb_send表中有日期时间字段SendTime,请用SQL语句查处当天所有记录. 34

4. sql查询,表table(id,lastUpdateDate);第一个字段为标识列,第二个为最后更新时间。使用一条sql语句查出最近一次的修改时间 34

5.举例写出表的左右关联查询(易) 34

6.看表写SQL 34

7.写出一条查询所有用户当tid为1的时候显示普通用户,为2时显示VIP用户 34

8.写出一条查询所有订单数大于3条的用户 35

9.删除3张表CId=3的所有记录? 35

10.数据库定义一个int变量。括号里是面试时问的(数据库中怎么将Int类型转换成sting) 35

11.怎么声明一个table 怎么在在表中申明列a 和列b 以及怎么给列赋值。 35

12.查询订单在2005-8月以后的所有订单,并且订单时间为空的时候显示未送达 35

13.查询时间最近的三条记录。 35

14.怎么调用存储过程 写好了一个存储过程,让你在数据库中调用。 35

15.有一张表 主键ID 一共有10条记录  其他字段自定义  按照顺序把数据从数据库中依次读出来! 35

16.描述C#中索引器实现的过程   是否只有数字可以作为索引 35

17.看数据写结果表中已存在内容: 36

18. 表中有A B C三列, 36

19. 有一张表,里面有3个字段:语文,数学,英语。 37

20.sqlserver2000是一种大型数据库,他的存储容量只受存储介质的限制,请问它都要那些类型的文件组成,并说明其不同 37

中等 38

1. 查询表中stuAge字段有重复值的数据: 38

2.用 table2中科目余额更新table1中的科目余额,不在table2中出现的科目不更新。 38

3.查出表中11到20条记录,ID作为主键(ID可能不是连续的); 39

4. SQL语句编写T表前10行记录,总行数。(易) 39

5.看表数据写sql语句 39

6.执行如下sql语句 40

7.在sqlserver2000中请用sql创建一张用户临时表和系统临时表,里面包含两个字段ID和IDValues,类型都是int型,并解释两者的区别? 41

较难 41

1.看表,写出实现的SQL语句 41

上机题部分 42

1.winForm上机(TreeView,ListView) 42

2. GridView & 自定义样式: 42

3.Asp.net上机(GridView) 43

4.Asp.net上机(DropDownList & GridView) 43

5.使用WinForm绘图 43

6.用Asp.net实现登陆 43

7.GridView操作 44

8.Asp.net上机(1至2天完成) 44

9. Asp.net上机(1至2天完成) 44

 

.Net部分

简单

1.什么叫SQL注入?如何防止?请举例说明

答:SQL注入是常见的利用程序漏洞进行攻击的方法。导致sql注入攻击并非系统造成的,主要是程序中忽略了安全因素,利用sql语言漏洞获得合法身份登陆系统

例如:

"Select * from users where name='"+uName+"' and pwd='"+uPwd+"' "

如用户在t_name中输入tom’ or 1=‘1 就可以进入系统了。

生成语句:

Select * from users where name = ‘tom’ or 1=‘1’ and pwd=‘123’

防止sql注入的方法有如下几点:

使用参数化过滤语句

web应用程序的开发过程中所有阶段实施代码安全检察

使用存储过程

2.如果有100万条记录,请问你如何优化表结构查询提高速度?

答:1.合理的使用索引(例如在频繁作为条件的列,经常作为排序或分组的列)

2.只查询必要的列,避免 *

3.避免或简化排序

4.使用存储过程

5.使用dataReader读取数据

6.使用reapter控件显示

3.string与stringBuilder的区别

答:string对象在内存中是只读的,每次在调用string类方法是,都要在内存中创建一个新的字符串对象。StringBuilder可以修改字符串而不创建新的对象。

4. XML与Html的区别

答:xml[eXtensible Markup Language](可扩展标记语言)提供一种描述结构化数据的方法。

Html(超文本标记语言)主要用于控制数据的显示和外观。

区别:

XML是区分大小写字母的,HTML不区分。

HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略或者之类的结束 标记。在XML中,绝对不能省略掉结束标记。

XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。

XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。

HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。

5.如何动态遍历页面中所有TextBox,Combox控件,并给Text属性赋空

答: foreach (Control ctl in this.Controls)

{

    if (ctl is TextBox || ctl is ComboBox)

    {

        ctl.Text = string.Empty;

    }

}

6.一列数的规则如下: 1、1、2、3、5、8..求第30位数是多少,用递归算法实现。

答:public class MainClass

    {

       public static void Main()

       {

           Console.WriteLine(Foo(30));

       }

       public static int Foo(int i)

       {

           if (i <= 0)

               return 0;

           else if(i > 0 && i <= 2)

               return 1;

           else return Foo(i -1) + Foo(i - 2);

        }

     }

7.请编程实现一个冒泡排序算法?

答:

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 ;

      }

   }

}

8.写出抽象类和接口的定义,并描述两者的区别。

答:声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。

不能有抽像构造函数或抽像静态方法。

Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。

多继承性可通过实现这样的接口而获得。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。

9. 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?

答:using:

1) 引入命名空间

2) using别名。using + 别名 = 包括详细命名空间信息的具体的类型。

3) 定义一个范围,在范围结束时处理对象。

new:

1)new 运算符:用于创建对象和调用构造函数。

2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。

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

例:

namespace WindowsApplication6

{

 

    public class Employee

    {

        private string name;

        private int id;

        public Employee()

        {

            name = "Temp";

            id = 0;

        }

        public Employee(string s, int i)

        {

            name = s;

            id = i;

        }

        public string Name

        {

            get { return name; }

            set { name = value; }

        }

        public int ID

        {

            get { return id; }

            set { id = value; }

        }

    }

 

 

    class ItemFactory<T> where T : new()

    {

        public T GetNewItem()

        {

            return new T();

        }

    }

}

 

        private void btnTest_Click(object sender, EventArgs e)

        {

            ItemFactory<Employee> EmployeeFactory = new ItemFactory<Employee>();

            ////此处编译器会检查Employee是否具有公有的无参构造函数。

            //若没有则会有The Employee must have a public parameterless constructor 错误。

            Console.WriteLine("{0}'ID is {1}.", EmployeeFactory.GetNewItem().Name, EmployeeFactory.GetNewItem().ID);

  }

10.override与重载的区别

答 :override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要

Override 是进行基类中函数的重写。为了适应需要。

 

11.用sealed修饰的类有什么特点

答:sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其它类的基类,则会发生编译时错误。密封类不能同时为抽象类。

12.net中接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?

答:net接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类。

13. a=10,b=15,在不用第三方变题的前提下,把a,b的值互换

答:a=a+b;     b=a-b;     a=a-b;

14..net中(   )方法可以把虚拟路径转换成物理路径 Response

答:Server.MapPath();

     Request.MapPath();

15.接口中不能包含以下哪几项()方法,属性,字段,事件,索引器,构造函数,析构函数

答:字段 构造函数 析构函数

16.ASP常用的6大对象,并说出其功能;

答:asp包含以下6大对象:

1Request对象:封装了由web浏览器或其他客户端生成的http请求的细节(参数,属性和数据),提供从浏览器读取信息或者读取客户端信息等功能,用于页面请求期。

2Response对象:封装了返回到http客户端的输出,提供向浏览器输出信息或发送指令,用于页面执行期。

3Server 对象:提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。

4ObjectContext对象:该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction Server (MTS)管理。

5Server 对象:Server 对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。

6Session对象:为某个用户提供共享信息,作用于用户会话期。

17.C#中什么是泛型和泛型的集合? 

答:泛型:泛型是 C# 2.0 的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。

泛型的集合:泛型集合是泛型的最显著应用,可以约束类内的元素类型,比较典型的泛型集合是List<T>Dictionary<K,V>

18.什么是委托,怎么定义一个委托?

答:委托是指具有相同属性(也称具有相同的函数签名:返回类型相同,参数类型、参数顺序及参数个数相同)的函数或方法的抽象,关键字为delegate。主要用途是三个:1)函数回调;2)传递方法;3)事件机制

定义委托的格式:

[作用域] delegate <返回类型> 委托名([参数列表]);

19.C#中关于Struct和Class的区别?

答:在.net中,类与结构的区别如下:

类属于引用类型,而结构属于值类型

类可以被继承,而结构不能被继承

类可以有默认的构造函数,而结构没有默认构造函数

类可自行添加无参构造函数,机构不能添加无参构造函数,可手动添加有参构造

类在创建对象时必须使用new关键字,结构可不用new

类中的字段在声明时可赋初值,结构在声明字段时不能赋初值

类和结构的相同点:

都可包含字段,属性和方法

都可以实现接口

20 简述private,protected,public,internal修饰符的访问权限

答:

 

类内部

同一程序集的派生类

同一程序集的其他类

不同程序集的派生类

不同程序集的其他类

private

可以

不可以

不可以

不可以

不可以

Protected

可以

可以

不可以

可以

不可以

Internal

可以

可以

可以

不可以

不可以

Public

可以

可以

可以

可以

可以

21.代码判断题

namespace a
   {
    public class A{
      protected string str="str";
    }
   }
  namespace b
  {
    using a;
    public class B{
      public static void Main()
      {
          A obj=new A();
          obj.str="abc";
      }
   }
  }
  以上代码能否正确编译,为什么?

答,无法通过编译,B类不能访问A类的protected成员。

22、ado.net中连接数据库的几个对象,各有什么用处

答:Ado.net中连接数据库主要有一下几个对象:

    Connection:建立与特定数据源的连接

    Command:对数据源执行命令

DataReader:从数据源中读取只进且只读的数据流

DataAdapter:用数据源填充DataSet并解析更新

Parmaeter:表示 Command 的参数

Transaction:表示要在数据源执行的 SQL 事务

23.请说出int与integer的区别

答:int属与c#中定义int32的整数类型,integervb.net用于定义整形变量

24. JavaScript的变量作用域。

答 :JavaScript的变量作用域如下:

     A )全局变量:在整个页面都可访问,声明在Script块内

     B )局部变量:只在方法中可用,声明在函数体内

注:javascript的变脸可不声明直接使用,如果在函数内直接使用了一个变量,如函数外没有同名变脸的声明,则此变量为局部变量

25.什么叫装箱,什么叫拆箱?[易]

答:

将值类型转换为引用类型的过程称为装箱

反之称为拆箱

26.什么是反射?什么是委托?(易)

答:可以获取有关已加载的程序集和在其中定义的类型(如类、接口和值类型)的信息。使用反射在运行时创建类型实例,以及调用和访问这些实例。

27. 如果B b=new B (); b Printfields ()

以下代码输出结果为?

Class A

{    Public A (){PrintFields();}

     Public virtual void PrintFields()

     {}

}

Class B:A

{    int x=10;   int y ;

     Public B () {y=10}

     Public override void PrintFields ()

     {  console WriteLine (“x={0},y={1}”,x,y);}

}

答:如果代码正确运行的话

x=10,y=0

x=10,y=10

28.什么是虚函数?什么是抽象函数?什么是反射?

:

虚函数>virtual关键字修饰的成员函数

抽象函数>没有给出具体解析式的函数

反射>提供了封装程序集、模块和类型的对象

29.谈谈解决session丢失的方法。

答:延长session的保存时间,加内存。

30.写一个你最熟悉的函数,输出“hello,world!”(易)

class xxx{

public static void main(stirng[] args)

{ System.Console.Write(“hello,world!”);}

}

 

31.面向对象的特点

:封装,继承,多态

有一串字符`B``D``A``E``H``G``S``M``F`对字串从小到大进行排序,写出关键代码()

答:

Char[] chs = new char[]{`B``D``A``E``H``G``S``M``F`};

Array.Sort(chs);

32.编写一个简单模型实现定义的接口,实现接口和使用接口。(易)

答:interface ITest{ void TestMethod() }

class Test ITest{ void TestMethod() {Console.Write(“aaa”);}}

 

ITest t = new Test();

t. TestMethod();

33.页面中有两个文本框和一个按钮,当点击按钮时交换两个文本框的内容!但是单击按时不能互换,你认为问题出在哪?怎么样解决。

Private void page_load(object sender,System.Eventhings.e)

{

 This.TextBox1.Text=”This is the first request to this age”;

This.TextBox2.Text=”Exchage the content of the two text boxs”;

 

}

Private void Button1_Click(object sender1,System.Eventhings.e)

{

 String temp= This.TextBox1.Text;

This.TextBox1.Text= This.TextBox2.Text;

This.TextBox2.Text=temp;

}

答:IsPostBack

if(!IsPostBack{ 

This.TextBox1.Text=”This is the first request to this age”;

This.TextBox2.Text=”Exchage the content of the two text boxs”;

}

34.用THML实现上面表格,你要绘制的表格如下:

员工信息

姓名

 

性别

 

照片

联系地址

 

联系电话

 

答:

<table  border="1">

  <tr align="center">

    <td colspan="5">员工信息</td>

  </tr>

  <tr>

    <td width="87">姓名</td>

    <td width="63"> </td>

    <td width="93">性别</td>

    <td width="93"> </td>

    <td width="86" rowspan="2" align="center" valign="top">照片</td>

  </tr>

  <tr>

    <td>联系地址</td>

    <td> </td>

    <td>联系电话</td>

    <td> </td>

  </tr>

</table>

35.C#java语言中abstract class和interface有什么区别?

     答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口

36.请说明C#java语言中,方法中参数传递有哪几种方式?C#中参数传递中设置refout关键字时,有什么区别及作用?

   答out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候

37.序列化有什么作用?

答:将对象转换为另一种媒介传输的格式过程。如,序列化一个对象,用Http通过internet在客户端和服务器之间传递该对象,在另一端用反序列化从该流中重新得到对象

38. string str = null 和 string str = " " 有什么区别?

答:string str=null;

不在内存中开辟空间

string str="";

在内存中开辟空间,但空间中没有值(""也是一个字符串)

 

34. 下面的文件后缀代表什么

*.cs——后置代码文件

*.aspx——页面文件

*.dll——动态链接库文件

*.ascx——用户控件文件

*.asmx——web服务文件

*.pdb——调试符号文件

*.master——模板文件

*.xml—— 可扩展层次化文件

Web.config——Web应用程序的配置信息文件

*.sitmap——站点地图文件

*.ashx——一般处理程序文件

*.css——样式表

*.sln____解决方案

*.proj 项目文件

*.webininfo——存放路径用的

 

35. 在页面上弹出对话框与确认框

答:Window.Alert(‘’)

Return Window.confirm(‘’)

 

36.string s=“1,2,3,4”去除逗号把剩下的装入数组中

答:参考split,代码略

 

37. 在HTML中SPAN标签中写出一个小时钟程序,

答:核心:setInterval()代码略

 

38.主题文件在什么位置,怎么在web.config文件中找到一个叫(spring)的皮肤配置.

答:App_Themes  , <pages theme="">

 

39.Ajax都有什么提交方式,有什么不同,在Ajax中怎么提交一个from。

1同步和异步,一个等待完成,一个继续执行。

2采用post就可以了

40.怎么在web.config文件中取到自定义配置.

<configSections>

<section name="bestitnet" type="BestItNet.Common.SectionHandler,bestitnet"/>

</configSections>

 

XmlDocument doc = new XmlDocument();

doc.Load(Request.PhysicalApplicationPath + "/web.config");

XmlNode node = doc.SelectSingleNode("configuration/configSections/section/@type");

Response.Write(node.Value);

 

 

41.一些特殊符号 制表符,回车符,换行符.

\t \r \n

\n   换行,将当前位置移到下一行开头  
\r   回车,将当前位置移到本行开头

\t tab 默认8个空格

42.写出一个完整的异常处理(try)

try

{

}

catch (Exception)

{

     throw;

}

finally

{             

}

 

中等

1. StrTemp string变量 包含一些空格和字母,除去所有空格,并找英文字母,按顺序排列

答:

//去除中文:

       string s = "abcab-中文 123fdDAFDASFaf";

            s = System.Text.RegularExpressions.Regex.Replace(s, "[^a-z | A-Z]", "");          

            char[] arr = s.ToCharArray();

            Array.Sort(arr);

            s = new string(arr);

            MessageBox.Show(s);

2.从面向对象的角度思考,什么是多态。

答:多态是指两个或多个属于不同类的对象,对于统一个消息(方法调用)作出不同响应的方式。

3.Session有什么重大的BUG,微软提出了什么方法加以解决?

答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate serverSQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获SessionEND事件。

4.CTS、CLS、CLR分别作何解释?

答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行时。

 

5.C\S和B\S的区别。

答:C/S B/S 区别:

Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的.

1.硬件环境不同:

C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.

B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行

2.对安全要求不同

C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.

B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群.

3.对程序架构不同

C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.

B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. C/S有更高的要求 B/S结构的程序架构是发展的趋势, MS.Net系列的BizTalk 2000 Exchange 2000, 全面支持网络的构件搭建的系统. SUN IBM推的JavaBean 构件技术等,使 B/S更加成熟.

4.软件重用不同

C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.

B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子

5.系统维护不同

系统维护是软件生存周期中,开销大, -------重要

C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统

B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.

6.处理问题不同

C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统

B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.

7.用户接口不同

C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高

B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.

8.信息流不同

C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低

B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中心

6.软件工程的最终目的(开发出高质量的软件)

答:软件开发完成后随时维护

l  软件开发完成之后不在进行维护

l  开发出高质量的软件

7、什么是设计模式?列出你所知道的几种写出名称

答:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。Strategy, Visitor,MethodFactory

8.写一个判断某正整数是否是素数的函数。

答:public   static   bool   isPrime(int   a)  
    {  
          int   i;  
          for   (i   =   2;   i   <   a;   i++)  
          {  
             if   (Math.IEEERemainder((float)a,   (float)i)   ==   0)                                  return   false;  
          }  
          return   true;  
     }  

9.类设计:写一个学生选课系统,C#语言,定义类以及每个类的基本属性和方法,方法只写方法名和注释即可。

答:class student{ string name,int age, List< course > courses} class course{string title} 

10.如何解决数据库的并发访问()

答案:引入锁机制。

11.请描述一下MVC结构,什么是数据库中的视图,存储过程,事务

答:MVC

MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。

一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。

最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。

视图:一个视图是由SELECT语句组成的查询定义的虚拟表

存储过程:存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

事务: 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。

  事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性

  原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。

  一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

  隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

  持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

12.什么是深拷贝,浅拷贝?浅拷贝经常会出现什么问题?

     答:浅拷贝 指的是你的类本身被拷贝,而没有拷贝类本身属性中的类
深拷贝 指的是包含类本身和属性类在内的所有类的拷贝。

13.谈谈你对Webservice的解释

答:Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTPXMLSOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

较难

1.有一个3L和5L的杯子,怎样量出4L?用公式表达

答:15L装满水倒入3L杯子,5L杯中余2L
23L杯子清空,将5L杯子中的2L倒入3L杯中
35L杯子装满
4、倒入已有2L水的3L杯中此时5L杯中就有4L水了

         公式:设5L的杯子为x, 3L的杯子为y

             2*y-x+y   

2.写出软件的开发流程

答:1.需求分析:我们要知道客户想要的是怎样一个系统,要有哪些功能等。

2.问题定义:主要是要搞清楚,我们要解决什么样的问题

3.可行性分析:我们要明确所定义的项目是不是能够实现和值得开发,也就是在技术,经济,运行可行性,法律可行性方面进行分析。

4.概要设计与结构化设计,这个阶段主要是要分析出,我们要怎样实现系统,软件设计包括概要设计时应该遵循的基本原理。

5.详细设计,确定具体怎么样实现所要求的系统

6.编码与软件测试:

7.软件测试与维护。

3.九宫格,里面有个一个球,要求每当鼠标移动到小球上,小球就像相邻的格里移动,说出思路

: 给你一个思路,此思路不仅能解决3*3的格子相加的问题。

还能解决 5*5 7*7 9*9 等等奇数个格子的问题,以此类推。。。

这就是任意奇阶幻方的构造法,中国早在大禹治水的时候就已经发现了这个规律的。宋代数学家杨辉更有总结:“九子排列,上下对易,左右相更,四维挺出。”,闲话不说,开始吧:

我们以 3*3 为例,一共有9个格子,就是九宫格了。

那么我们要填写1~9 9个数字。

我们用 R 表示行,C 表示列。例如 R9C7 就表示第9行第7

首先,把 “1”填写到第一列,中间行的一个格子。对于3*3的格子来说就是 R2C1

好了,其他的数字只要按照以下规律填写就可以了:

1开始,按顺序把其他数字填写在上一个数字的左上角。如果遇到左上角已经被填写,就填写在同一行的右边一个格即可,然后继续左上角。。。。注意:把上下左右看作是连接起来的

 

例如:现在3*3的格子。我们把“1”填写在 R2C1

那么“2”就应该填写在R2C1的左上角,也就是纵坐标和横坐标各减“1”,即,填写“2”的格子的坐标就是 R1C0 可是没有C0 这个列啊,刚才我们讲了,把左右看成是链接起来的。也就是可以吧 C3 看成是C0,那么我们就找到了“2”该填写的地方,也就是 R1C3,然后再来填写“3”,把上下看成是链接起来的,就应该把“3”填写在 R3C2,然后“4”应该填写在 R2C1,但是这个时候R2C1已经填写了“1”了,所以我们按照规则,把他填写在右边,就是在“3”的右边,即R3C3,接着又把“5”填写在 R2C2 以此类推就能得到正确结果。。。。。

 

填写好的形式如下:

6 7 2

1 5 9

8 3 4

4查找页面上所有TextBox并把文本设为空。

答:

一.WinForm下的解决方式:

foreach (Control ctl in this.Controls)

{

    if (ctl is TextBox || ctl is ComboBox)

    {

        ctl.Text = string.Empty;

    }

}

二.Asp.net下的解决方式:

function ClearAllValue()

{

   var items=document.getElementsByTagName(“input”);

      for(i=0;i<items.length;i++)

{

   if(items[i].type==”text”)

   {

     items[i].value=“”;

}

}

}

5.看代码,写结果:

代码如下:

 class Stuff {

static int i = 10;

static {i += 5;}

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println(i);

}

static {i /= 3;}

}

输出多少,为什么?

答:输出5,static可以保持变量内容的持久。当第一步执行后i=10,进入到第二个静态块,i+=5后i=15;然后执行最下面的静态块,所有i=5,最后输出。

 

6. 你平常的项目是怎么样架构的?

答:使用3层架构规划项目。三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增、删、改、查。

[编辑本段]概述

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。

三层结构原理:

3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。

所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。

表示层

位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

业务逻辑层

业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

数据层

数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。

简单的说法就是实现对数据表的SelectInsertUpdateDelete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

7、简述List、set、Map各实现哪些接口,有什么区别

答:ListSet继承了Collection接口,而Map没有继承Collection接口
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。

所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个Collection参数的构造函数用于创建一个新的Collection

  如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,

使用该迭代子即可逐一访问Collection中每一个元素。典型的用法如下:

    Iterator it = collection.iterator();

    while(it.hasNext()) {

      Object obj = it.next();

    }

Collection接口派生的两个接口是ListSetListSet的区别:List必须保持元素特定的顺序,而Set不能有重复元素。

8、有一个Double型变量,不同的国家存放不同的数据,美国习惯用$10321.50,英国习惯用£10321.50,请问用什么方法可以按照不同国家的习惯进行输出?(中)

答:CultureInfo对象

9.程序访问数据库记录速度很慢,分析什么原因造成以及解决办法。

答案:

原因很多种,其可能的典型如下:

查询语句本身造成的。优化语句

表结构问题。增加索引

网络环境造成。优化网络

系统瓶颈。优化系统

硬件造成的。升级硬件

10.游标的声明与使用,如何判断记录已到达最末尾

答案:

declare @myCur Cursor

 

declare mySet Cursor for

select * from 表名

set @muCur=mySet

open mySet

fetch next from mySet

while @@FETCH_STATUS=0

begin

fetch next from mySet

end

close mySet

deallocate mySet

11.如何用JavaScript实现一个浮动图片,可以随滚动条的移动而移动

答:<div id="oLayer" style="position:absolute;left:30;top:60;">

<img src="images\quick.gif";>

</div>

<SCRIPT>

document.write(new Array(100).join("<br>"))

var init_pos=last_pos=oLayer.style.posTop

setInterval(function scrollit(){ target_pos=document.body.scrollTop+init_pos

step=(target_pos-last_pos)/10|0  oLayer.style.posTop+=step  last_pos+=step },1)

</script>

12.什么是面向对象?

答:面向对象的基本概念分为以下几点》

(1)对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

  (2)对象的状态和行为:对象具有状态,一个对象用数据值来描述它的状态。

  对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。

  对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中

  (3):具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。

  类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。

  类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

  (4)类的结构:在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

  ①一般——具体结构称为分类结构,也可以说是关系,或者是“is a”关系。

  ②整体——部分结构称为组装结构,它们之间的关系是一种关系,或者是“has a”关系。

  (5)消息和方法:对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

13.抽象工厂模式和工厂模式的区别?(易)

答:工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。
                              一个抽象工厂类,可以派生出多个具体工厂类。
                              每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
                              一个抽象工厂类,可以派生出多个具体工厂类。
                              每个具体工厂类可以创建多个具体产品类的实例。
  
区别:工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
      工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。

14.编写一个ADO.NET中的事务的使用模型。(难)

答:

string connectionString=@”连接字符串”;

    using (SqlConnection connection = new SqlConnection(connectionString))

    {

        connection.Open();

 

        SqlCommand command = connection.CreateCommand();

        SqlTransaction transaction;

        transaction = connection.BeginTransaction("SampleTransaction");

        command.Connection = connection;

        command.Transaction = transaction;

 

        try

        {

            command.CommandText = "Insert语句1";

            command.ExecuteNonQuery();

            command.CommandText = "Insert语句2";

            command.ExecuteNonQuery();

            transaction.Commit();

            Console.WriteLine("Both records are written to database.");

        }

        catch (Exception ex)

        {

            Console.WriteLine("Commit Exception Type: {0}", ex.GetType());

            Console.WriteLine("  Message: {0}", ex.Message);

            try

            {

                transaction.Rollback();

            }

            catch (Exception ex2)

            {

                Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());

                Console.WriteLine("  Message: {0}", ex2.Message);

            }

        }

    }

选择题部分:

简单

1.装箱、拆箱操作发生在: (   C )
A.类与对象之间    B.对象与对象之间
C.引用类型与值类型之间   D.引用类型与引用类型之间

 

2.装箱与拆箱操作是否是互逆的操作?(B    )
A.是 B.否

 

3.以下哪个是可以变长的数组?(   D )
A.Array B.string[]
C.string[N] D.ArrayList

 

4.用户自定义异常类需要从以下哪个类继承:(  C )
A.Exception B.CustomException
C.ApplicationException D.BaseException

 

5.Net依赖以下哪项技术实现跨语言互用性?(  C  )
A.CLR B.CTS C.CLS D.CTT

 

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

 

7. 以下哪些可以作为接口成员?(多选) ( abde       )
A.方法 B.属性 C.字段 D.事件 E.索引器
F.构造函数 G.析构函数

 

8.以下关于ref和out的描述哪些项是正确的?(多选) (   acd     )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。

 

9.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?(   b  )
A.public B.protected C.internal D.protected internal

 

10. 在对SQL Server 数据库操作时应选用(A)。

a)SQL Server .NET Framework 数据提供程序;

b)OLE DB .NET Framework 数据提供程序;

c)ODBC .NET Framework 数据提供程序;

d)Oracle .NET Framework数据提供程序;

 

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

a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。

b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。

c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。

d)以上都不正确。

 

12 以下描述错误的是(A)

a)在C++中支持抽象类而在C#中不支持抽象类。

b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。

c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。

d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

 

13.下列描述错误的是(D)

a)类不可以多重继承而接口可以;

b)抽象类自身可以定义成员而接口不可以;

c)抽象类和接口都不能被实例化;

d)一个类可以有多个基类和多个基接口;

 

14.在DOM中,装载一个XML文档的方法(c)

a)save方法   b)load方法 c)loadXML方法 d)send方法

 

15.下列关于构造函数的描述正确的是(C)

a)构造函数可以声明返回类型。

b)构造函数不可以用private修饰

c)构造函数必须与类名相同

d)构造函数不能带参数

 

16. 以下是一些C#中的枚举型的定义,其中错误的用法有(c)

a)public enum var1{ Mike = 100, Nike = 102, Jike }

b)public enum var1{ Mike = 100, Nike, Jike }

c)public enum var1{ Mike=-1 , Nike, Jike }

d)public enum var1{ Mike , Nike , Jike }

 

17. 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]的值是(D)。

a)9                   b)2             c)6              d)越界

 

18.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。

a)方法、属性、索引器和事件; b)方法、属性信息、属性;

c)索引器和字段;    d)事件和字段;

 

19.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是(A )

a)HTML控件和Web控件 b)HTML控件和XML控件

c)XML控件和Web控件    d)HTML控件和IIS控件

 

20.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为( D)

a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>

b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>

c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>

d)以上皆非

 

21.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(C)。

a)insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;

b)ExecuteNonQuery()方法返回执行Sql语句所影响的行数。

c)Select操作的Sql语句只能由ExecuteReader()方法来执行;

d)ExecuteReader()方法返回一个DataReder对象;

 

22.下列ASP.NET语句(b)正确地创建了一个与SQL Server 2000数据库的连接。

a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);

d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

 

23.Winform中,关于ToolBar控件的属性和事件的描述不正确的是(D)。

a)Buttons属性表示ToolBar控件的所有工具栏按钮

b)ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度

c)DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键

d)ButtonClick事件在用户单击工具栏任何地方时都会触发

 

24.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(d ),必要时还要设置参数尺寸。

a)大小;             b)上限;       c)初始值;            d)类型;

 

25.如果将窗体的FormBoderStyle设置为None,则( a)。

a)窗体没有边框并不能调整大小;        b)窗体没有边框但能调整大小;

c)窗体有边框但不能调整大小;          d)窗体是透明的;

 

26.如果要将窗体设置为透明的,则( B)

a)要将FormBoderStyle属性设置为None;

b)要将Opacity属性设置为小于100%得值;

c)要将locked 属性设置为True;              

d)要将 Enabled属性设置为True;

 

27.下列关于C#中索引器理解正确的是(C )

a)索引器的参数必须是两个或两个以上   b)索引器的参数类型必须是整数型

c)索引器没有名字                     d)以上皆非

 

28.下面描述错误的是(c)。

a)窗体也是控件; b)窗体也是类; c)控件是从窗体继承来的;

d)窗体的父类是控件类;

 

29.要创建多文档应用程序,需要将窗体的(D )属性设为true。

a)DrawGrid;         b)ShowInTaskbar;          c)Enabled;            d)IsMdiContainer;

 

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

a)TreeNode;b)int;c)string;d)TreeView;

 

31.下面关于XML的描述错误的是(D)。

a)XML提供一种描述结构化数据的方法;

b)XML 是一种简单、与平台无关并被广泛采用的标准;

c)XML文档可承载各种信息;

d)XML只是为了生成结构化文档;

 

 

32.您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做?(  C )

A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。

B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。

C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。

D. 重写OnLayout事件,当Grid的Footer行被创建时显示合计数。

 

32.您的公司有一个DB Server,名为AllWin,其上装了MS SQLSERVER 2000。现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?(  B  )

  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”

 

33.您为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个 Xml Web Service。这个 Xml Web Service 将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个 Xml Web Service?( b  )

  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 文件。

 

34.您要创建一个ASP.NET应用程序在DataGrid控件中显示一个经过排序的列表。产品数据被存放于一个名为PubBase的Microsoft SQL Server 数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字母顺序排列的ProductName,请问该怎么做? (  B  )

  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控件。

 

中等

1.用户类若想支持Foreach语句需要实现的接口是: (  a  )
A.IEnumerable B.IEnumerator
C.ICollection     D.ICollectData

 

2. 对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) (     ABC   )
A.Close B.Dispose C.Finalize
D.using E.Quit

 

3. class Class1
{
    private static int count = 0;
    static Class1()
    {
        count++;
    }
    public Class1()
    {
        count++;
    }
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.Count的值是多少?(  c  )
A.1 B.2 C.3 D.4

 

4abstract 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调用的是: (  c  )
A.BaseClass.MethodA B.Class2.MethodA
C.Class1.MethodA D.都不是

 

5. 您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。
所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:
• 匿名用户不允许访问这个应用程序。
• 所有雇员除了Tess和King都允许访问这个应用程序。
请问您应该使用以下哪一个代码段来配置这个应用程序?(A  )
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>

 

6.以下描述错误的是(A)

a)在C++中支持抽象类而在C#中不支持抽象类。

b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。

c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。

d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

较难

1. .Net Framework通过什么与COM组件进行交互操作?( c )
A.Side By Side B.Web Service
C.Interop D.PInvoke

 

2. .Net依靠以下哪一项技术解决COM存在的Dll Hell问题的?(   A)
A.Side By Side B.Interop
C.PInvoke D.COM+

 

3. .要对注册表进行操作则必须包含( D)。

a)System.ComponentModel命名空间; b)System.Collections命名空间;

c)System.Threading命名空间;      d)Microsoft.Win32命名空间;

 

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

  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错误。

 

 

SQL Server部分

简单

1.什么是inserted表?什么是deleted表?

答:触发器触发时:

系统自动在内存中创建deleted表或inserted

只读,不允许修改;触发器执行完成后,自动删除

inserted

临时保存了插入或更新后的记录行

可以从inserted表中检查插入的数据是否满足业务需求

如果不满足,则向用户报告错误消息,并回滚插入操作

deleted

临时保存了删除或更新前的记录行

可以从deleted表中检查被删除的数据是否满足业务需求

如果不满足,则向用户报告错误消息,并回滚插入操作

触发器的语法:

Create Trigger  trigger_name  On  table_name  For [Delete, Insert, Update]

 as

  T-SQL语句

GO

Insert触发器实例:

CREATE TRIGGER trig_transInfo  ON transInfo   FOR INSERT

   AS

   DECLARE @type char(4),@outMoney MONEY

   DECLARE @myCardID char(10),@balance MONEY

   SELECT @type=transType,@outMoney=transMoney

         @myCardID=cardID FROM inserted

     IF (@type='支取')

        UPDATE bank SET currentMoney=currentMoney-@outMoney

             WHERE cardID=@myCardID

    ELSE

        UPDATE bank SET currentMoney=currentMoney+@outMoney

             WHERE cardID=@myCardID

    …..

GO

Delete触发器实例:

CREATE TRIGGER trig_delete_transInfo ON transInfo  FOR DELETE

   AS

      print '开始备份数据,请稍后......'

      IF NOT EXISTS(SELECT * FROM sysobjects

           WHERE name='backupTable')

         SELECT * INTO backupTable FROM deleted

     ELSE

         INSERT INTO backupTable SELECT * FROM deleted

      print '备份数据成功,备份表中的数据为:'

      SELECT * FROM backupTable

GO

2..在成绩表中,小于60分为不及格,大于60分为及格,大于80分为优秀,请用一条SQL语句查询。

答:设有成绩表Scores  包含字段ScoreId  Score

查询语句如下:

Select 成绩=case

           When  score  between(0 and 59) then ‘不及格’

           When  score  between(60 and 79)  then ‘及格’

           When   score between(80 and 100) then ‘优秀’

           Else ‘无效成绩’

          End

From Score

 

3.tb_send表中有日期时间字段SendTime,请用SQL语句查处当天所有记录.

答: select * from tb_send where datediff(day,sendTime,getdate())=0

4. sql查询,表table(id,lastUpdateDate);第一个字段为标识列,第二个为最后更新时间。使用一条sql语句查出最近一次的修改时间

答:select top 1 lastUpdateDate from [table] order by lastUpdateDate desc

5.举例写出表的左右关联查询(易)

:  select  *  from  A  left  join  B  on  A.id=B.id

select  *  from  A  right  join  B  on  A.id=B.id

6.看表写SQL

Id

1

自动增长,主键

 

Name

Accp

 

 

Tel

1111111111

 

 

Datetime

2008-1-1

 

 

查询出时间在2008-1-12009-3-3的所有信息

更新id=8name为你的姓名,tel为你的电话号码

插入一行数据

答:1select * from where Datetime>=2008-1-1 and Datetime<=2009-3-3

2)select name as 姓名,tel as 电话号码 from where id=8

3)insert into (name,tel,datetime) values(‘ss’,’111111111’,’2009-01-01’)

7.写出一条查询所有用户当tid为1的时候显示普通用户,为2时显示VIP用户

:Select case when tid=1 then ‘普通用户’ when tid=2 then ‘VIP用户’else ‘未知’end as title from 表名

8.写出一条查询所有订单数大于3条的用户

Select * from T_Costomer where Cid in(select Cid from T_order group by Cid having count(*)>3)

9.删除3张表CId=3的所有记录?

Delete T_Record where Oid in(Select Oid from T_order where Cid=3)

Delete T_order where CId=3;

Delete T_Costomer where Cid=3;

 

10.数据库定义一个int变量。括号里是面试时问的(数据库中怎么将Int类型转换成sting)

:使用Convert函数,convert(varchar(长度),任何有效的表达式)

 

11.怎么声明一个table 怎么在在表中申明列a 和列b 以及怎么给列赋值。

:create table 表名{a int, b int}

Insert into表名 values (1,1)

12.查询订单在2005-8月以后的所有订单,并且订单时间为空的时候显示未送达

答:select case when时间列 is null then ‘未送达’else 时间列 end as 订单时间  from 表名 where 时间列>’2005-8’

13.查询时间最近的三条记录。

答:select top 3 * form 表名 order by 时间列 desc

14.怎么调用存储过程 写好了一个存储过程,让你在数据库中调用。

答:Execute 存储过程名  [参数列表]

15.有一张表 主键ID 一共有10条记录  其他字段自定义  按照顺序把数据从数据库中依次读出来!

答:select * from 表名 order by ID

16.描述C#中索引器实现的过程   是否只有数字可以作为索引

:使用this关键字作为名称,后接[]来定义参数列表,内部有setget方法块组成;可以

 

17.看数据写结果表中已存在内容:

已知表数据如下:

2005-05-09

2005-05-09

2005-05-09

2005-05-09

2005-05-10

2005-05-10

2005-05-10

如果要生成下列结果, 该如何写sql语句?

            胜 负

2005-05-09  2   2

2005-05-10  1   2

 

答:--assert1:

select * from tempTable

select date, sum(case when shengfu='' then 1 else 0 end)'',

             sum(case when shengfu='' then 1 else 0 end)''

from tempTable group by date

 

--assert2:

select S.date,S.,F.from

(select date,=count(*) from temptable where shengfu=''group by date) as S

inner join

(select date,=count(*) from temptable where shengfu=''group by date) as F

 on S.date=F.date

 

18. 表中有A B C三列,

SQL语句实现:字段1的值为当A列大于B列时选择A列否则选择B列,

               字段2的值为当B列大于C列时选择B列否则选择C列。

答:select 字段1=case when a>b then a

        else b

        end,

       字段2=case when b>c then b

        else c

        end

from tempTableABC

 

19. 有一张表,里面有3个字段:语文,数学,英语。

其中有一条记录分别表示语文70分,数学80分,英语58分,

请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):  

   大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。  

       显示格式:  

       语文              数学                英语  

       及格              优秀                不及格  

答:

select

(case when 语文>=80 then '优秀'

        when 语文>=60 then '及格'

else '不及格') as 语文,

(case when 数学>=80 then '优秀'

        when 数学>=60 then '及格'

else '不及格') as 数学,

(case when 英语>=80 then '优秀'

        when 英语>=60 then '及格'

else '不及格') as 英语,

from table

 

20.sqlserver2000是一种大型数据库,他的存储容量只受存储介质的限制,请问它都要那些类型的文件组成,并说明其不同

答:

主要数据文件

主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。

 

次要数据文件

次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。

 

日志文件

日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。

中等

1. 查询表中stuAge字段有重复值的数据:

例:

 

输出结果如下:

 

答:

select   *   from   stuinfo     

  where   stuAge   in   

  (   

  select   stuAge   from   stuinfo     

        group   by   stuAge   having   count(*)>1

  )  

2.用 table2中科目余额更新table1中的科目余额,不在table2中出现的科目不更新。

Update table1

set 科目余额 = table2.科目余额 from table2

where table1.科目= table2.科目

6. 查询表中中间的一行数据:

 

输出:

 

答:

select * from

(select 行号=row_number() over (order by stuno),* from stuinfo ) temptable

where 行号=(select round(count(*)/2.0,0) from stuinfo)

3.查出表中11到20条记录,ID作为主键(ID可能不是连续的);

答:

select *  from

   ( select ROW_NUMBER() over(order  by  id) as 行号,  * from temptable)  as  temp

   where 行号 between 21 and 30 order by id

 

Select   top   10   *   from   temptable   where  id  not   in

   ( select   top  30   id   from   temptable )

4. SQL语句编写T表前10行记录,总行数。(易)

答:select top 10 * from T;select count(*) from T

5.看表数据写sql语句

Productid

saleName

Saleprice

Enployee

2

2

200

M

1

5

300

N

3

1

450

M

4

3

500

N

               Sale

2

2

200

M

1

5

300

N

3

1

450

M

4

3

500

N

 

 

 

 

 

 

 

 

 

 

 

问:

是否可以对product标的数据进行删除,如何操作

答:delete from Sale where Productid=2

Delete from Product where Productid=2

Sale表中Priductid2的产品价格更新为Product表中的Price

答:update Sale set Saleprice=Price from Product join Sale on Sale. Productid= Product.Productid where Sale .Productid=2

写出统计每个员工的销售总额的SQL语句

:select saleName,sum(Saleprice) from Sale group by saleName

写出员工销售总额的最大值和SQL语句

答:select max(salep) from (select saleName,sum(Saleprice) as salep from Sale group by saleName) as A

Update Sale表默认自动开始事务么?为什么?

答:开始;自动提交事务》每条单独的语句都是一个事务

6.执行如下sql语句

if exists(select * from sysobjects where [name]='scoreTable')

drop table scoreTable

go

create table scoreTable

(

 stuName char(10),

 courseName char(10),

 score int

)   

go   

insert scoreTable values('张三','语文',80)   

insert scoreTable values('张三','数学',86)   

insert scoreTable values('张三','英语',75)   

insert scoreTable values('李四','语文',78)   

insert scoreTable values('李四','数学',85)   

insert scoreTable values('李四','英语',78)   

 

select * from scoreTable

 

要求:编写sql语句实现输出如下矩阵

stuName    数学          英语          语文

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

李四         85          78          78

张三         86          75          80

答:

select stuName,数学=sum(case courseName when '数学' then score end),

               英语=sum(case courseName when '英语' then score end),

               语文=sum(case courseName when '语文' then score end)

from   scoreTable   group   by   stuName

 

7.在sqlserver2000中请用sql创建一张用户临时表和系统临时表,里面包含两个字段ID和IDValues,类型都是int型,并解释两者的区别?

答:

局部临时表:create table #xx(ID int, IDValues int)

全局临时表:create table ##xx(ID int, IDValues int)

区别:

表名以‘#’开头,它的生命周期很短,在创建它的批处理或过程结束时被删除。

 

全局临时表对整个SQL Server实例都可见,

表名以‘##’开头,它的生财期较长,所有的用户都可以引用全局临时表,只有当最后一个引用它的会话结束之后才会将它删除。所以在创建全局临时表之前,应该写个条件判断一下是否有同名的表存在。

演示:

例:一个SQL studio 用第一个查询分析器创建#a与#aa表

   添加查询,对#a无法查询,对#aa可查询,关闭sql studio,对#aa也无法查询

 

较难

1.看表,写出实现的SQL语句

商品表:

编号

名称

价格

分类

7

熊猫

9854

生产工具

1

香蕉

3

食物

2

苹果

2

食物

3

火箭炮

900

生产工具

6

板砖

1.5

生产工具

顾客表:

编号

姓名

地址

1

水蓝

水星

3

蒙蒙

地球

6

阿星

月球

交易表

编号

商品编号

顾客编号

所购数量

1

1

1

12

2

3

1

1

3

7

3

1

4

6

6

7

5

2

6

4

6

2

1

45

问:列出没有购买苹果的顾客的姓名和家庭住址

答:select name as '姓名',address as '地址' from 顾客表 where 顾客编号 not in (select 顾客编号 from 交易表 where 商品编号 in (select 商品编号 from 商品表 where name = '苹果') group by 顾客编号)

问:列出每个人在购买生产工具和食物上各花了多少钱

答:Select '姓名', '物品', '数量', '单价', '分类', (数量*单价) as '总价' from 顾客表 , 商品表, 交易表

Where 顾客表.编号 in (select 顾客编号 from 交易表 group by 顾客编号) and 交易表. 顾客编号= 顾客表.编号 and  交易表. 商品编号= 商品表. 编号

问:列出卖出总金额最少的前三个商品名称及卖出金额

答:select top 3  ‘商品名称’,  ‘总价'  from  商品表,  交易表

where  商品表.编号 =  交易表.商品编号 order by  ‘总价’

 

上机题部分

1.winForm上机(TreeViewListView

题目:用TreeViewListView显示节点

一.语言和环境

   实现语言

     C#WinForm

二.环境要求

   Visual Studio.Net 2005

三.要求

   你需要实现的具体功能如下:

       点击TreeView节点,ListView显示节点的内容;

       TreeView显示系统目录信息,ListView显示选中目录的文件信息

       页面中用label以路径的方式显示选中节点所在的位置。

       请按照推荐实现步骤完成上述功能。

2. GridView & 自定义样式: 

自己设计一张表用GridView实现对该表的增删改的操作,需要自定义出CSS样式,然后给GridView指定该样式。

 

3.Asp.net上机(GridView)

1、设计一个查询界面,按照模糊查询对表进行操作,用vs2005设计界面,用GridView显示

表名:joinkeyuser

字段:username

      Usermail

      Usertel

4.Asp.net上机(DropDownList & GridView)

设计一个界面,按照模糊查询方式,查询数据库的数据。

   数据库:server 2000

   开发工具:vs 2005

   数据库字段:useidusenamesuenickname

   实现分页功能(下拉列表框形式显示),GridView显示数据库信息

5.使用WinForm绘图

已知Line类在两点之间绘制一条直线,具有以下属性和方法:
1  获取或设置Line起点的X坐标,Double类型;
2  获取或设置Line终点的X坐标,Double类型;
1  获取或设置Line起点的Y坐标,Double类型;
2  获取或设置Line终点的Y坐标,Double类型;
1.编写Drawing()方法,用来绘制直线;
2.请绘制一个半径为(2.6),圆心为(7.38.7)的圆

6.用Asp.net实现登陆

自己写一个登陆,用户登陆正确后,能跳转到指定的页面。Sql数据库信息自己设计并录入测试记录

7.GridView操作

写两个asp.net的页面,在第一个页面里面有DropDownListDataGrid。其中DropDownList有两个项分别对应两个数据库的两个表(要求手工添加),每选择一个项,DataGrid就和该表绑定。DataGrid要求可以分页。选择DataGrid的某行(可以是该表的某一项)时,页面弹出,在新的页面里显示该行的某项的内容。

8.Asp.net上机(1至2天完成)

基本要求
1 任意建一用户表A,内有任意列,其中一列为邮件字段。
2 建立一TextArea,用于输入sql语句,操作表A
3 结合TextArea和表A,查询出来的记录,筛选出邮件字段,循环进行邮件发送。
4 邮件标题和邮件内容可自行输入,支持html格式。
5 邮件标题和内容可根据表A字段进行部分参数替换。
如: 
你好:AAA

你是XXX公司吧?您的电话应该是YYY
附加功能:
1 数据库连接字符串可自行设定、保存。
2 能够保存每次邮件发送的相关参数,以备多次使用。

要求:
1 程序可扩展性强。
2 代码可读性强。
3 CSBS结构均可。
4 数据库用SqlserverAccess均可。
5 开发时间最好控制在1~2天。

9. Asp.net上机(1至2天完成)

公司名:

 

地址:

 

性质:

 

产品:

 

检查人:

 

检查日期:

 

合适检查人:

 

合法性:

是           否   (单选框)

安全防火:

有           没有(单选框)

立即改正:

1.AAAAAAAAAA

2.BBBBBBBBBBB

3.CCCCCCCCCCC

4.DDDDDDDDDDD

5.EEEEEEEEEEEE

6.FFFFFFFFFFFFF

(多选框)

则期改正:

1.AAAAAAAAAA

2.BBBBBBBBBBB

3.CCCCCCCCCCC

4.DDDDDDDDDDD

5.EEEEEEEEEEEE

6.FFFFFFFFFFFFF

(多选框)

 

表二

公司名:

 

地址:

 

性质:

 

产品:

 

检查人:

 

检查日期:

 

 

表三

检查更正

公司名:()

哪快有问题()时间()

哪需要立即改正()

哪需要则期改正()

则期时间()

 

 

 

自己建库 ,web应用程序

数据库有3张表:

产品表: (ID,产品名称)

定单表:(ID,定单号,定单日期)

定单详细表:(ID,定单ID,数量)

 

要求:

随意增删改查

如果出现异常,必须事务回滚

要求有接口,不能直接访问数据层

 

 

 

posted @ 2016-06-17 10:40  萌新小生  阅读(609)  评论(0编辑  收藏  举报