shangxijie

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换
2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组
3:请简述面向对象的多态的特性及意义!
4:session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
5:对数据的并发采用什么办法进行处理较好。
6:已知Oracle数据库有GD和ZS两个数据库,GD数据库v_s表有数据写入时,从v_s表中提取最新数据到ZS数据库的D_E表中。请问用什么办法解决这一问题?如果又碰到不能互访的问题时,又用什么办法解决?
7:已知Oracle数据库a,b
现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法

8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法
9:算法分析
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
说明:第二列表示日期,第三列表示温度,第四列表示水位,第五列表示流量,第6列表示水位测站编码,每一列表示一个字段
很明显第一条数据和第二条数据重复,然数据表中有主键和外键的约束,是不允许有重复的数据存在的,请构造算法将重复的数据Del掉
10:javascript算法
已知a,b,现在点鼠标a会向b游动,鼠标停,a会停下来
请实现"跑步算法"
1、答案
a=a+b;
b=a-b;
b=(a+b)/2;
a=a-b;

还有变态要求,需要代码最短呢。有两个结果:
1) a^=b^(b^=a^b); // 13个字节
2) a=b+(b=a)*0; // 11个字节

2、答案(如果不限定算法,其实可以直接用Array.Sort()方法的)
public class TestQuickSort {
      private int[] array = null;
      private void quickSort(int lowest, int highest) {
          if (array == null || lowest < 0 || lowest >= highest
                  || highest >= array.length) { 软件开发网 www.mscto.com
              return;
          }
          int low = lowest;
          int high = highest;
          int key = low++;
          for (; low <= high;) {
              if (key < high) {
                  if (array[key] > array[high]) {
                      array[high] = array[key] + (array[key] = array[high]) * 0;
                      key = high; 
                  }
                  high--;
              }
              if (key > low) {
                  if (array[key] < array[low]) {
                      array[low] = array[key] + (array[key] = array[low]) * 0;
                      key = low;
                  }
                  low++;
              }
          }
          quickSort(lowest, key - 1);
          quickSort(key + 1, highest);
      }



      /**
       * @param args
       */
      public static void main(String[] args) {
          TestQuickSort test = new TestQuickSort();
          int[] array = {6,5,2,9,7,4,0};
          test.array = array;
          test.quickSort(0, array.length - 1);
          int length = test.array.length;
          for (int i = 0; i < length; i++) {
              System.out.println(test.array);
          }
      }
}

不要用冒泡排序法很慢,选择排序好些,但题意是快速排序算法
快速排序算法的基本思想:
快速排序的基本思想是基于分治策略的。对于输入的子序列ap..ar,如果规模足够小则直接进行排序,否则分三步处理:
分解(Divide):将输入的序列ap..ar划分成两个非空子序列ap..aq和aq+1..ar,使ap..aq中任一元素的值不大于aq+1..ar中任一元素的值。
递归求解(Conquer):通过递归调用快速排序算法分别对ap..aq和aq+1..ar进行排序。
合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在ap..aq和aq+1..ar都排好序后不需要执行任何计算ap..ar就已排好序。
这个解决流程是符合分治法的基本步骤的。因此,快速排序法是分治法的经典应用实例之一。

算法Quick_Sort的实现:
Pascal实现:
Procedure Quick_Sort(p,r:TPosition;var L:TList); {快速排序}
var
q:TPosition;
begin
if L[p..r]足够小 then Sort(p,r,L) {若L[p..r]足够小则直接对L[p..r]排序}
else
begin
q:=Partition(p,r,L); {将L[p..r]分解为L[p..q]和L[q+1..r]两部分}
Quick_Sort(p,q,L); {递归排序L[p..q]}
Quick_Sort(q+1,r,L); {递归排序L[q+1..r]}
end;
end;

