### .NET面试题详解 #### 1. 访问修饰符的访问权限 - **private**: 表示私有成员,仅能在定义它的类内部访问。 - **protected**: 表示保护成员,可以在该类内部及其派生类中访问。 - **public**: 表示公共成员,没有任何访问限制,任何地方都可以访问。 - **internal**: 表示在同一命名空间内的其他类可以访问此成员。 #### 2. ASP.NET页面间传递值的方式 - **使用QueryString**: 通过URL参数的形式传递值,例如 `http://example.com/?id=1`。 - **使用Session变量**: 在会话中存储值,适用于需要跨多个页面访问的数据。 - **使用Server.Transfer**: 服务器端页面跳转,可以保持某些状态信息。 - **其他方法**: - 使用Cookies存储简单的数据,但注意安全性问题。 - 使用ViewState保存视图状态,适用于页面刷新等情况。 - 使用HiddenField控件,在同一页面中存储隐藏数据。 #### 3. C#中的委托与事件 - **委托**: 是一种引用类型,可以存储方法的引用。委托可以把一个方法作为参数传递给另一个方法。 - **事件**: 是基于委托的一种特殊类型,通常用于表示某种状态变化的通知。事件可以被视为一种特殊的委托,用于发布订阅模式中。 #### 4. override与重载的区别 - **重载**(Overload): 方法名相同但参数列表不同的多个方法。这是编译时多态的一种形式。 - **覆盖**(Override): 重新定义基类中的虚方法的行为。这属于运行时多态,发生在继承关系中。 #### 5. B/S结构中传递变量值的方法 - **使用QueryString**: 通过URL参数传递。 - **使用Post请求**: 在POST请求的表单数据中传递值。 - **使用JavaScript**: 利用客户端脚本技术进行数据传递。 - **使用HTML5 localStorage**: 存储在客户端的数据,适用于需要在浏览器生命周期内保留的数据。 #### 6. C#中的索引器 - **实现过程**: 索引器允许使用数组语法访问对象的属性或方法,其内部实现类似于属性。 - **索引依据**: 不一定只能根据数字索引,可以根据任何类型的键值。 #### 7. 分层架构设计 - **三层架构**: - **数据访问层**(DAL): 负责与数据库的交互。 - **业务逻辑层**(BLL): 实现业务逻辑。 - **表示层**(UI): 提供用户界面。 - **分层的好处**: - **职责清晰**: 每一层都有明确的功能定位。 - **易于维护**: 层与层之间解耦,修改某一层次不影响其他层次。 - **可扩展性强**: 容易添加新的功能或替换现有的实现。 #### 8. 应用程序域(Application Domain) - **概念**: 应用程序域是.NET框架中的一种安全边界,用来隔离代码的执行环境。 - **作用**: 提供隔离机制,防止不同应用程序间的冲突。 #### 9. CTS、CLS、CLR的解释 - **CTS**: 通用类型系统(Common Type System),提供了一种标准的方式来定义和使用类型。 - **CLS**: 通用语言规范(Common Language Specification),定义了.NET平台上的语言必须支持的特性和行为。 - **CLR**: 公共语言运行库(Common Language Runtime),是.NET框架的核心组件,负责执行代码并管理程序的运行环境。 #### 10. 装箱与拆箱 - **装箱**: 将值类型转换为引用类型的过程。 - **拆箱**: 将引用类型转换回值类型的过程。 #### 11. 受管制的代码 - **概念**: 受管制的代码是指由CLR管理的代码,可以确保类型安全和内存管理等。 - **特点**: 安全性高,易于编写和维护。 #### 12. 强类型系统 - **概念**: 在编译时就能检查类型错误的系统。 - **好处**: 减少运行时错误,提高代码质量和可维护性。 #### 13. .NET中读写数据库所需的类 - **DataSet**: 用于存储从数据库检索的数据。 - **SqlCommand**: 执行SQL命令。 - **SqlDataAdapter**: 用于填充数据集或更新数据库。 #### 14. ASP.NET的身份验证方式 - **Windows身份验证**: 默认的身份验证模式,基于Windows凭据。 - **Forms身份验证**: 使用自定义表单进行登录验证。 - **Passport身份验证**: 基于第三方服务的身份验证。 #### 15. Code-Behind技术 - **概念**: 是一种将用户界面与业务逻辑分离的技术。 - **应用场景**: 主要用于Web Forms中,将页面逻辑代码与HTML代码分离。 #### 16. .NET中的程序集 - **概念**: 程序集是一个或多个文件的集合,包含了编译后的代码(中间语言)、元数据和其他资源。 - **组成**: - **中间语言**(IL): 编译后的代码。 - **元数据**: 描述类型的信息。 - **资源**: 文本、图片等静态资源。 - **清单**: 包含程序集的信息。 #### 17. 调用WebService的方法 - **使用WSDL.exe命令行工具**: 生成客户端代理类。 - **使用Visual Studio中的Add Web Reference功能**: 自动生成代理类和相关的代码。 #### 18. .NET Remoting工作原理 - **基本原理**: 客户端请求服务器上的远程对象,服务器端处理请求并将结果返回给客户端。 - **通信机制**: 通过网络传递消息,支持多种传输协议和序列化格式。 #### 19. string str = null 与 string str = "" - **区别**: - `string str = null`: 表示`str`变量未指向任何字符串对象,是一个空引用。 - `string str = ""`: 表示`str`变量指向一个空字符串对象。 #### 20. 类与结构的异同 - **相同点**: - 都可以包含字段、方法、属性等成员。 - 都可以通过构造函数初始化。 - **不同点**: - **类**(Class): 是引用类型,存储在堆上,创建新对象时分配内存。 - **结构**(Struct): 是值类型,存储在栈上,创建时直接分配内存。 #### 21. 获取最后更新的事务号的SQL语句 ```sql SELECT ID FROM table1 WHERE LastUpdateDate = (SELECT MAX(LastUpdateDate) FROM table1); ``` #### 22. 对.NET构架下的remoting和WebService的理解及应用 - **remoting**: - **原理**: 用于远程对象通信的技术。 - **应用场景**: 当需要跨进程或跨机器访问对象时使用。 - **WebService**: - **原理**: 基于HTTP协议的Web服务,使用XML和SOAP进行数据交换。 - **应用场景**: 当需要跨平台和跨语言的服务交互时使用。
剩余9页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助