![01aab782ce9cc022e7076e39bdd9d6e1.png](https://i-blog.csdnimg.cn/blog_migrate/df83ffc62cbcaec0451b07295af9d13d.jpeg)
2020年最新的http://ASP.NET MVC面试题新鲜出炉!咱们只争朝夕的口号可不是白喊的,下面,让我们先来一波包治百病的简答题!
1、使用MVC模式有什么优点?
2、请简述使用http://ASP.NET MVC框架访问一个页面的执行流程。
3、请说明MVC Filter的特点、思想;框架提供的Filter有哪些?如何扩展Filter?
4、请说明MVC中Filter的集中注册方式。
5、请详解MVC路由的特点!如何扩展路由?
6、请说明MVC中global.asax.cs 文件的意义?
7、请说明在MVC视图中如果不适用using关键字,如何引用某个自定义实体类型!
8、请说明MVC中Area的作用以及在MVC中如果使用了Area以后我们需要注意什么?
9、请说明如何抓取并处理,异常Filter 抓取不到的异常?
10、你听过Eleven老师的课吗?(haha)
大家血量还充足吗?下面是一些选择题 ,大家是不是觉得选择题非(rong)常(yi)简(diu)单(fen)!!!
1) 请问在http://ASP.NET MVC中(B)不属于默认规则的文件夹?
a) App_Start
b) App_End
c) Views
d) Controllers
2)在http://ASP.NET中以下创建Cookie语法错误的是( )?(多选)
a) Response.Cookies[Cookie的名称].Value = 变量值;
b) Request.Cookies[Cookie的名称].Value = 变量值;
c) HttpCookie hcCookie = new HttpCookie(Cookie的名称, 变量值);
Response.Cookies.Add(hcCookie);
d) HttpCookie hcCookie = new HttpCookie(Cookie的名称, 变量值);
Request.Cookies.Add(hcCookie);
3)在http://ASP.NET MVC的视图中注释错误的是( )?
a) <!-- html注释-->
b) <!%-- 代码块--%!>
c) <%-- 代码块--%>
d) <% //单行注释 %>
4)“StudentService”一般属于三层中()的命名规范?
a) 显示层
b) 业务逻辑层
c) 数据访问层
d) 模型层
5)class TesString{
static void Main(){
string strOriginal;
strOriginal = Console.ReadLine();
bool A = strOriginal.Equals("A");
Console.WriteLine(A.ToString());
int B = strOriginal.Length;
Console.WriteLine(B.ToString());
}
}程序运行时,输入" AAAAA"(五个A的前面有三个空格),则程序输出为(A)
a) false
8
b) -1
8
c) 0
8
d) false
5
6 ) 在C#程序中,通过( )关键字引用命名空间?
a) using
b) include
c) import
d) have
7 ) 阅读下面的代码:
class Class1{
static void Main(string[]args)
{
float f = 123.56F;
object obj = f;
f = 789.123F;
Console.WriteLine("f={0}",f);
Console.WriteLine("obj={0}",obj);
Console.ReadLine();
}
}
程序运行后将在控制台窗口显示(D)。
a) f=789.123 obj=789.123
b) f=123.56 obj=123.56
c) f=123.56 obj=789.123
d) f=789.123 obj=123.56
8 ) 针对switch语句,下例理解正确的是()(选择二项)
a) case语句和default语句是必须讲究先后顺序排列的。
b) case语句和default语句是可以不讲究先后顺序排列的。
c) default语句是可选的。
d) default语句是必须的。
9 ) .NET三层架构中通常指的哪三层(C)
a) 模型层、数据访问层、显示层
b) 通用层、业务逻辑层、显示层
c) 显示层、业务逻辑层、数据访问层
d) 显示层、数据访问层、通用层
10) .NET中下列关于三层架构的引用关系正确的是(C)
a)数据访问层引用业务逻辑层、业务逻辑层引用显示层
b)数据访问层引用显示层、显示层引用业务逻辑层
c) 显示层引用业务逻辑层、业务逻辑层引用数据访问层
d) 以上说法都不对
10)在.NET中,关于异常处理组合正确的是(D)(选择两项)
a) try块是必须的,catch和finally都可以不写。
b) catch块是必须的try和finally都可以不写
c) try块是必须的,catch和finally可以选择其中一个组合。
d) try块是必须的,catch块可以有多个,finally可选。
11)在C#中定义一个数组,正确的代码为(D)
a)int arraya = new int;
b)int[5] arraya = new int;
c)int arraya = new int[5];
d)int[] arraya = new int[5];
12)阅读下列代码:
class MyAnimals
{
private int bodytemp=98;
public int BodyTemp
{
set{ bodytemp=value; }
}
public void PrintBodyTemp()
{
Console.WriteLine("温度为:{0}",BodyTemp);
}
}
class Class1
{
static void Main(string[]args)
{
MyAnimals a = new MyAnimals();
a.BodyTemp = 56;
a.PrintBodyTemp();
}
}
请问运行上述代码的结果为(A)
a)将输出:"温度为:56"
b)输出:"温度为:98"
c)将显示代码"a.BodyTemp=56;"有错误
d)将显示代码为"Console.WriteLine("温度为:{0}",BodyTemp);"有错误
13)C#中可选参数,阅读以下代码:
public double AddCalc(double num1,double num2,string operational)
{
double result=0;
//中间代码省略....
return result;
}
能够正确调用的是()(选择两项)
a)AddCalc(operational="+",num1=2,num2=3)
b)AddCalc("+",2,3)
c)AddCalc(operational="+",2,3)
d)AddCalc(2,3,"+")
14)在http://ASP.NET MVC中关于控制器和视图数据传递说法正确的是()
a) ViewData 存放的值在视图中使用无需类型转换
b) ViewBag 存放的值在视图中使用需要类型转换
c) TempData 主要用于多个动作方法传递数据
d) 以上说法都不对
15)在http://ASP.NET MVC中关于路由、控制器说法描述错误的是()
a)路由系统主要是将各种URL请求转发给控制器处理
b)控制器中动作方法可以添加多个
c)视图名称不一定需要和动作方法对应
d)URL中可以通过问号“?”键值的方式进行值传递
16)在http://ASP.NET中以下()不属于数据验证特性。
a)Required必填验证
b)Compare比较验证
c)StringLength 长度验证
d)Result 正确验证
17)以下关于委托定义说法错误的是()
a) 委托是根据特定的方式传递参数值
b) 委托可以将方法作为参数进行传递
c) 委托是多线程中必须要使用到的方式
d) 以上说法都不正确
18)Razor视图中使用的特殊字符是()
a) $
b) @
c) &
d) #
19)Razor视图中输出特殊字符的符号是()
a)
b)$$
c)&&
d)@@
20)在http://ASP.NET以下对于Linq说法不正确的是()
a)Linq可以在程序中有效的遍历查询集合或数组
b)Linq语法包含以下关键词select、from、in、order by 等...
c)Linq可以直接操作数据库物理数据
d)以上说法都不正确
21.下面代码的输出结果是( )
int x = 5;
int y = x++;
Console.WriteLine(y);
y = ++x;
Console.WriteLine(y);
a) 5 6
b) 5 7
c) 6 7
d) 5 8
22) 在C#中,下列代码的运行结果是()。
int[] num = new int[]{1,3,5};
ArrayList arr = new ArrayList();
for(int i=0;i<num.Length;i++)
arr.Add(num[i]);
Console.Write(arr[2]);
a) 1
b) 4
c) 3
d) 5
23)以下C#程序代码:
int A = 3;
int B = 4
Console.WriteLine(A+B);
因为第二行代码少写了一个分号,程序运行时将( )。
a)程序中产生逻辑错误
b)程序运行后中断
c)程序可以正常运行
d)程序语法错误
24)以下的c#程序代码:
int count = 3;
while (count > 1)
{
Console.WriteLine(count);
--count;
}
程序运行时在控制台打印输出值为( )。
a)2
1
b)3
2
1
c)3
2
d)3
3
25)请阅读以下代码:
for(int i=1;i<=3;i++){
switch(i){
case 1:Console.write(i.ToString());
case 2:Console.write((i * 2).ToString());
case 1:Console.write((i * 3).ToString());
}
}上述关于C#代码的描述正确的是()
a)运行时输出149
b)运行时输出123246369
c)运行时在屏幕上没有输出
d)程序将报告编译错误,提示Case1已经出现在改语句中,不能运行
答完感觉如何?