3、答案
面向对象的编程使用了派生继承 以及虚函数机制.
一个本来指向基类的对象指针可以指向其派生类的.并访问从基类继承而来的成员变量和函数.
而虚函数是专门为这个特性设计的,这个函数在每个基类的派生类中都是同一个名字,但函数体却并不一定相同,派生类往往为实现自己的功能而修改这个虚函数.这样用一个指针就能够实现对多种不同的派生类的访问, 并实现其派生类的特定功能(代码 )....
4、答案
用VIEWSTATE
stateserver
5、答案
可以控制连接池的连接数量条件好的话 可以用负载平衡
6、答案
一个中型或大型公司往往由地理上分散的部门所组成,这些部门通常需要进行数据共享。针对这些共享数据,可以将其存储在某个站点上,需要的用户都从这个站点上存取。这种方案的优点是数据的一致性容易保证,但其缺点也是很突出的,那就是该站点的负载大、网络负载大,远程用户的数据响应迟缓。数据复制技术可以有效地解决这个问题,它通过将这些共享数据复制到位于不同地点的多个数据库中,从而实现数据的本地访问,减少了网络负荷,并提高了数据访问的性能,而且通过对数据库中的数据定期同步(通常是每天晚上),从而确保了所有的用户使用同样的、最新的数据。该技术适用于用户数量较大、地理分布较广、而且需要实时地访问相同数据的应用模式。
数据复制的概念及特点
1、数据复制的概念及分类
数据复制,就是将数据库中的数据拷贝到另外一个或多个不同的物理站点上,从而保持源数据库与目标数据库中指定数据的一致性。
按照数据复制的实时性,数据复制可分为同步数据复制和异步数据复制。同步数据复制是指将本地生产数据以完全同步的方式复制到异地,每一本地IO交易均需等待远程复制的完成方予以释放。异步数据复制则是指将本地生产数据以后台同步的方式复制到异地,每一本地IO交易均正常释放,无需等待远程复制的完成。同步复制实时性强,远端数据与本地数据完全同步。但这种方式受带宽影响较大,数据传输距离较短。异步复制不影响本地交易,传输距离长,但其数据比本地数据略有延迟。在异步复制环境中,对于所有应用最关键的就是要确保数据的一致性。
按照复制站点的类型,数据复制可分为多主控站点复制、物化视图复制及混合复制。多主控站点复制也称为对等站点复制,其中每个站点都是主控站点,都需要与其他站点进行信息交流,各站点之间是平等的。物化视图复制包含一个主控站点、一个或多个物化视图站点,


物化视图中的内容可以为目标主对象在某个时间点的全部拷贝或部分拷贝,其中目标主对象既可以是主控站点上的表也可以是物化视图站点上的主物化视图。混合复制包含多个主控站点和多个物化视图站点,是主控站点复制和物化视图复制的结合体,适合于复杂的业务情况。





2、数据复制的特点



数据复制通过在多个站点上建立备份,能够提高数据的安全性,同时也提高了数据的可用性,这是因为如果一个站点出现了问题,用户可以选择其他站点继续进行操作,应用系统还可继续运行,从而数据复制提供了容错保护机制。



然而数据复制最基本的功能是提高数据库的性能。它通过将远程数据库中的数据复制到本地,使得应用能够就近访问数据,从而降低网络传输负载,提高效率。而且在数据复制系统中,可以提供多个站点之间的负载平衡,让这几个用户使用这个服务器,另外几个用户可以



使用其他的服务器,以避免某些站点负载过重。



物化视图还提供了按子集进行复制,这样各站点就可只复制自己需要的数据,也能减轻网络的传输量。



数据复制的实现方法



在具体的实现之前,首先要做好设计与规划。这就需要细致分析具体的业务情况,设计出一套能够满足业务需要的方案。通常在设计过程中,需要确定出要建立的数据库站点,各站点的类型,需要复制的数据对象,以及同步方式、冲突解决方案等内容。



在设计完成之后,就可具体来实现数据复制,实现主要包括以下几步:



(1)创建复制站点



(2)创建组对象



(3)配置冲突解决方案



下面我们举一个例子来说明各步具体需要完成的工作。在这个例子中我们采用多主控站点复制方式,设有两个主控站点和两个共享数据表。两个主控站点分别为:处理站点(cl.world)和解释站点(js.wo rld);两个数据表为测区( survey)和测线( line)。



STEP1 创建复制站点



(1)首先以SYSTEM身份登陆主站点数据库cl.worldCONNECT system/manager@cl.world


(2)创建用户—复制管理员,并为该用户授权复制管理员负责复制站点的创建和管理,每个复制站点都必须创建复制管理员:

CREATE USER repadmin IDENTIFIED BY repadmin;
BEGIN
 DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => ’repadmin’);
