本站业务范围:1、PC端软件开发、网站开发 2、移动端APP、网站、微信接口、微商城开发 3、视频教程、毕业设计辅导
 当前位置:文章中心 >> vs2015_vs2017_vs2010_vs2012_vs2013
立即购买视频教程 据说这套.net面试题很多网络公司都用
夜鹰教程网 来源:www.yyjcw.com 日期:2015/11/14 23:07:02
分享到:
今天推荐一套.net面试题给大家,据说很多网络公司都在用哦!呵呵,内行看门道,外行看热闹,不妨一起来试试手,看看自己都掌握了多少呢?话不多说,我们一起开始吧,后面附带有参考答案。

这篇文章不能解决你的问题?我们还有相关视频教程哦!

QQ:1416759661 新手QQ群:7835003  加Q远程协助!

在线解答|Demo制作|远程调试| 点击查看相关的视频教程

技术咨询: 购买教程  技术咨询:购买教程  大胆的加QQ咨询。

1.DateTime.Parse(myString); 这行代码有什么问题?

2.PDB是什么东西? 在调试中它应该放在哪里?

3.什么叫圈复杂度(cyclomatic complexity)?为什么它很重要?

4.写一个标准的lock(),在访问变量的前后创建临界区,要有"双重检查",

5.什么叫FullTrust?放入GAC的assembly是否是FullTrust的?

6.代码加上需要安全权限的特性有什么好处?

7.gacutil /l | find /i "Corillian" 这句命令的作用是什么?

8.sn -t foo.dll 这句命令是干嘛的?

9.DCOM需要防火墙打开哪些端口?端口135是干嘛用的?

10.对比OOP和SOA,它们的目的分别是什么?

11.XmlSerializer是如何工作的?使用这个类的进程需要什么ACL权限?

12.为什么不提倡catch(Exception)?

13.Debug.Write和Trace.Write有什么不同?何时应该使用哪一个?

14.Debug Build和Release Build的区别,是否会有明显的速度变化?请说明理由。

15.JIT是以assembly为单位发生还是以方法为单位发生?这对于工作区有何影响?

16.对比抽象基类和接口的使用

17.a.Equals(b)和a == b一样吗?

18.在对象比较中,对象一致和对象相等分别是指什么?

19.在.NET中如何实现深拷贝(deep copy)?

20.请解释一下IClonable

21.什么叫装箱?

22.string是值类型还是引用类型?

23.XmlSerializer使用的针对属性的模式有什么好处?解决了什么问题?

24.为什么不应该在.NET中使用out参数?它究竟好不好?

25.特性能够放到某个方法的参数上?如果可以,这有什么用?

26.新建包含DataGrid控件的ASP.NET页,DataGrid控件负责显示检索到的数据并可按升降排序,我们通过 SortOrder 属性来给DataGrid控件提供数据排序方式:升序时SortOrder 的值为ASC,降序时SortOrder 的值为DESC。如果用户选择降序,应该执行
a)Application[“SortOrder”] = “DESC”;
string val = (string) Application[“SortOrder”];

b)Cache[“SortOrder”] = “DESC”;
string val = (string) Cache[“SortOrder”];

c)ViewState[“SortOrder”] = “DESC”;
string SortOrder = (string) ViewState[“SortOrder”];

d)Cache[“SortOrder”] = “SortOrder”;
string val = (string) Cache[“DESC”];

27.public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(int) o;
Console.WriteLine("i={0},o={1}, j={2}",i,o,j);
}
请问此程序的输出是什么,为什么

28.class Class1
{
public static int Count = 0;
static Class1()
{
   Count++;
}
public Class1()
{
   Count++;
}  

static void Main()
{
   Class1 o1 = new Class1();
   Class1 o2 = new Class1();

   Console.WriteLine(Class1.Count);
   Console.Read();
}    
}
输出什么?

29.以下语句执行后myTable的名称是什么?。
System.Data.DataTable myTable= new System.Data.DataTable();

30.如下的 IDimensions 接口和Box 类,该类显式实现接口成员 Length 和 Width。myDimensions是IDimensions 接口的一个实例。

interface IDimensions
{
   
float Length();
   
float Width();
}
class Box : IDimensions
{
   
float lengthInches;
   
float widthInches;
   
public Box(float length, float width)
    {
       lengthInches
= length;
       widthInches
= width;
    }
   
float IDimensions.Length()
    {
      
return lengthInches;
    }
   
float IDimensions.Width()
    {
      
return widthInches;      
    }
   
public static void Main()
    {
       Box myBox
= new Box(30.0f, 20.0f);
       IDimensions myDimensions
= (IDimensions) myBox;
       System.Console.WriteLine(
"Length: {0}", myBox.Length());
       System.Console.WriteLine(
"Width: {0}", myBox.Width());
    }
}


