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

面试题 相关文章推荐
你所知道的集合类都有哪些?主要方法?
Dec 31 面试题
Java的基础面试题附答案
Jan 10 面试题
杭州SQL浙江浙大网新恩普软件有限公司
Jul 27 面试题
Internet主要有哪些网络群组成
Dec 24 面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
Aug 10 面试题
某公司C#程序员面试题笔试题
May 26 面试题
Linux操作面试题
May 16 面试题
EJB发布WEB服务一般步骤
Oct 31 面试题
为什么Runtime.exec(“ls”)没有任何输出?
Oct 03 面试题
Weblogic和WebSphere不同特点
May 09 面试题
J2EE系统只能是基于web
Sep 08 面试题
一个J2EE项目团队的主要人员组成是什么
Jun 04 面试题
中海讯通笔试题
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命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP页面输出时js设置input框的选中值
2016/09/30 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
layui实现三级联动效果
2019/07/26 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
JavaScript实现tab栏切换效果
2020/03/16 Javascript
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
python实现超市扫码仪计费
2018/05/30 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
《花木兰》教学反思
2014/04/09 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
课内比教学心得体会
2014/09/09 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
学雷锋倡议书
2015/01/19 职场文书
财务人员岗位职责
2015/02/03 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2015年营业员工作总结
2015/04/23 职场文书
我的生日感言
2015/08/03 职场文书