END;
(3)为本站点指定传播者

传播者负责将本地最新更新的数据传播到其他站点上:

BEGIN
 DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username => ’repadmin’);
END;




一、Web基础知识(HTML、XML、CSS基础语法):
1、HTML/XML规范中,元素结束标签是以尖括号括起来,并以/还是\开头再加上元素名称?即body的结束标签是</body>还是<\body>





 



2、符合XHTML规范的文档一定符合XML规范吗?XSL和HTML的文档呢?
3、XML规范中,第一行必须是<?xml… 还是<!xml… 开头?
4、一个HTML文档必须包含三个元素,它们是head、body和哪个?
5、HTML中文档内联注释应该是以<!-开头还是<!--或者<?-,又以什么结尾?
6、Javascript脚本必须写在什么标签之内。
7、FireFox浏览器是否支持VBScript脚本?
8、我们现在使用的IE的版本一般是多少,IE的英文全称是什么?
9、CSS规范中,每一条样式的结束符是;(分号)还是: (冒号) ?样式名与样式值之间的分隔符是:(冒号)还是=(等号) ?
10、CSS规范中,.(句点)后面跟一个名称代表什么含义?#(井号)后面跟一个名称代表什么含义?如果要对一个元素设置CSS样式,应将CSS样式写在它的什么属性内?




1、</body>
2、XHTML和XSL都必然符合XML规范,HTML不符合。
3、<?xml
4、html
5、<!--和-->
6、<script>
7、不支持
8、Internet Explorer 6.0 SP2/5.5/5.0/6.0 SP1/7.0 beta2/7.0 beta3都算对。
9、;,:和=都可以
10、.后面跟个名称表示文档中所有class属性值包含这个名称的应用其后样式,#后面跟个名称表示文档中ID为此名称的元素应用其后样式。




二、C#语法考察
1、delegate是引用类型还是值类型?enum、int[]和string呢(难度系数40%)?
2、我们知道new可以调用构造函数创建一个对象,那么new还有什么别的语法吗?
3、base这个关键字有哪几种语法?override呢?
4、请指出C#中是否有下列关键字?virtual、sealed、abstract、import、as、in、goto、final、Const、signed、String(提示,仅指出C#中没有的即可)(难度系数50%)。
5、在循环:for( int i = 0; i < 100; i++ ) Console.WriteLine( i );中,请指出i++的执行时机。
6、试说明continue关键字的用处。
7、object是C#的关键字吗?请指出C#中有哪些类型关键字,如int、float。(提示,写得越多越好)。
8、C#的XML文档注释中(以///开头的注释),<summary>标签用于描述什么?<param>标签呢?

软件开发网 www.mscto.com


9、我们知道[]是数组和索引器的访问操作符,但它还有一个语法,是什么?



1、delegate引用类型,enum值类型,int[]引用类型,string引用类型。
2、隐藏基类相同签名方法,如果在C# 2.0中则还作为泛型构造函数约束。
3、base两个语法,分别是调用基类构造函数和调用基类方法,override用于重写基类方法。
4、没有的关键字:import、final、Const、signed、String
5、在Console.WriterLine( i );执行之后
6、马上开始下一次循环,忽略循环体余下的语句
7、是,object、int、uint、long、ulong、short、ushort、byte、sbyte、char、float、double、decimal、bool,如回答:enum、struct、class、delegate也算对。
8、<summary>用于某个元素的概要说明,<param>用于某个方法的参数概要说明。
9、特性(Attribute)




三、Web进阶知识(javascript、DOM、CSS进阶):
1、试图说明setTimeout和setInterval的不同。
2、请指出body是什么元素的属性,alert是什么元素的方法。
3、onblur事件在什么时机被触发?onmouseover事件当鼠标在元素上移动时是仅触发一次还是连续触发?那么onmouseout呢?
4、在CSS中a:hover、a:link各表示什么意思?a与A是否有不同?XHTML规范要求所有标签名称必须大写还是小写?属性名称呢?
5、在<form>中的元素不能在脚本中直接用元素ID来访问,这个时候我们一般用document的一个方法来获取这个元素。这个方法是:
getElementByID、getElementById、getNodeById、getNodeByID、GetNodeById。
6、由于class是javascript中的保留字,所以元素的class属性在javascript中没有用class这个名称,那么是用什么名称来代替的?
7、如何简单的使一个变量的值为NaN?
8、试说明parent和opener属性各代表什么?
9、指出border-style样式在javascript应如何访问?
10、指出div与span的不同。



