1: 列举ASP.NET 页面之间传递值的几种方式。

  1. QueryString,如....?id=*; Response.Redirect()..

  2. Session变量

  3. Cookie

  4. Application

  5. HttpContextItem属性

  6. Cache

  7. Server.Transfer

  8. 数据库

  9. 文件

2. 一列数的规则如下: 112358132134......求第30位数是多少, 用递归算法实现。

public 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);
}

3.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty

foreach (Control cTem in item.Controls)
{
     if (cTem.GetType().ToString().Equals("System.Web.UI.WebControls.TextBox"))
     {
          ((TextBox)cTem).Text = string.Empty;
     }
}

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

int[] intarray = new int[*];
int temp = 0;
for(int i = 0; i < intarray.Length - 1; i ++)
{
    for(int j = i + 1; j  < intarray.Length; j ++)
    {
        if(intarray[i] > intarray[j])//从小到大
        {
            temp =  intarray[i];
            intarray[i] = intarray[j];
            intarray[j] = temp;
        }
    }
}

5.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m

public int GetSum(int m)
{
    int sum = 0;
    for (int i = 1; i <= m; i++)
    {
        if (i % 2 == 0)
        {
            sum -= i;
        }
        else
        {
            sum += i;
        }
    }
    return sum;
}

6.在下面的例子里, 当使用new B()创建B的实例时,产生什么输出?

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);
    }
}
//结果:X=1,Y=0

7. .net中读写数据库需要用到那些类?他们的作用?

  1. DataSet 无连接的存储多个表的数据,并包含表于表之间的关联关系

  2. DataTable 存储一个表的数据

  3. SqlConnection 创建一个到数据库的连接

  4. SqlCommand 执行Sql语句

  5. SqlDataReader 顺序读取数据

  6. SqlDataAdapter 将数据填充到DataSet或DataTable


8. 常用的调用WebService的方法有哪些?

  1. 使用WSDL.exe命令行工具。

  2. 使用VS.NET中的Add Web Reference菜单选项


9. 请创建一个委托,用按钮的点击事件来调用提示:"成功创建Delegate示例"

public delegate void ShowMsg(string msg);
public void Msg_Show(string ms)
{
    MessageBox.Show(ms);
}
private void button1_Click(object sender, EventArgs e)
{
    ShowMsg sm = new ShowMsg(Msg_Show);
    sm("成功创建Delegate示例");
}

委托的创建和调用方法:

  1. 声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型。

  2. 创建delegate对象,并将你想要传递的函数作为参数传入。

  3. 在要实现异步调用的地方,通过上一步创建的对象来调用方法。


10. SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务

方法一: SELECT ID FROM TABLE1 WHERE LASTUPDATEDATE=(SELECT MAX(LASTUPDATE) FROM TABLE1);

方法二: SELECT TOP 1 ID, LastUpdateDate FROM TABLE1 ORDER BY LastUpdateDate DESC


11. SQL SERVER数据表tmpTable中有数据列a, 不用Min, Max 等聚合函数, 同时也不能使用Order By 求出最大值或最小值.

SELECT A FROM tmpTable TTA WHERE NOT EXISTS(SELECT 1 FROM tmpTable TTB WHERE TTA.A<TTB.A)

12.给定以下XML文件,完成算法流程图。
<FileSystem>
    < DriverC>
        <Dir DirName=”MSDOS622”>
            <File FileName =”Command.com” ></File>
        </Dir>
        <File FileName =”MSDOS.SYS” ></File>
        <File FileName =”IO.SYS” ></File>
    </DriverC>
</FileSystem>

请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。

void FindFile(Directory d)
{
     FileOrFolders = d.GetFileOrFolders();
     foreach( FileOrFolder fof in FileOrFolders )
     {
          if( fof is File )
               You Found a file;
          else if ( fof is Directory )
               FindFile( fof );
      }
}


13. String s = new String("xyz"); 创建了几个String Object?

创建了两个对象, 一个是"xyz”, 另一个是指向"xyz"的引用对象.


14. 启动一个线程是用run()还是start()?

启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。 run()方法可以产生必须退出的标志来停止一个线程。


15. 进程和线程的区别?

进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。


16. 堆和栈的区别?

栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。

堆:一般由程序员分配释放。用newmalloc等分配内存函数分配得到的就是在堆上。


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

int[] intarray = new int[100];
ArrayList hasInt = new ArrayList();
Random r = new Random();
int tmp = 0;
while(hasInt.Count < 100)
{
   tmp = r.Next(1,101);
   if(!hasInt.Contains(tmp))
    {
        hasInt.Add(tmp);
        intarray[hasInt.Count] = tmp;
    }
}


18. 什么是SOAP,有哪些应用。

Simple Object Access Protocal 简单对象接受协议xml为基本编码结构建立在已有通信协议上(http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范Web Service使用的协议



如有错误或更好的答案,请各位指出,谢谢.