执行以上程序控制台输出为?

答案:

1.当myString不能满足时间格式要求的时候,会引发异常。建议使用DateTime.TryParse()

2.PDB是用于保存调试和项目状态信息的文件,在debug的时候将产生pdb文件,调试的时候应该放在和对应应用程序集相同目录。

3.一种代码复杂度的衡量标准, 英文名称叫Cyclomatic Complexity。在软件测试的概念里,圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系”。

4.

1public void LockTest()
2{
3     Object lockObj = new Object();
4    lock (lockObj)
5    {
6       //
7     }

8}

5.FullTrust完全信任。.NET运行时对GAC中的assembly自动赋予Full Trust的权限.

6.没深入过,望高手指教

7.全局程序集缓存中如果有Corillian就更新该程序集,没有就安装

8.显示程序集foo.dll的公钥标记

9.135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下,DCOM不能穿越防火墙。因为根本不晓得开哪个端口。但有解决办法可以使DCOM分配的端口号固定。135是远程过程调用(RPC)的默认端口

10.我想OOP和SOA应该没有对比性吧。OOP是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态 。而SOA是一个技术框架或者是一种思想,技术框架和编程模型应该说不是一码事吧?SOA的思想是将业务逻辑封装成服务或者中间件现组成业务总线提供给应用程序来调用。

11.将对象序列化成为xml数据,反序列化再将xml转换成对象。应该至少需要ACL权限中的读权限.

12.原因可能有两点:1)try..catch在出现异常的时候影响性能 2)应该捕获更具体得异常,比如IOExeception,OutOfMemoryException等


13.Debug.Write是调试的时候向跟踪窗口输出信息。当编译模式为debug的时候才有效,为release的时候Debug.Write在编译的时候会忽略,而Trace则是在debug和release两种模式下均可以向跟踪窗口输出信息。

14.Debug会产生pdb文件,release不会。Debug用于开发时的调试,不能要于部署,而release用于部署.debug编译一些特殊代码,比如#IFDEBUG Debug.Write等,而Release则会将那些特殊标记省略

15.方法,因为对于一次运行,很可能只用到一个程序集中极少数类型和对象,而大部分可能并不会被使用,此时CLR傻乎乎的给整个程序集都给Compile了,CLR不是傻疯了么

16.抽象类能有具体实现,而接口只定义行为规范,不能有具体实现。一个类只能继承一个父类,但能实现多个接口。

17.不一样。a.Equals(b)表示a与b一致, a==b表示a与b的值相等

18.对象一致是指两个对象是同一个对象,引用相同。而对象相等是指两个对象的值相同,但引用不一定相同
19.实现IClonable接口

20.IClonable方法是实现深度复制的接口,实现它应该能深度复制一个对象出来。深度复制的特征的调用对象的构造方法,创建新的对象,包括创建对象中嵌套的引用对象的新实例。而Shadow复制则不同,是浅表复制,不重新创建新实例。浅表复制的实现是Object.MemberWiseClone().


1  public class Name
2    {
3        public string FirstName;
4        public string LastName;
5     }

6    public class Person:ICloneable
7    {
8        public Name PersonName;
9        public string Email;
10        /**//**//**//// <summary>
11        /// Deep Copy的例子
12        /// </summary>
13        /// <returns></returns>

14        public Object Clone()
15        {
16             Person p = new Person();
17             p.Email = this.Email;
18             p.PersonName = new Name();
19             p.PersonName.FirstName = this.PersonName.FirstName;
20             p.PersonName.LastName = this.PersonName.LastName;
21            return p;
22         }

23
24        public void ChangLastName(string lastName)
25        {
26            this.PersonName.LastName = lastName;
27         }

28        
29        public static void Main()
30        {
31             Person p = new Person();
32             p.PersonName = new Name();
33             p.PersonName.LastName = "jill";
34             p.PersonName.FirstName = "zhang";
35             p.Email = "jillzhang@126.com";
36             Person sameNamePerson = p.Clone() as Person;
37             sameNamePerson.ChangLastName("clr_");
38             Console.WriteLine(p.PersonName.LastName);
39             Console.WriteLine(sameNamePerson.PersonName.LastName);            
40          
41
42             Person samePerson = p.MemberwiseClone() as Person;
43             samePerson.ChangLastName("Shadow");
44
45             Console.WriteLine(p.PersonName.LastName);
46             Console.WriteLine(sameNamePerson.PersonName.LastName);
47        
48             Console.Read();
49         }

50     }

