2018年9月18日.NET笔试面试题

.Net、ASP.Net、C#、VisualStudio 之间的关系是什么?

  • .Net 一般指的是.Net Framework,提供了基础的.Net 类,这些类可以被任何一种.Net 编程语言调用,.Net Framework还提供了 CLR、JIT、GC 等基础功能。
  • ASP.Net 是.Net 中用来进行 Web 开发的一种技术,ASP.Net 的页面部分写在 aspx 文件中,逻辑代码通常通过Code-behind的方式用 C#、VB.Net 等支持.Net 的语言编写。
  • C#一门是使用最广泛的支持.Net 的编程语言。
  • Visual Studio 是微软提供的用来进行.Net 开发的集成开发环境(IDE),使用 Visual Studio 可以简化很多工作,不用程序员直接调用 csc.exe 等命令行进行程序的编译,而且 VisualStudio 提供了代码自动完成、代码高亮等功能方便开发。

.NET如何处理异常?

  • .NET有完善的异常处理机制,并包含大量继承于System.Exception类的异常类。
  • 通过try-catch-finally结构,.NET程序可以捕获不同类型的异常,并进行相应的处理。

写出一条SQL语句:

取出表A中第31~40条记录(SQL Server,以自动增长的ID作为主键)。注意:ID可能不是连续的。

  • 本题考察的是分页查询,有多种解法,以下例举两种。

解答1:

select top 10 * from A where id not in (select top 30 id from A)

分析:

  • IN子句可以确定指定的值是否与子查询或列表中的值相匹配。
  • 为了查询到第31条到40条记录,在IN前面使用了NOT关键字,对IN子句的结果取反。
  • 即表A中所查询的记录要求id字段值不处于前30条记录的id字段值中,然后查询这些记录的前10条即可(TOP 10)。

解答2:

select * from A order by id offset 30 rows fetch next 10 rows only
-- offset 跳过行数 rows fetch next 取行数 rows only

分析:

  • 这是SQL Server 2012及以上版本才支持的语法。
  • offset后面跟上要偏移(跳过)的行数,我们要去31~40条记录,所以要跳过30行。
  • fetch next后面跟上要获取的行数,31~40总共是10行。

你可能感兴趣的:(2018年9月18日.NET笔试面试题)