.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...

面试题 相关文章推荐
如何配置、使用和清除Smarty缓存
Dec 23 面试题
Java基础知识面试要点
Jul 29 面试题
华为慧通笔试题
Apr 22 面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
Dec 02 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述。
Nov 09 面试题
视图的作用
Dec 19 面试题
.NET概念性的面试题
Feb 29 面试题
Linux文件系统类型
Feb 15 面试题
捷科时代的软件测试笔试题
Nov 09 面试题
AJAX都有哪些有点和缺点
Nov 03 面试题
Java中的基本数据类型所占存储空间大小固定的吗
Feb 15 面试题
servlet面试题
Aug 20 面试题
中海讯通笔试题
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 采集程序中常用的函数
2009/12/09 PHP
PHP数据类型的总结分析
2013/06/13 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
vue的mixins属性详解
2018/03/14 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue webpack重写cookie路径的方法
2019/07/10 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
Yahoo-PHP面试题1
2016/07/20 面试题
九年级历史教学反思
2014/01/27 职场文书
产品质量承诺范本
2014/03/31 职场文书
请假条格式范文
2014/04/10 职场文书
教师职位说明书
2014/07/29 职场文书
自查自纠工作总结
2014/10/15 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript