1: 列举ASP.NET 页面之间传递值的几种方式。
QueryString,如....?id=*; Response.Redirect()..
Session变量
Cookie
Application
HttpContext的Item属性
Cache
Server.Transfer
数据库
文件
2. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第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中读写数据库需要用到那些类?他们的作用?
DataSet 无连接的存储多个表的数据,并包含表于表之间的关联关系
DataTable 存储一个表的数据
SqlConnection 创建一个到数据库的连接
SqlCommand 执行Sql语句
SqlDataReader 顺序读取数据
SqlDataAdapter 将数据填充到DataSet或DataTable
8. 常用的调用WebService的方法有哪些?
使用WSDL.exe命令行工具。
使用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示例"); }
委托的创建和调用方法:
声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型。
创建delegate对象,并将你想要传递的函数作为参数传入。
在要实现异步调用的地方,通过上一步创建的对象来调用方法。
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. 堆和栈的区别?
栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。
堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。
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使用的协议。