1、DOTNET面试题初级中级参考答案net 资料仅供参考 中软强网DOTNET程序员面试题(初级中级)参考答案 姓名: 年龄: 籍贯: 应聘岗位: 期望薪金: 最低薪金: 期望培训方向: 联系方式: 住址: 1.填空: 评分标准:一空1分,满分10分。 (1)面向对象的语言具有________性、_________性、________性。 继承性、封装性、多态性。(考基本概念) (2)能用foreach遍历访问的对象需要实现 ________
2、接口或声明________________方法的类型。 IEnumerable 、 GetEnumerator (对foreach机制的理解,原来不想出这题的,凑分) (3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。 ... (送分题, 对ADO.net的了解) 2. 不定项选择: 评分标准: 一题5分,不选或者错选均不得分。漏选得2分。满分10分。 (1) 以下叙述正确的是: A. 接口中能够
3、有虚方法。 B. 一个类能够实现多个接口。 C. 接口不能被实例化。 D. 接口中能够包含已实现的方法。 B、C (考对接口的理解) (2) 从数据库读取记录,你可能用到的方法有: A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader B、C、D (考查对ADO.net的熟练程度) 3. 简述 private、 protected、 public、 internal 修饰符的访问
4、权限。 private : 私有成员, 在类的内部才能够访问。 protected : 保护成员,该类内部和继承类中能够访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内能够访问。 评分标准:答对1题2分,2题5分,3题7分。全对10分。 (送分题) 4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。) 解1: select top 10 * from A where id not in (selec
5、t top 30 id from A) 解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) 评分标准:写对即10分。(答案不唯一,datagrid 分页可能需要用到) 5 .列举ASP.NET 页面之间传递值的几种方式。 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer ....等等
6、 评分标准:答对1点得3分,两点7分, 3点10分。 6. 写出程序的输出结果 class Class1 { private string str = "Class1.str"; private int i = 0; static void StringConvert(string str) { str = "string being converted."; } static void StringConvert(Class1 c) { c.str
7、 "string being converted."; } static void Add(int i) { i++; } static void AddWithRef(ref int i) { i++; } static void Main() { int i1 = 10; int i2 = 20; string str = "str"; Clas
8、s1 c = new Class1(); Add(i1); AddWithRef(ref i2); Add(c.i); StringConvert(str); StringConvert(c); Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLi
9、ne(str); Console.WriteLine(c.str); } } (考查值引用和对象引用) 10 21 0 str string being converted. 评分标准:答对一点得2分,满分10分。 7.写出程序的输出结果 public abstract class A { public A() { Console.WriteLine('A'); } public virtual void Fu
10、n() { Console.WriteLine("A.Fun()"); } } public class B: A { public B() { Console.WriteLine('B'); } public new void Fun() { Console.WriteLine("B.Fun()"); } public static void
11、 Main() { A a = new B(); a.Fun(); } } A B A.Fun() 评分标准:写出A.B 得5分,写出A.Fun()得5分,满分10分。 (考查在继承类中构造函数, 以及new 方法, ) 8. 写出程序的输出结果: public class A { public virtual void Fun1(int i) { Console.WriteLine(i);
12、 } public void Fun2(A a) { a.Fun1(1); Fun1(5); } } public class B : A { public override void Fun1(int i) { base.Fun1 (i + 1); } public static void Main() { B b
13、 new B(); A a = new A(); a.Fun2(b); b.Fun2(a); } } -------------------------------------------- 2 5 1 6 评分标准:答对一点得2分,两点得5分,3点得7分。全对得10分。 9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。(C#语言) public c
14、lass 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;
15、 else return Foo(i -1) + Foo(i - 2); } } 评分标准:写出return Foo(i -1) + Foo(i - 2); 得5分。 写出if(i > 0 && i <= 2) return 1; 得5分。 方法参数过多需要扣分(扣除分数 = 参数个数- 1) 不用递归算法扣5分 (递归算法在树结构建立等方面比较常见) 10、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。
16、>
19、






