1、net面试.net笔试题1.填空: (1)面向对象的语言具有_性、_性、_性。 (2)能用foreach遍历访问的对象需要实现 _Inu_接口或声明_方法的类型。 (3)列举ADO.net中的五个主要对象_、_、_、_、_。2. 不定项选择:(1) 以下叙述正确的是: A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。(2) 从数据库读取记录,你可能用到的方法有: A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader3. 简述 private、 protec
2、ted、 public、 internal 修饰符的访问权限。4. 写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)5 .列举ASP.NET 页面之间传递值的几种方式。6. 写出程序的输出结果class Class1 private string str = Class1.str; private int i = 0; static void StringConvert(string str) str = string being converted.; static void StringConvert(Cla
3、ss1 c) c.str = 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; Class1 c = new Class1(); Add(i1); AddWithRef(ref i2); Add(c.i); StringConvert(str); StringConvert(c); Console.WriteLine(i1); Console
4、.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str); 7.写出程序的输出结果public abstract class A public A() Console.WriteLine(A); public virtual void Fun() Console.WriteLine(A.Fun(); public class B: A public B() Console.WriteLine(B); public new void Fun() Console.WriteLin
5、e(B.Fun(); public static void Main() A a = new B(); a.Fun(); 8. 写出程序的输出结果:public class A public virtual void Fun1(int i) Console.WriteLine(i); 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 = new B(); A a
6、 = new A(); a.Fun2(b); b.Fun2(a); 9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34. 求第30位数是多少, 用递归算法实现。(C#语言)10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)要求: 1.要有联动性,老鼠和主人的行为是被动的。2.考虑可扩展性,猫的叫声可能引起其他联动效应。参考答案:1. (1) 继承性、封装性、多态性。(考基本概念) (2) IEnumerable 、 GetEnumerator (对foreach机制的理解,本来不想出这题的,凑分) (3) . (送分题, 对ADO.net的了解)评分
7、标准:一空1分,满分10分。2. (1) B、C (考对接口的理解) (2) B、C、D (考查对ADO.net的熟练程度) 评分标准: 一题5分,不选或者错选均不得分。漏选得2分。满分10分。3. . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。评分标准:答对1题2分,2题5分,3题7分。全对10分。 (送分题)4. 解1: select top 10 * from A where id not in (select
8、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. 1.使用QueryString, 如.?id=1; response. Redirect(). 2.使用Session变量 3.使用Server.Transfer .等等 评分标准: 答对1点得3分, 两点7分, 3点10分。6. (考查值引用和对象引用)10210strstring being con
9、verted.评分标准:答对一点得2分,满分10分。7. A BA.Fun()评分标准: 写出A.B 得5分,写出A.Fun()得5分,满分10分。(考查在继承类中构造函数, 以及new 方法, )8. 2 5 1 6评分标准: 答对一点得2分,两点得5分,3点得7分。全对得10分。(一些人做这题,头都晕了. _ )9. public class MainClass public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i 0 & i 0 & i = 2) return 1;
10、得5分。 方法参数过多需要扣分(扣除分数 = 参数个数 1) 不用递归算法扣5分 (递归算法在树结构建立等方面比较常用)10要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象评分标准: .构造出Cat、Mouse、Master三个类,并能使程序运行(2分) 从Mouse和Master中提取抽象(5分) 联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分) public interface Observer void Response(); /观察者的响应,如是老鼠见到猫的反映 public interface Subject v
11、oid AimAt(Observer obs); /针对哪些观察者,这里指猫的要扑捉的对象-老鼠 public class Mouse : Observer private string name; public Mouse(string name, Subject subj) this.name = name; subj.AimAt(this); public void Response() Console.WriteLine(name + attempt to escape!); public class Master : Observer public Master(Subject su
12、bj) subj.AimAt(this); public void Response() Console.WriteLine(Host waken!); public class Cat : Subject private ArrayList observers; public Cat() this.observers = new ArrayList(); public void AimAt(Observer obs) this.observers.Add(obs); public void Cry() Console.WriteLine(Cat cryed!); foreach (Obser
13、ver obs in this.observers) obs.Response(); class MainClass static void Main(string args) Cat cat = new Cat(); Mouse mouse1 = new Mouse(mouse1, cat); Mouse mouse2 = new Mouse(mouse2, cat); Master master = new Master(cat); cat.Cry(); /-设计方法二: 使用event - delegate设计. public delegate void SubEventHandler(
14、); public abstract class Subject public event SubEventHandler SubEvent; protected void FireAway() if (this.SubEvent != null) this.SubEvent(); public class Cat : Subject public void Cry() Console.WriteLine(cat cryed.); this.FireAway(); public abstract class Observer public Observer(Subject sub) sub.S
15、ubEvent += new SubEventHandler(Response); public abstract void Response(); public class Mouse : Observer private string name; public Mouse(string name, Subject sub) : base(sub) this.name = name; public override void Response() Console.WriteLine(name + attempt to escape!); public class Master : Obser
16、ver public Master(Subject sub) : base(sub) public override void Response() Console.WriteLine(host waken); class Class1 static void Main(string args) Cat cat = new Cat(); Mouse mouse1 = new Mouse(mouse1, cat); Mouse mouse2 = new Mouse(mouse2, cat); Master master = new Master(cat); cat.Cry(); 面试:1. C#
17、中property与attribute的区别,他们各有什么用处,这种机制的好处在哪里?2.讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)(源码网教程下载,)3. C#, Java和c+的特点,有什么相同的地方,不同的地方,C#分别从c+和java中吸取了他们那些优点?4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)5.用Visual C+ 6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?6.以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)7.你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1