.NET(C#)面试

来源:互联网 发布:苹果电脑背单词软件 编辑:程序博客网 时间:2024/06/05 09:16

    最近四处奔波于珠三角地区的.net开发工作的面试,一直碰壁,感到挺失落的。大学学的是电子信息工程专业,毕业后一年多的工作是vb6.0的开发,感觉vb6.0没有什么前景,对单片机什么的又没有什么兴趣了,所以就打算转行到.net开发,从原来的公司辞职前有三四个月的业余时间学习.net开发的相关知识,但就这些对于找到一份.net开发的工作还真是没什么意义。不过,.net相关的面试经验还是有点意义的,在这里就打算根据记忆列出来总结一下:


20140623笔试

1、软件设计是高耦合好,还是低耦合好?为什么?

   软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合 耦合度是指模块之间联系的紧密程度。 模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。 两个模块之间的耦合方式通常可分为7种,按其耦合度从低到高的次序依此为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。 内聚度是指内部各元素之间联系的紧密程度,模块的内聚种类通常可分为7种,按其内聚度从低到高的次序依此为:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚。(摘自:http://blog.sina.com.cn/s/blog_716d4f9f0100patn.html)

2、请使用UML图画出单列模式、工厂模式或其它的设计模式。


单列模式


工厂模式

3、设计三层二叉树,并设计相应的数据库表。

4、什么是分布式编程,在.NET平台下有哪些技术可以实现分布式编程?

    分布式编程的特点是让几个物理上独立的组件作为一个单独的系统协同工作。在这里,“物理上独立的组件”可能指多个CPU,或者更普遍的是指网络中的多台计算机。分布式编程可用于解决很多类型的问题,从预测天气到购买图书。作为分布式编程的核心,它做了如下的假定:如果一台计算机能够在5秒钟内完成一项任务,那么5台计算机以并行的方式一起工作时就能在1秒钟内完成一项任务。

    实现分布式编程的技术:用.NET Remoting进行分布式编程、XML Web服务

5、使用SQL语言实现表的创建、某一字段最大或最小值的查询等。

6、互联网上部署有A、B、C三台服务器,现要将B、C服务器的数据(不同的数据结构)同步到A服务器(不同的数据结构存储在不同的数据表中),请问可以使用什么技术解决?并说出实现的方式。

7、.NET对COM组件的互操作的技术?

    .NET互操作技术主要分为3种,P/InvokeC++ InteropCOM Interop其中P/Invoke 主要用于调用C库函数和Windows APIC++ Interop则主要用于Managed C++调用 C++类库和核心算法库,它甚至允许托管代码和非托管代码在同一个文件中。 COM Interop主要包括正向的RCW和反向的CCW

20140623机试

1、有n人围圈着坐在一起,分别进行1至n的编号,由1号开始报数,当报到的数是m的那个人退出圈外,接着下一个人往下报数m+1......直至报到n,然后重新从1开始直至n,同样当报到m时退出圈外,依次类推,直至结束。请以面向对象的思想完成该算法的编程。

面向对象编程的思想之一是创建具有许多简单方法的对象,每一个方法都专注于一个特殊的行为。

    

0 0