.net笔试题


Posted in 面试题 onMarch 03, 2014
1. 填空: (1)面向对象的语言具有________性、_________性、________性。
(2)能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
(3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。
2. 不定项选择:
(1) 以下叙述正确的是:
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。
C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:
A. ExecuteNonQuery B. ExecuteScalar
C. Fill D. ExecuteReader
3. 简述 private、 protected、 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(Class1 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.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.WriteLine(“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 = 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的了解)
评分标准:一空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 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. (考查值引用和对象引用)
10
21
0
str
string being converted.
评分标准:答对一点得2分,满分10分。

7. A
B
A.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 return 0;
else if(i > 0 && i return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
评分标准: 写出return Foo(i -1) + Foo(i - 2); 得5分。
写出if(i > 0 && i 方法参数过多需要扣分(扣除分数 = 参数个数 - 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
{
void 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 subj)
{
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 (Observer 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();
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.SubEvent += 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 : Observer
{
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();
}
}

Tags in this post...

面试题 相关文章推荐
List, Set, Map是否继承自Collection接口?
May 16 面试题
包装类的功能、种类、常用方法
Jan 27 面试题
类如何去实现接口
Dec 19 面试题
新东网科技Java笔试题
Jul 13 面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 面试题
DBA数据库管理员JAVA程序员架构师必看
Feb 07 面试题
结构和类有什么异同
Jul 16 面试题
亿阳信通股份有限公司C#笔试题
Dec 06 面试题
what is the difference between ext2 and ext3
Nov 03 面试题
什么是组件架构
May 15 面试题
Python面试题集
Mar 08 面试题
Java面试题:为什么要用Java
May 11 面试题
中海讯通笔试题
Sep 15 #面试题
北京一家公司的.net开发工程师笔试题
Apr 17 #面试题
西部世纪面试题
Dec 05 #面试题
.net面试题
Sep 17 #面试题
北京RT科技有限公司.net工程师面试题
Feb 15 #面试题
2019史上最全Database工程师题库
Dec 06 #面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 #面试题
You might like
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
PHP中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
理解javascript async的用法
2017/08/22 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
元旦晚会开场白
2015/05/29 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技
win10搭建配置ftp服务器的方法
2022/08/05 Servers