1、setTimeout在经过指定时间后执行一次,setInterval则是经过指定时间就执行一次。
2、window.document、window
3、onblur在控件失去焦点时触发,onmouseover是连续触发,onmouseout仅触发一次。
4、a:hover表示当鼠标放在连接上时,连接该使用什么样式,a:link表示正常情况下连接该使用什么样式,在现行的CSS标准中不区分大小写,所以a与A没有不同。XHTML要求所有的标签名和属性名都必须小写。
5、getElementById
6、className
7、a = 1/0;
8、parent代表父框架,opener代表打开这个窗口的窗口
9、element.style.borderStyle
10、默认的display样式不同,div是block而span是inline;



1、您了解设计模式吗?请列出您所知到的设计模式的名称?
答:23中设计模式。如简单工厂模式、工厂方法模式和单件模式等。



  2、你对微软.net企业库了解?都包括那些模块?
• 了解一些,但是不是很熟悉:缓存(Caching):允许开发人员在程序中合并一个本地缓存器。&n bsp;
• 配置(Configuration): 允许程序读入和编写配置信息。
• 加密(Cryptography):允许开发人员在程序中使用加密技术和信号功能。
• 数据访问(Data Access):允许开发人员在程序中使用标准的数据库功能。&nb sp;
• 异常处理(Exception Handing):允许开发人员和规范制定者建立一套用于
处理异常的统一策略。
• 日志和规范应用程序(Logging and Instrumentation ):允许开发人员在程序中加入日志和规范应用程序。
• 安全性(Security):允许开发人员在程序中包括安全性功能。程序可以在不同的情况下使用到安


全性,比如鉴别和批准用户访问数据库,获得任务信息,以及缓存用户信息。



2、




第五大题考泛型的题目没有人做出来了:



五、.NET Framework 2.0/C# 2.0语法知识考察,C#高级语法考察(泛型及泛型技巧、匿名方法及其技巧)
1、看函数代码,然后回答问题(难度系数80%):
public static T[] SomeMethod<T>( T value, int size )
{
   T[] arr = new T[size];
   for ( int i = 0; i < size, i++ )
     arr = value;
   return arr;
}
试阐述这个函数的作用。
请问,这样调用这个函数有没有问题,如有问题,有何问题?
long[] result = SomeMethod( 1, 20 );



2、看代码,然后指出在各种调用中返回值为何种类型(难度系数85%):
   public class MyClass<K, V>
   {
     public V this[K key]
     {
       get
       {
         throw new NotImplementedException();
       }
     }
   }
 
   public class MyClass
   {
     public static T[] MyMethod1<T>( T arg )
     {
       throw new NotImplementedException();
     }
   
     public static K MyMethod2<K, V>( V value, MyClass<K, V> dictionary )
     {
       throw new NotImplementedException();
     }
   }




MyClass<int, string> instance = new MyClass< int, string >();



??? result = MyClass.MyMethod1( MyClass.MyMethod2( instance[0], instance ) );//请指出返回类型



3、看代码,然后指出在各种调用中返回值为何种类型(难度系数90%):


public class MyClass<K, V>
{
   public V this[K key]
   {
     get
     {
       throw new NotImplementedException();
     }
   }
}



public class MyClass
{
   public static MyClass<V, K> MethodA<K, V>( MyClass<K, V> dictionary )
   {
     throw new NotImplementedException();
   }



   public static MyClass<MyClass<T, V>, K> MethodB<K, V, T>( MyClass<K, V> dictionary, T[] arg )
   {
     throw new NotImplementedException();
   }



   public static MyClass<K, V[]> MethodC<K, V>( MyClass<K, V> dictionary )
   {
     throw new NotImplementedException();

   }
}



??? obj = MyClass.MethodA( MyClass.MethodB( instance, MyClass.MethodC( instance )[0] ) )[0]; //请指出返回类型。
posted on 2008-07-24 15:03  尚希杰  阅读(308)  评论(0编辑  收藏  举报