资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ASP.NET 常见面试题及答案(常见面试题及答案(130 题)题) 1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问。2 .列举 ASP.NET 页面之间传递值的几种方式。答. 1).使用 QueryString, 如.?id=1; response. Redirect().2).使用 Session 变量3).使用 Server.Transfer4.C#中的委托是什么?事件是不是一种委托?答 : 委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托5.override 与重载的区别答 :override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要Override 是进行基类中函数的重写。为了适应需要。6.如果在一个 B/S 结构的系统中需要传递变量值,但是又不能使用 Session、Cookie、Application,您有几种方法进行处理?答 : this.Server.TransferResponse. Redirect()-QueryString9.描述一下 C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。可以用任意类型。11.用.net 做 B/S 结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:一般为 3 层数据访问层,业务层,表示层。数据访问层对数据库进行增删查改。业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。表示层为了与用户交互例如用户添加表单。优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。缺点: 增加成本。13.什么叫应用程序域?答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。14.CTS、CLS、CLR 分别作何解释?答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。15.什么是装箱和拆箱?答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。16.什么是受管制的代码?答:unsafe:非托管代码。不经过 CLR 运行。17.什么是强类型系统?答:RTTI:类型识别系统。18.net 中读写数据库需要用到那些类?他们的作用?答:DataSet:数据存储器。DataCommand:执行语句命令。DataAdapter:数据的集合,用语填充。19.ASP.net 的身份验证方式有哪些?分别是什么原理?答:10。Windwos(默认)用 IIS.From(窗体)用帐户.Passport(密钥)20.什么是 Code-Behind 技术?答:代码后植。21.在.net 中,配件的意思是?答:程序集。(中间语言,源数据,资源,装配清单)22.常用的调用 WebService 的方法有哪些?答:1.使用 WSDL.exe 命令行工具。2.使用 VS.NET 中的 Add Web Reference 菜单选项23.net Remoting 的工作原理是什么?答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。24.在 C中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。答:string str = null 是不给他分配内存空间,而 string str = “ 给它分配长度为空字符串的内存空间。25.请详述在 dotnet 中类(class)与结构(struct)的异同?答:Class 可以被实例化,属于引用类型,是分配在内存的堆上的,Struct 属于值类型,是分配在内存的栈上的.结构结构(Struct)与类与类(Class)的对比的对比结构结构类类数据类型值类型 引用类型是否必须使用 new 运算符实例化否是是否可声明无参数的构造函数否是数据成员可否在声明的同时初始化声明为 const 或 static 可以,数据成员 不可以可以直接派生自什么类型 System.ValueType有是否有析构函数 无有可否从类派生否可以可否实现接口 可以可以实例化时在栈还是在堆分配内存栈堆,栈中保存引用该类型的变量可否被赋值为 null否可以可否定义私有的无参构造函数否可以是否总有一个默认的无参构造函数是否性能对比性能对比:因为结构是值类型,因此在为结构分配内存,或者当结构超出了作用域被删除时,性能会非常好,因为他们将内联或者保存在堆栈中。当把一个结构类型的变量赋值给另一个结构时,对性能的影响取决于结构的大小,如果结构的数据成员非常多而 且复杂,就会造成损失,接下来使用一段代码来说明这个问题。27.分析以下代码,完成填空string strTmp = “abcdefg 某某某“;int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;int j= strTmp.Length;以上代码执行完后,i= j=答:i=13,j=1028.SQLSERVER 服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID 表示更新的事务号, LastUpdateDate 表示更新时的服务器时间,请使用一句SQL 语句获得最后更新的事务号答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)30.简要谈一下您对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用。答:WS 主要是可利用 HTTP,穿透防火墙。而 Remoting 可以利用 TCP/IP,二进制传送提高效率。31.公司要求开发一个继承 System.Windows.Forms.ListView 类的组件,要求达到以下的特殊功能:点击 ListView 各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如 DataGrid 相似)。根据您的知识,请简要谈一下您的思路答:根据点击的列头,包该列的 ID 取出,按照该 ID 排序后,在给绑定到 ListView 中。33.写出一条 Sql 语句:取出表 A 中第 31 到第 40 记录(SQLServer,以自动增长的 ID作为主键,注意:ID 可能不是连续的。答:解 1: select top 10 * from A where id not in (select top 30 idfrom A)解 2: select top 10 * from A where id (select max(id) from (selecttop 30 id from A )as A)34.面向对象的语言具有_性、_性、_性答:封装、继承、多态。35.能用 foreach 遍历访问的对象需要实现 _接口或声明_方法的类型。答:IEnumerable 、 GetEnumerator。36.GC 是什么? 为什么要有 GC?答:GC 是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc()Runtime.getRuntime().gc()37.String s = new String(“xyz“);创建了几个 String Object?答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象 s。39.启动一个线程是用 run()还是 start()?答:启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。40.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。41.构造器 Constructor 是否可被 override?答:构造器 Constructor 不能被继承,因此不能重写 Overriding,但可以被重载Overloading。42.是否可以继承 String 类?答:String 类是 final 类故不可以继承。43.try 里有一个 return 语句,那么紧跟在这个 try 后的 finally 里的 code 会不会被执行,什么时候被执行,在 return 前还是后?答:会执行,在 return 前执行。44.两个对象值相同(x.equals(y) = true),但却可有不同的 hash code,这句话对不对?答:不对,有相同的 hash code。45.swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?答:switch(expr1)中,expr1 是一个整数表达式。因此传递给 switch 和case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于 swtich。47.当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?不能,一个对象的一个 synchronized 方法只能由一个线程访问。48.abstract 的 method 是否可同时是 static,是否可同时是 native,是否可同时是synchronized?答:都不能。49.List, Set, Map 是否继承自 Collection 接口?答:List,Set 是 Map 不是50.Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用=还是equals()? 它们有何区别?答:Set 里的元素是不能重复的,那么用 iterator()方法来区分重复与否。equals()是判读两个 Set 是否相等。equals()和=方法决定引用值是否指向同一对象 equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。51.数组有没有 length()这个方法? String 有没有 length()这个方法?答:数组与 String 都没有 length()这个方法,都只有 length 的属性。52.sleep() 和 wait() 有什么区别?答:sleep()方法是使线程停止一段时间的方法。在 sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象 x 发出一个 wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。53.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?答:short s1 = 1; s1 = s1 + 1;有错,s1 是 short 型,s1+1 是 int 型,不能显式转化为 short 型。可修改为 s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1 正确。54.谈谈 final, f
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号