概述
一 选择题 (每小题5分,该项满分30分)
1. int[][] myArray3=new int[3][]{new int[3]{5,6,2}, new int[5]{6,9,7,8,3}, new int[2]{3,2}};, my Array3[2][2]的值是多少?( D )
A. 9 B. 2 C . 6 D. 越界
2. 在ASP.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader(), 下面叙述错误的是( C )
A. insert、update、delete等操作的SQL语句主要由ExecuteNonQuery()方法执行
B. ExecuteNonQuery()方法返回执行SQL语句所影响的行数
C. Select操作的SQL语句只能由ExecuteReader()方法执行
D. ExecuteReader()方法返回一个Data Reader对象
3. Which of the following operations can you NOT perform on an ASP.NET DataSet( H )
E. A DataSet can be synchronized with Record Set.
F. A DataSet can be synchronized with the database.
G. A DataSet can be converted to XML.
H. You can infer the schema from a DataSet.
4. In Object Oriented Programming, how would you describe encapsulation?
( A )
A. The conversion of one type of object to another.
B. The runtime resolution of method calls.
C. The exposition of data.
D. The separation of interface and implementation.
5. How does assembly versioning in .NET prevent DLL Hell? ( B )
A. The runtime checks to see that only one version of an assembly is on the machine at any one time.
B. .NET allows assemblies to specify the name AND the version of any assemblies they need to run.
C. The compiler offers compile time checking for backward compatibility.
D. It doesn’t.
6.全部变量放在( A );函数内部变量 static int ncount 放在( B );函数内部变量 char *p=”AAA”, p的位置在( C ); 指向空间的位置( D ); 函数内变量 char *p=new char; , p的位置( C ); 指向空间的位置( D )。
A. 数据段
B. 代码段
C. 堆栈
D. 堆
E. 不一定,看情况
二 编程(每小题10分,该项满分20分)
假设有一段程序对字符串进行加密,加密后的字符串的第一个字符是原字符串的最后一个字符,其它的每个字符是对应的原字符串中的前一个字符的值加上3。比如"welcome",末尾的字符为“e”,“welcom”依次加上3后成为"zhofrp",所以加密后的结果为"ezhofrp"。程序可以处理由用户任意输入的一个字符串。请用C#实现以上加密算法。C#语言编写
using System;
using System.Collections.Generic;
using System.Text;
namespace StringEnCode
{
class Program
{
static void Main (string[] args)
{
Console.WriteLine("Please input a world for EnCoding:");
string strtemp = Console.ReadLine();
strtemp = StrEnCode(strtemp);
Console.WriteLine("The result is :/n" + strtemp);
Console.Read();
}
static string StrEnCode(string str)
{
if (str == null)
return null;
Char[] charA= str.ToCharArray();
Char endChar = charA[charA.Length-1];
for (int i = charA.Length-2; i >= 0; i--)
{
charA[i] =(char)(((int)charA[i]) + 3);
charA[i + 1] = charA[i];
}
charA[0] = endChar;
return new string(charA);
}
}
}
一列数的规则如下:1、1、2、3、5、8、13、21、34...........求第30位数是多少,请用递归算法实现,C#语言编写。
using System;
using System.Collections.Generic;
using System.Text;
namespace Fibonacci
{
class Program
{
static void Main (string[] args)
{
Console.WriteLine("The Fibonacci(30) is :" + Fibonacci(30));
Console.Read();
}
static int Fibonacci(int n)
{
if (n <= 2) return 1;
else return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
}
三 问答题 (每小题7分,该项满分35分)
1. C#当中的委托和事件 (event and delegate) 分别是什么, 他们有什么联系?
事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。
在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型(Delegate),该类型提供函数指针的功能。
委托是可保存对方法的引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。一个委托声明足以定义一个委托类。声明提供委托的签名,公共语言运行库提供实现。
2. 讲讲你对Visual Studio 2005.NET中的CLR编程的理解,它与MFC编程有什么区别(列举2点即可)?
1、MFC 是基于 Windows 的,直接编译成本机二进制代码,可直接在 Windows 操作系统中执行,它是依赖于平台系统调用的(也就是 MFC 本身对 API 的包装)
2、.net 编程(就是你说的 CLR)是基于 .net framework 的,理论上说它是跨平台的(虽然目前只有 Windows 支持它,而且需要单独加装组件),编译后的只是中间代码,不可直接执行。
3. COM和COM+的联系和区别.
1、COM
所谓COM(Componet Object Model,组件对象模型),是一种说明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制和网络标准。通过这种标准将可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。
COM的优点?
首先:用户一般希望能够定制所用的应用程序,而组件技术从本质上讲就是可被定制的,因而用户可以用更能满足他们需要的某个组件来替换原来的那个。其次,由于组件是相对应用程序独立的部件,我们可以在不同的程序中使用同一个组件而不会产生任何问题,软件的可重用性将大大的得到增强。第三,随着网络带宽及其重要性的提高,分布式网络应用程序毫无疑问的成为软件市场上越来越重要的买点。组件价构可以使得开发这类应用程序的过程得以简化。
2、COM+
COM+并不是COM的简单升级,COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容,COM+综合了COM、DCOM和MTS这些技术要素,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统,因此,COM+与操作系统的结合更加紧密。
COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现。COM+继承了COM几乎全部的优势,同时又避免了COM实现方面的一些不足,把COM、DCOM和MTS的编程模型结合起来,继承了它们的绝大多数特性,在原有的特性上增加了新的功能。
3、COM+的新的优点
以下列出COM+的几个主要特性:
COM+不仅继承了COM所有的优点,而且还增加了一些服务,比如队列服务、负载平衡、内存数据库、事件服务等。
4. Win form的DataGridView和database的理解.
1、 DataGridView是一种数据用于表示层的集合。
2、 DataBase 表示的示数据的实体结构。
3、 DataBase所表示的数据实体通过DataGridView 到达表示层。
5. .NET中的常量和只读变量是什么(const和Read only),请列举出它们的三个不同点。
1. const 字段只能在该字段的声明中初始化。 readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。
2. const 字段是编译时常数,而 readonly 字段可用于运行时常数。
3. const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。
4.const 对于引用类型的常数,可能的值只能是 string、值类型和 null 。 readonly可以是任何类型
需要注意的一个问题是:
对于一个 readonly 的 Reference 类型,只是被限定不能进行赋值(写)操作而已。而对其成员的读写仍然是不受限制的。
四 Translation ( 该项满分15分)
请把下面这段中文翻译成英文。
ADO.NET 是为提高可伸缩性而专门设计的 — 尤其适用于在多个用户需要操纵数据库表中的相同行的情况下的数据操纵。ADO.NET 的一项有助于提高可伸缩性的重要功能是它依赖于开放式并发来实现数据操纵。使用开放式并发,用户不从准备更新某个行的时刻起锁定该行。行锁定仅在 ADO.NET 提交更改的瞬间应用。因此,在第一个用户向该行提交更改之前,另一个用户可以更改相同行。在这种情况下,第一个用户进行的更新引发 DBConcurrencyException 对象。ADO.NET 提供了有助于解决这类问题的功能。多用户问题还可能影响用 ADO.NET 实现的删除和插入。
ADO . NET is for raising but hygro-instability special design - apply to the data under the condition that many users need to control identical trip in database table especially control. ADO . NET a is helpful for raising but the important function of hygro-instability is it rely on open concurrent realization data control. Use open concurrent, it should be been all right that the time that user not updates certain trip from preparation takes lockin. Is all right to lock only in ADO . the instant when NET submits change application. Therefore before first user submits change to this trip, another user can change identical trip. Under this kind of condition first user carry out update to initiate DBConcurrencyException object. ADO . NET have offered the function that is helpful to solve this kind of problem. Multi-purpose household problem is still possible to affect with ADO . NET realization delete and insert to enter.
最后
以上就是迷人镜子为你收集整理的微创软件笔试的全部内容,希望文章能够帮你解决微创软件笔试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复