- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NET绝版面试题及答案
.net绝版面试题
本人在深圳面试十来家,发现百分之八十的题目都是来之于以下题目,今天分享给大家,好好背吧.
2、说明控件DataGrid,DataTable,DataView,DetailsView,formView,Repeator常用属性,如果要想把一条记录分成两列显示,以上控件哪些可以用,哪些不可以用?如果可用,如何处理?
答:DataMember:绑定的表或者视图,DataSourseID:数据源控制的ID,Visible:是否显示该控件. FormView,Repeator可以用,其他的控件不能可用,在ItemTemplate模板里用表格或者用列表来显示.
3、写出下列的含义?% %,%# %,
答:% %是服务器端代码块
???%# %表示绑定的数据源
4、请解释Page.IsPostBack,Response.Write,Response.End,DBNull.Value, DataSet,DataTable,DataView,SqlDataReader,stringbuilder,ArrayList?
???Page.IsPostBack:是否正是被首次加载
???Response.Write:打印指定的文本
???Response.End:停止当前的程序并返回结果
???DBNull是一个类。DBNull.Value是它唯一的实例。它指数据库中数据为空(NULL)时,在.net中的值。
???DataSet:DataSet是数据在内存中的表示形式,是不依赖与数据库的独立数据集合.
???DataTable:是一个包含列和行表.
???DataView:数据视图
???SqlDataReader:提供一种从?SQL Server?数据库读取行的只进流的方式。
?5、?stringbuilder:StringBuffer线程安全的可变字符序列。一个类似于?String?的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
???ArrayList:动态加载的数组
???partial,protected,private,public的含义:
???答:partial:仅所属类的成员才可以访问
??????protected:可被所属的类或派生自所属类的类型访问
??????public:访问不受限制。
6、如何理解死锁的概念?死锁是如何形成的?在应用中应注意什么事项避免死锁?
死锁是一种条件,不仅仅是在关系数据库管理系统 (RDBMS) 中发生,在任何多用户系统中都可以发生的。当两个用户(或会话)具有不同对象的锁,并且每个用户需要另一个对象的锁时,就会出现死锁。每个用户都等待另一个用户释放他的锁。当两个连接陷入死锁时,Microsoft??SQL Server? 会进行检测。其中一个连接被选作死锁牺牲品。该连接的事务回滚,同时应用程序收到错误。
阻塞
任何基于锁的并发系统都不可避免地具有可能在某些情况下发生阻塞的特征。当一个连接控制了一个锁,而另一个连接需要冲突的锁类型时,将发生阻塞。其结果是强制第二个连接等待,或在第一个连接上阻塞。
其实所有的死锁最深层的原因就是一个——资源竞争。
表现一:
一个用户A?访问表A(锁住了表A),然后又访问表B,另一个用户B?访问表B(锁住了表B),然后企图访问表A。这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了。
同样用户B要等用户A释放表A才能继续这就死锁了。
解决方法:
这种死锁是由于你的程序的BUG产生的,除了调整你的程序的逻辑别无他法。
仔细分析你程序的逻辑:
1:尽量避免同时锁定两个资源;
2:?必须同时锁定两个资源时,要保证在任何时刻都应该按照相同的顺序来锁定资源。
表现二:
用户A读一条纪录,然后修改该条纪录,这是用户B修改该条纪录,这里用户A的事务里锁的性质由共享锁企图上升到独占锁(for update),而用户B里的独占锁由于A有共享锁存在所以必须等A释放掉共享锁,而A由于B的独占锁而无法上升的独占锁也就不可能释放共享锁,于是出现了死锁。
这种死锁比较隐蔽,但其实在稍大点的项目中经常发生。
解决方法:
让用户A的事务(即先读后写类型的操作),在select?时就是用Update lock
7、什么是事务? 使用事务的语句有哪些?
答:事务是一种机制,是一个操作序列,它包括了一组数据库操作命令,并且所有的命令作为一个整体向
????系统提交或者撤消操作请求,要么全部,要么全部不执行.
????begin transaction
????commit transaction
????rollback transaction
8、在up
文档评论(0)