.net面试题及答案2

 

.net 反射机制

可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现 有对象中获取类型。 (可以运用到工厂模式中)

Calculator.dll

 

Using Calculator;

Using System.Reflection;

Assembly assembly=new Assembly.Load(“Calculator”);

Foreach(Type type in assembly.GetTypes())

{

       Console.WriteLine(type.Name + “是Calculator命名空间下的类”);

}
序列化

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据

.net 提供2种序列化技术:2进制序列化,xml序列化

BinaryFormatter,SoapFormatter,XmlFormatter

Serialize,   Deserialize 方法
Web多人访问并发问题

访问之前先检查数据是否存在

序列化反序列化

读取锁
数据库SQL效率问题

尽可能少的返回字段数及数据条数,按需取值

尽量减少关联查询,关联查询时,数据量大的表放在前面

对某些字段作索引

适当使用临时表

通过sql profile跟踪某段sql语句或某个存储过程,看它运行时间,并执行查询分析优化方案,系统自动推荐最佳优化方案

机器性能、带宽等

有MVC3.0框架开发经验最佳

 

as/is区别

 as 和强制类型转换是一样的,但是永远不会抛出异常,即使如果转换不成功,会返回null

 is 检查一个对象是否兼容于其他指定的类型,并返回一个bool值,永远不会抛出异常

javascript事件的机制(两个阶段)

捕获型事件(非IE)

冒泡型事件(所有浏览器都支持)

数据库设计有哪些经验

      先熟悉老系统、同类型的系统,学习优秀的地方,找出不足之处

      动手之前,先理解业务和需求

      先画ER图

      命名规范,前缀

      注意数据范围类型如 smallint最大值是32767,tinyint是0至255

      视图、存储过程等

设计模式

    为了可重用代码、让代码更容易被他人理解、保证代码可靠性

特殊字符输入比如尖括号

 

设计一个抢购功能

       数据库表中有一个起始时间A、结束时间B

如果服务器当前时间C早于B,则抢购功能可用。

在客户端实现一个倒计时功能,时间结束后,抢购的相关信息全部不可用(灰显)

控件并发

MVC优点

分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工

结构清晰,利于维护,工程化管理

反射

 

序列化

 

.NET垃圾回收机制

 

并发

 

还有接口和抽象类的区别

接口可以被多重继承,一个类只能继承一个超类

接口的所有方法都是抽象的,而抽象类可以带有一些方法体的

实现接口的类一定要实现接口中定义的所有方法,而实现抽象类可以有选择的重写需要用到的方法

为什么要用,为了扩展、多态,代码重用。方便后续扩展和维护!

cookie、session

都是用来临时存储来访者信息,有很多情况下,使用两者都可以实现某些特定功能,而两者的根本区别是Cookie对象将信息存放在客户端,Session对象存放在服务器端;从生存期上讲,Cookie可以长期保存,而Session的生存期仅仅到会话结束;

 

Jquery

Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。

结构(struct)是否可以继承接口 

不可以,只能实现接口,但不能继承,可以在结构中写方法

asp.Net MVC3.0框架与传统asp.net的区别

    传统asp.net是拖控件,控件封闭了很多东西,开发者很难了解背后的html是如何动作的;容易得到一个包含大量viewState的页面,打开速度较慢;不容易被测试

    MVC一种软件架构模式,没有数据回传,没有在页面中保存视图状态,开发者可完全掌控页面的呈现过程,易于单元测试,易于测试驱动开发,可扩展、可替换。

Wcf

 windows communication foundation,用于通信接口的开发

通过合约的方式来实现,多个客户端可以调用某处服务端的接口来实现通信,与webservice功能类似。

jquery的应用  jquery easyui 第三方的jquery插件

linq 语言集成查询(Language INtegrated Query)以查询数据库相同的方式操作内存数据

数据库优化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
.NET面试题答案详解主要涉及以下几个方面:基础知识、框架、语言特性、数据库操作、多线程等。 首先,针对基础知识的问题,可能会问到.NET是什么、.NET框架的组成部分、CLR是什么、以及C#和VB.NET的区别等。面试者可以回答.NET是一个面向对象的软件开发框架,包括CLR、FCL、ASP.NET等组成部分,CLR是公共语言运行库,C#和VB.NET都是.NET平台上的开发语言,其中C#更加常用。 其次,针对框架的问题,面试官可能会询问ASP.NET MVCASP.NET Web Forms的区别、Entity Framework的作用和优势、以及WCF和Web API的应用场景等。面试者应该了解ASP.NET MVC是一种基于模型-视图-控制器的开发模式,而Web Forms是一种传统的页面式开发模式;Entity Framework是.NET下的对象关系映射框架,简化了数据库操作;WCF用于构建分布式应用程序,而Web API主要用于构建RESTful服务。 此外,还可能会涉及到语言特性,例如面向对象的特性、委托和事件的使用、LINQ的特点等。面试者应该对这些概念有清晰的理解,并能够举出实际应用的例子。 另外,针对数据库操作和多线程方面的问题,面试官可能会考察ADO.NET的使用、并发编程、以及异步编程等。面试者需要熟悉ADO.NET的各种操作方式,以及多线程和异步编程的相关知识。 总之,针对.NET面试题答案的详解需要面试者全面了解.NET相关的知识点,并能够结合实际应用进行深入阐述,展现出自己的专业能力和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值