您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > C#Net的常见面试试题附答案
C#Net的常见面试试题附答案.txt昨天是作废的支票;明天是尚未兑现的期票;只有今天才是现金,才能随时兑现一切。人总爱欺骗自己,因为那比欺骗别人更容易。找工作的朋友可能会用的到。我本身不是太懂倒耐特,上星期有朋友来我这找工作他整理的,所以我只负责发贴,对疑问的解答还要交给你们了。1.面向对象的思想主要包括什么?2.什么是ASP.net中的用户控件3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?4.列举一下你所了解的XML技术及其应用5.值类型和引用类型的区别?写出C#的样例代码。6.ADO.net中常用的对象有哪些?分别描述一下。7.如何理解委托?8.C#中的接口和类有什么异同。9.。net中读写数据库需要用到哪些类?他们的作用10.UDP连接和TCP连接的异同。11.ASP.net的身份验证方式有哪些?分别是什么原理?12.进程和线程分别怎么理解?13.什么是code-Behind技术。14.活动目录的作用。15..net中读写XML的类都归属于哪些命名空间?16.解释一下UDDI、WSDL的意义及其作用。17.什么是SOAP,有哪些应用。18.如何部署一个ASP.net页面。19.如何理解.net中的垃圾回收机制。20.常用的调用webservice方法有哪些?1继承多态封装2用户控件.不会说懂得做3装箱和拆箱发生值类型向引用类型转换,和引用类型向值类型转重载:同一个函数参数不同4.xml可以用来做网页(xslt)xml可以当作数据库xml可以用来保存对象的系列化5值类型,没有什么好说的.引用类型用处是返回两个以上参数的时候比较好用refout我常用的是out不要先赋值6ado.net我直接用sqlhelper了有connectioncommand还有参数7回调机制比较有用的.在net中采用了委托.8接口,是可以多继承,类只有单继承.接口强调了你必须实现,而没有具本实现的方法和虚类有点相似9datareaderdataset还有一个不太常用10udp不要实现什么三次握手.11asp.net身份验证最常用还是以前的session方法.form验证没有用过.微软的哪个也没有用过12进程简单理解为单个程序吧(按ctrl+alt+del)可以看到的.它至少有一个主线程.13代码后置..不懂得讲14活动目录..完全不会15system.xml(system.io创建目录的时候用)16这个也是web服务里的东西.17soap简单协议.我只知道.web服务是基于它之上的18部置一个页面.也就是说没有代码是直接写在aspx中的了.只接放在IIS的虚拟目录下就行了.当然要asp.net支持19垃圾回收..一般的只要掌握.非托管对象要记得释放资源就行了吧.20直接在vs.net里面引用就OK了.它会自己生成一个代理类1.填空:(1)面向对象的语言具有___继承性、_封装___性、___多态性。(2)能用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerable方法的类型。(3)列举ADO.net中的五个主要对象Command、Connection、DataSet、DataSetCommand、DataReader。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页面之间传递值的几种方式。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);}publicvoidResponse(){Console.WriteLine(name+attempttoescape!);}}publicclassMaster:Observer{publicMaster(Subjectsubj){subj.AimAt(this);}publicvoidResponse(){Console.WriteLine(Hostwaken!);}}publicclassCat:Subject{privateArrayListobservers;publicCat(){this.observers=newArrayList();}publicvoidAimAt(Observerobs){this.observers.Add(obs);}publicvoidCry(){Console.WriteLine(Catcryed!);foreach(Observerobsinthis.observers){obs.Response();}}}classMainClass{staticvoidMain(string[]args){Catcat=newCat();Mousemouse1=newMouse(mouse1,cat);Mousemouse2=newMouse(mouse2,cat);Mastermaster=newMaster(cat);cat.Cry();}}//---------------------------------------------------------------------------------------------设计方法二:使用event--deleg
本文标题:C#Net的常见面试试题附答案
链接地址:https://www.777doc.com/doc-4890991 .html