21.装箱(boxing)是将值类型的数据转化成引用类型,int i=3; object o = i ;便是装箱过程,而拆箱(unboxing)是将引用类型数据转换值类型,比如int j = (int)o;属于拆箱

22.引用类型

23.只序列化有用的数据,而不是序列化整个对象。实现没必要的数据冗余,和提升序列化时的性能

24.不知道,只是看过有文章说最好少用……

25.可以,作用可以对参数有进一步限定,比如输入参数为int类型,可以通过允许AttributeTargets=ParameterInfo的Attribute自定义实现来限定输入参数的大小,比如当输入参数小于100的时候便抱错。


1   [AttributeUsage(AttributeTargets.Parameter)]
2    public class ParameterAtt : Attribute
3    {
4        public int Min = 100;
5     }

6
7    public class AttributeTest
8    {       
9        public void TestMethod([ParameterAtt(Min = 100)] int par1)
10        {
11             ParameterInfo para = MethodInfo.GetCurrentMethod().GetParameters()[0];
12             ParameterAtt att = ParameterAtt.GetCustomAttribute(para, typeof(ParameterAtt)) as ParameterAtt;
13            if (att.Min > par1)
14            {
15                throw new Exception("要求para1最小为" + att.Min);
16             }

17         }

18     }

26.C

27.i=2001,0=2000,j=2000

28.3

29.""(字符串空)

30.报错,Box 类并没有Length和Width方法

复制链接 网友评论 收藏本文 关闭此页
上一条: asp.net2.0下如何全程使用SSL协议…  下一条: 浅析C#3.0 新特性
购买夜鹰教程网视频教程
  推荐教程/优惠活动

  热门服务/教程目录

  夜鹰教程网  新手必看,详细又全面。
  夜鹰教程网  购买教程  夜鹰教程网  在线支付-方便
  夜鹰教程网  担保交易-快捷安全   夜鹰教程网  闪电发货
  夜鹰教程网  电话和QQ随时可以联系我们。
  夜鹰教程网 不会的功能都可以找我们,按工作量收费。

客服电话:153 9760 0032

购买教程QQ:1416759661  购买教程
  热点推荐
一个关于天气预报的WebService【C…
VS2010最大的新特点是并行编程的进…
TextBox控件:asp.net中如何为密码…
Web服务调用实例:实现天气预报的…
ASP.NET程序员面试试题(130道题)
ASP.NET教程:调用WebService的源码…
网站开发全程设计
据说这套.net面试题很多网络公司都…
考考你:C#常见题型及部分答案
原创:.net读取数据库sql2000
伪静态URL重写配置
配置web.config代码asp.net3.5个性…
使用线程池提高性能 Socket网络编…
ASP.NET(C#)GridView表头的增加…
如何找到正确的学习方向【.NET版】…
  尊贵服务
夜鹰教程网 承接业务:软件开发 网站开发 网页设计 .Net+C#+VS2008+MSsql+Jquery+ExtJs全套高清完整版视频教程
  最近更新
一个获取内容中的图片地址的方法
ASP.NET 4.0尚未在 Web 服务器上注…
四大作用域:application,session…
ConfigurationManager不存在的解决…
vs2012_vs2013_vs2015没有Web Dep…
vs2015禁用解决方案中单击打开文件…
微软为Visual Studio 2015新增安卓…
C#如何实现搜索引擎网络爬虫程序
C#中正则表达式的用法
用C#抓取需要登录的页面数据
VS2015新功能
VS2015安装图解教程
vs2015新功能介绍
vs2015安装图解
c#生成二维码和打印
  工具下载  需要远程协助? 购买教程

sql2008视频教程 c#视频教程

VIP服务:如果您的某个功能不会做,可以加我们QQ,给你做DEMO!

JQUERY  Asp.net教程

MVC视频教程  vs2012
.NET+sql开发
手机:15397600032 C#视频教程下载
vs2012 vs2008 vs2010 sql2008 sql2005
Asp.Net  

教程咨询QQ:1416759661


这篇文章不能解决你的问题?我们还有相关视频教程哦!

QQ:1416759661 新手QQ群:7835003  加Q远程协助!

在线解答|Demo制作|远程调试| 点击查看相关的视频教程

技术咨询: 购买教程  技术咨询:购买教程  大胆的加QQ咨询。

关于我们 | 广告投放 | 购买教程 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接 | 购买教程

Nighthawk Tutorials Network 快捷购买教程

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3

 

出售asp.net系列视频教程 高清原创版 每天晚上20:30--23:00在线 按照编号从简单到高级 http://www.yyjcw.com/list.html