2021年最新 C# .net 面试题,月薪20K+中高级/架构师必看(七)

151、编写一个带参数,带返回值的自定义事件。

152、多服务器如何生成全局唯一ID?

153、简述socket通信建立和断开链接的过程。

https://www.cnblogs.com/felixzh/p/8359066.html

154、Javascript是否存在面向对象概念中的类?如果存在,如何定义?

155、在前端开发中,SPA代表什么意思?实现SPA的有哪些框架?用过哪些方式来优化页面组件

156、如何解决.net中的内存泄漏问题?用到过哪些检测工具?

157、列出你所了解的设计模式,并用代码写出一个例子。说一说使用设计模式可能带来的好处。

158、在设计一个自定义类型时应如何选择使用Value Type还是Reference Type?

159、Debug Build和Release Build有什么区别?在执行效率上有什么明显的区别么?

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

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

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


对方法的参数设置Attribute的例子
  [AttributeUsage(AttributeTargets.Parameter)]
    public class ParameterAtt : Attribute
    {
        public int Min = 100;
    }

    public class AttributeTest
    {      
        public void TestMethod([ParameterAtt(Min = 100)] int par1)
        {
            ParameterInfo para = MethodInfo.GetCurrentMethod().GetParameters()[0];
            ParameterAtt att = ParameterAtt.GetCustomAttribute(para, typeof(ParameterAtt)) as ParameterAtt;
            if (att.Min > par1)
            {
                throw new Exception("要求para1最小为" + att.Min);
            }
        }
    }

 

161、请解释一下IClonable

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

162、.NET中如何实现深拷贝(deep copy)?

实现IClonable接口

 

1)NET中为什么不提供默认的deep copy?

163、Debug.Write()和Trace.Write()之间有什么区别?二者分别应该用于何处?

Debug.Write是调试的时候向跟踪窗口输出信息。

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

164、有什么办法可以与现有unmanaged code集成?在集成的时候应该考虑什么问题?

165、跨防火墙的 DCOM必须打开哪个端口?端口135是用来做什么的?

135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下,DCOM不能穿越防火墙。因为根本不晓得开哪个端口。但有解决办法可以使DCOM分配的端口号固定,有关内容我在http://www.cnblogs.com/jillzhang/archive/2008/02/20/1075057.html 有过一些描述。

135是远程过程调用(RPC)的默认端口

 

166、一个进程可以访问的Windows地址空间有多大?等于系统的虚拟内存大小么?这两方面将对系统的设计产生什么样的影响?   

167、使用yield语句返回[0,100]中的完全平方数。

168、数据库的三大范式是什么?

https://www.cnblogs.com/zoro-zero/p/13501079.html

169、post、get的区别,百度搜索是用的get还是post?

170、编写一个判断邮箱的正则表达式?

171、windows中cmd的常用命令?

172、Linux操作系统的常用命令?

173、List<T>和T[]的区别?

174、数据库中的内连接和外连接是干嘛的,使用方式?

175、Lambda表达式?

posted @ 2021-04-23 09:51  王春天  阅读(803)  评论(0编辑  收藏  举报
云推荐