.net面试题集锦
近几天在换工作,就顺便把遇到的和在网上看到的一些比较有意思的题目在此做个记录,以供大家在找工作时有所底气.希望在看完这些题目之后对您的面试有所帮助.
1: 列举ASP.NET 页面之间传递值的几种方式。
1,QueryString,如....?id=*; Response.Redirect()..
2.使用Session变量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item属性
7.使用文件
8.使用数据库
9.使用Cookie
2. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第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); }
3.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
foreach (Control item in Page.Controls) { 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
private static int Count(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);
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()方法可以产生必须退出的标志来停止一个线程。
不段更新中...如有错误或更好的答案,请各位指出,谢谢.
本文出自 “狼之魂” 博客,请务必保留此出处http://itwolf.blog.51cto.com/3286625/1366035
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。