您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > .net笔试面试题(自己收集)
.net笔试题1.填空:(1)面向对象的语言具有__封装______性、__继承_______性、__多态______性。(2)能用foreach遍历访问的对象需要实现_____IEnumerator___________接口或声明_____GetEnumertor___________方法的类型。(3)列举ADO.net中的五个主要对象_______datareader________、______dataset_______、_______dataAdapter________、__________Connection____、_____Command____________。2.不定项选择:(1)以下叙述正确的是:A.接口中可以有虚方法。B.一个类可以实现多个接口。C.接口不能被实例化。D.接口中可以包含已实现的方法。(2)从数据库读取记录,你可能用到的方法有:A.ExecuteNonQueryB.ExecuteScalarC.FillD.ExecuteReader3.简述private、protected、public、internal修饰符的访问权限。4.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。)5.列举ASP.NET页面之间传递值的几种方式。1.使用QueryString变量QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:a.aspx的C#代码privatevoidButton1_Click(objectsender,System.EventArgse){strings_url;s_url=b.aspx?name=+Label1.Text;Response.Redirect(s_url);}b.aspx中C#代码privatevoidPage_Load(objectsender,EventArgse){Label2.Text=Request.QueryString[name];}2.使用Application对象变量Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。a.aspx的C#代码privatevoidButton1_Click(objectsender,System.EventArgse){Application[name]=Label1.Text;Server.Transfer(b.aspx);}b.aspx中C#代码privatevoidPage_Load(objectsender,EventArgse){stringname;Application.Lock();name=Application[name].ToString();Application.UnLock();}3.使用Session变量想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。a.aspx的C#代码privatevoidButton1_Click(objectsender,System.EventArgse){Session[name]=Label.Text;}b.aspx中C#代码privatevoidPage_Load(objectsender,EventArgse){stringname;name=Session[name].ToString();}4.使用Cookie对象变量这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。a.aspx的C#代码privatevoidButton1_Click(objectsender,System.EventArgse){HttpCookiecookie_name=newHttpCookie(name);cookie_name.Value=Label1.Text;Reponse.AppendCookie(cookie_name);Server.Transfer(b.aspx);}b.aspx中C#代码privatevoidPage_Load(objectsender,EventArgse){stringname;name=Request.Cookie[name].Value.ToString();}5.使用Server.Transfer方法这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。a.aspx的C#代码publicstringName{get{returnLabel1.Text;}}privatevoidButton1_Click(objectsender,System.EventArgse){Server.Transfer(b.aspx);}b.aspx中C#代码privatevoidPage_Load(objectsender,EventArgse){anewWeb;//实例a窗体newWeb=(source)Context.Handler;stringname;name=newWeb.Name;}6.写出程序的输出结果classClass1{privatestringstr=Class1.str;privateinti=0;staticvoidStringConvert(stringstr){str=stringbeingconverted.;}staticvoidStringConvert(Class1c){c.str=stringbeingconverted.;}staticvoidAdd(inti){i++;}staticvoidAddWithRef(refinti){i++;}staticvoidMain(){inti1=10;inti2=20;stringstr=str;Class1c=newClass1();Add(i1);AddWithRef(refi2);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.写出程序的输出结果publicabstractclassA{publicA(){Console.WriteLine('A');}publicvirtualvoidFun(){Console.WriteLine(A.Fun());}}publicclassB:A{publicB(){Console.WriteLine('B');}publicnewvoidFun(){Console.WriteLine(B.Fun());}publicstaticvoidMain(){Aa=newB();a.Fun();}}8.写出程序的输出结果:publicclassA{publicvirtualvoidFun1(inti){Console.WriteLine(i);}publicvoidFun2(Aa){a.Fun1(1);Fun1(5);}}publicclassB:A{publicoverridevoidFun1(inti){base.Fun1(i+1);}publicstaticvoidMain(){Bb=newB();Aa=newA();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:selecttop10*fromAwhereidnotin(selecttop30idfromA)解2:selecttop10*fromAwhereid(selectmax(id)from(selecttop30idfromA)asA)评分标准:写对即10分。(答案不唯一,datagrid分页可能需要用到)5.1.使用QueryString,如....?id=1;response.Redirect()....2.使用Session变量3.使用Server.Transfer....等等评分标准:答对1点得3分,两点7分,3点10分。6.(考查值引用和对象引用)10210strstringbeingconverted.评分标准:答对一点得2分,满分10分。7.ABA.Fun()评分标准:写出A.B得5分,写出A.Fun()得5分,满分10分。(考查在继承类中构造函数,以及new方法,)8.2516评分标准:答对一点得2分,两点得5分,3点得7分。全对得10分。(一些人做这题,头都晕了....^_^)9.publicclassMainClass{publicstaticvoidMain(){Console.WriteLine(Foo(30));}publicstaticintFoo(inti){if(i=0)return0;elseif(i0&&i=2)return1;elsereturnFoo(i-1)+Foo(i-2);}}评分标准:写出returnFoo(i-1)+Foo(i-2);得5分。写出if(i0&&i=2)return1;得5分。方法参数过多需要扣分(扣除分数=参数个数-1)不用递归算法扣5分(递归算法在树结构建立等方面比较常用)10要点:1.联动效果,运行代码只要执行Cat.Cryed()方法。2.对老鼠和主人进行抽象评分标准:1.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)2从Mouse和Master中提取抽象(5分)3联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)publicinterfaceObserver{voidResponse();//观察者的响应,如是老鼠见到猫的反映}publicinterfaceSubject{voidAimAt(Observerobs);//针对哪些观察者,这里指猫的要扑捉的对象---老鼠}publicclassMouse:Observer{privatestringname;publicMouse(stringname,Subjectsubj){this.name=name;subj.AimAt(this);
本文标题:.net笔试面试题(自己收集)
链接地址:https://www.777doc.com/doc-5202196 .html