华硕面试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.c#中的垃圾回收是什么概念?
NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。
中是如何避免内存泄露的?
在.net不会出现内存泄露的问题,系统的GC会自动回收的。
说的非常正确。但是,只是把这个功能当作是一个机制好了。推荐还是自己释放,对于实现了IDispose接口的,调用Dispose释放,栈内存不用释放,堆内存一般用于数据交换,除非你肯定不需要了。否则还是留下,尽量设计少一点在堆上分配的操作。如果函数内一定要new对象,而new初对象的引用在函数外又无法访问,最好显示调用一次GC.Collect,(回收几代可以获得)。实在忘记了。应该也是泄漏了。只是如果泄漏太多或者等.net垃圾回收也可以
避免,保证不死机,仅此而已,一下测试说明垃圾回收不是实时的:
那就是使用类的Dispose()方法释放所有类型资源 和 使用析构方法释放非托管资源!
3.请编程遍历页面上的所有textbox控件,并将其text赋值为string.empty.
4.请编写一冒泡法的程序。
5.什么是code_behind技术?
就是代码隐藏,在中通过ASPX页面指向CS文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web应用程序的创建。比如分工,美工和编程的可以个干各的,不用再像以前asp那样都代码和html代码混在一起,难以维护。
中的页面传值有哪几种?
、表单提交,
....
form1.submit();
....
此种方在ASP。NET中无效,因为ASP。NET的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。
2、链接地址传送
接收页面: string str = Request["param1"]
3、Session共享
发送页面:Session("param1") = "1111";
按收页面 string str = Session("param1").ToString();
4、Application共享
发送页面: Application("param1") = "1111";
按收页面: string str = Application("param1").ToString();
此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用
计数器等需要全局变量的地方。
5、Cookie
6、Response.Redirect()方式
Response.Redirect("target.aspx?param1=1111¶m2=2222")
接收页面: string str = Request["param1"]
7、Server.Transfer()方式。
Server.Transfer("target.aspx?param1=1111¶m2=2222")
接收页面: string str = Request["param1"]
中常用的对象有哪些?
以SQL-Server专用驱动为例
SqlConnection:用于创建和管理到数据库的连接
SqlCommand:用于封装sql语言命令/存储过程命令
SqlDataAdapter:数据适配器,用于从数据库提取数据,填充到记录集中
SqlDataReader:用于读取Command对象执行后返回的结果
DataSet:数据集,用于存放多个Datatable及Datatable之间的关系
8.什么是SQL注入?如何避免?请举例说明。
所谓SQL注入(SQL Injection),就是利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取想得到的资料。
http://localhost/lawjia/show.asp?ID=444 and user>0,这时,服务器运行Select * from 表名 where 字段=444 and user>0这样的查询,当然,这个语句是运行不下去的,肯定出错,错误信息如下:
·错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'sonybb' 转换为数据类型为 int 的列时发生语法错误。
中的错误机制是什么?
net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
10.什么是委托?事件是不是委托?
委托具有以下特点:委托类似于 C++ 函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不需要与委托签名精确匹配
11.数据库的三层构架是什么?(MVC)
三层,表现,逻辑,数据
还有两道分别是关于sql连接的和一个c#的构造函数的看代码题。