【各大软件公司.NET工程师笔试压轴题】------不得不看 (转)
2009-12-28 11:06
183 查看
转自:http://www.cnblogs.com/zhanglei644213943/archive/2009/12/27/1633356.html
【各大软件公司.NET工程师笔试压轴题】------不得不看
纵览各大社区、论坛,各大ORM框架火得不行了,如NHibernate、LINQ to SQL、ADO.NET Entity framework等,还有最近市场上出版的一本叫《领域驱动设计与模式实战》,里面也凸显了不少NHibernate在领域驱动设计中的作用与地位,也算是第一本与NHibernate相关的书籍吧!不过就NHibernate而言还是没有官方文档介绍得详细呵呵,园子里Kiler已经把他翻译成中文版的了,收益一大片仅仅是CET-4的人。不管你是用NHibernate也好,还是用LINQ to SQL也好,用profiler一跟踪,执行的都是SQL语句,所以所SQL是根。特别是对于那些以数据为中心的应用系统,在数据库中实现复杂的存储过程,复杂的报表查询,还是直接SQL来得痛快。当然对于那些在基于.NET的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate是最有用的。不管怎样,NHibernate一定可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去(官方文档)。
有点跑题了,不再啰嗦----直接晾出压轴题。
压轴题第一问
1.把表一转换为表二
表一:
代码
1 select [name] into #tmpCloumns
2 from tempdb.dbo.syscolumns
3 where id=object_id('tempdb.dbo.#student2')
4 and [name]<>'stdname'
5 select * from #tmpCloumns
6
7 declare @strSql nvarchar(800)
8 select @strSql=''
9 select @strSql=@strSql+'union all'+char(10)+char(13)+
10 'select [stdname],'''+[name]+''' as [科目],['+[name]+']'+char(10)+char(13)+
11 'from [#student2]'+char(10)+char(13)
12 from #tmpCloumns
13
14 select @strSql=substring(@strSql,11,len(@strSql))+'order by stdname,[科目]'
15 --print @strSql
16 exec(@strsql)
这种题目,在各种笔试中出现的概率还是非常大的,大家不用死记。以前有的朋友看着复杂的报表查询,几百行SQL,望而生畏,然后说:"这是哪个SQL超人写的啊!"其实,谁一上来不可能写出那么长的SQL,也是慢慢重构--调试--重构-······
【各大软件公司.NET工程师笔试压轴题】------不得不看
纵览各大社区、论坛,各大ORM框架火得不行了,如NHibernate、LINQ to SQL、ADO.NET Entity framework等,还有最近市场上出版的一本叫《领域驱动设计与模式实战》,里面也凸显了不少NHibernate在领域驱动设计中的作用与地位,也算是第一本与NHibernate相关的书籍吧!不过就NHibernate而言还是没有官方文档介绍得详细呵呵,园子里Kiler已经把他翻译成中文版的了,收益一大片仅仅是CET-4的人。不管你是用NHibernate也好,还是用LINQ to SQL也好,用profiler一跟踪,执行的都是SQL语句,所以所SQL是根。特别是对于那些以数据为中心的应用系统,在数据库中实现复杂的存储过程,复杂的报表查询,还是直接SQL来得痛快。当然对于那些在基于.NET的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate是最有用的。不管怎样,NHibernate一定可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去(官方文档)。
有点跑题了,不再啰嗦----直接晾出压轴题。
压轴题第一问
1.把表一转换为表二
表一:
代码
1 select [name] into #tmpCloumns
2 from tempdb.dbo.syscolumns
3 where id=object_id('tempdb.dbo.#student2')
4 and [name]<>'stdname'
5 select * from #tmpCloumns
6
7 declare @strSql nvarchar(800)
8 select @strSql=''
9 select @strSql=@strSql+'union all'+char(10)+char(13)+
10 'select [stdname],'''+[name]+''' as [科目],['+[name]+']'+char(10)+char(13)+
11 'from [#student2]'+char(10)+char(13)
12 from #tmpCloumns
13
14 select @strSql=substring(@strSql,11,len(@strSql))+'order by stdname,[科目]'
15 --print @strSql
16 exec(@strsql)
这种题目,在各种笔试中出现的概率还是非常大的,大家不用死记。以前有的朋友看着复杂的报表查询,几百行SQL,望而生畏,然后说:"这是哪个SQL超人写的啊!"其实,谁一上来不可能写出那么长的SQL,也是慢慢重构--调试--重构-······
相关文章推荐
- 【各大软件公司.NET工程师笔试压轴题】------不得不看
- 各大软件公司.NET工程师笔试压轴题之关于表的行列转换
- 各大软件公司.NET工程师笔试压轴题
- 某软件公司.net工程师笔试题
- .net工程师必懂题(笔试题目)转
- 清华同方软件测试工程师笔试题目
- 文思创新赴微软测试工程师的笔试面试题(新)
- 下面关于ICMP协议的描述中,正确的是()----腾讯2016研发工程师笔试题
- 百度2014软件开发工程师笔试题详解
- 整理收藏一份PHP高级工程师的笔试题(附答案)
- .Net开发工程师笔试试题
- Java开发工程师常见笔试题及答案
- 文思创新赴微软测试工程师的笔试面试题
- 深度学习算法工程师笔试题(百度)
- Java工程师笔试面试题集 一
- 今日头条2017后端工程师实习生笔试题——最大映射
- JAVA工程师笔试题(包含实习生 高级工程师)
- 2015携程JAVA工程师笔试题(基础却又没多少人做对的面向对象面试题)
- 百度2011研发工程师笔试卷
- 2016奇虎360研发工程师内推笔试编程题第二题