`
流星剑
  • 浏览: 94718 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

大型软件公司.net面试题!一定得看(附答案)

阅读更多

1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换

 

2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组

 

3:请简述面向对象的多态的特性及意义!

 

4session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法

 

5:对数据的并发采用什么办法进行处理较好。

 

6:已知Oracle数据库有GDZS两个数据库,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;

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) {

            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[i]);

        }

    }

}

 

不要用冒泡排序法很慢,选择排序好些,但题意是快速排序算法

快速排序算法的基本思想:

快速排序的基本思想是基于分治策略的。对于输入的子序列ap..ar,如果规模足够小则直接进行排序,否则分三步处理:

分解(Divide):将输入的序列ap..ar划分成两个非空子序列ap..aqaq+1..ar,使ap..aq中任一元素的值不大于aq+1..ar中任一元素的值。

递归求解(Conquer):通过递归调用快速排序算法分别对ap..aqaq+1..ar进行排序。

合并(Merge):由于对分解出的两个子序列的排序是就地进行的,所以在ap..aqaq+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;

4)为本站点指定接收者

接收者负责接收其他站点上的传播者传送过来的数据:

BEGIN

 

DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (

 username => repadmin,

 privilege_type => receiver,

 list_of_gnames => NULL);

END;

5)确定清除时间

为了使传送过来事务队列不致过大,需要将成功加载的事务从事物队列里清除掉,这里设定每小时清除一次。

CONNECT repadmin/repadmin@cl.world

BEGIN

 DBMS_DEFER_SYS.SCHEDULE_PURGE (

next_date => SYSDATE,

interval => ’SYSDATE + 1/24’,

delay_seconds => 0);

END;

在建立好站点<span

分享到:
评论

相关推荐

    大型软件公司.net面试题!一定得看(附答案

    以上是针对.NET面试题中的关键知识点的详细解释,涵盖了变量交换、排序算法、多态、会话管理、并发控制、数据库操作、数据去重以及JavaScript编程等多个方面。这些知识对于.NET开发者来说非常重要,理解和掌握它们有...

    .net 面试题系列(网上收集)很全

    2008/08/03 10:34 88,064 大型软件公司.net面试题!一定得看(附答案)收藏.doc 2008/06/17 18:37 2,121 最新.net 面试题 2.txt 2008/06/17 18:36 1,649 最新.net 面试题.txt 2008/06/17 18:45 1,067 某软件公司.net...

    大型软件公司.NET面试题

    在大型软件公司的.NET面试中,面试官通常会考察应聘者的深入理解、实践经验以及问题解决能力。以下是一些可能涉及的重要知识点: 1. **基础概念**:了解.NET Framework的基本构成,包括Common Language Runtime ...

    java 与.net面试题

    6. **.NET面试题**:.NET面试题会涵盖C#语言,如lambda表达式,LINQ,异步编程(async/await),以及.NET框架,如Windows Forms,WPF,ASP.NET MVC或Core,Entity Framework等。数据库操作,如ADO.NET,也可能是重点...

    DotNetGuide,C#面试题,.NET Core面试题,MySQL面试题,Redis面试题,大厂面试题

    本压缩包中的资源涵盖了几个核心的编程语言和技术,包括C#、.NET Core、MySQL、Redis以及大厂面试题,这些都是现代企业级应用开发中不可或缺的部分。让我们逐一深入探讨这些知识点。 1. **C#**:C#是一种面向对象的...

    软件公司常用的面试题

    【.NET面试题详解】 1) 线程与进程的区别 线程和进程是操作系统中并发执行的基本单元。进程是资源分配的最小单位,拥有独立的内存空间,互不干扰;而线程是程序执行的最小单位,共享同一进程内的资源,包括内存和...

    大型公司程序员面试题

    在大型公司的程序员面试中,考察的知识点广泛而深入,涵盖了数据结构、算法、数据库操作、编程语言特性以及软件设计等多个方面。以下是对这些面试题的详细解析: 1. **斐波那契数列**:这是一个典型的递归问题,...

    亮剑.NET深入体验与实战精要2

    此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...

    一份公司的笔试和面试题

    这份公司的笔试和面试题主要涵盖了.NET框架下的C#编程、SQL数据库知识以及软件设计模式等多个IT领域的基础和进阶知识点。下面将详细解读这些题目所涉及的IT知识点: 1. **项目经验和技术栈**:面试时,面试者需要...

    亮剑.NET深入体验与实战精要3

    此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...

    JAVA面试题

    ### JAVA面试题与知识点解析 #### 一、面试准备与自我介绍 - **自我介绍**: - **个人信息**:姓名、身份等基础信息。 - **教育背景**:学历、专业等。 - **工作经验**:过去的工作经历、职位及主要职责。 - *...

    微软面试题汇总大全.rar

    这份"微软面试题汇总大全"的压缩包包含了一份名为"微软面试100题系列.pdf"的文档,旨在为准备参加微软面试的求职者提供宝贵的参考资料。下面,我们将深入探讨其中可能涵盖的一些关键知识点。 1. **编程基础**:微软...

    华为面试题小结

    面试题中涉及的其他知识点 #### 协议与信息安全 - **网络通信协议**:如TCP/IP协议族,是互联网的基础,涉及到数据在网络中的传输方式和格式。 - **信息安全**:包括数据加密、身份认证、访问控制等方面,确保数据...

    Borland面试题

    根据给定的“Borland面试题”文档的内容,我们可以整理出以下相关的IT知识点: ### 1. Delphi与Borland的关系 - **Borland**是一家知名的软件开发公司,以其开发工具闻名于世。 - **Delphi**是Borland推出的一种...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    2012 Microsoft Intern Hiring Written Test

    【标签】"微软笔试题"提示我们,这个压缩包文件包含的可能是一系列与编程、算法、操作系统、网络、数据结构、软件工程等相关的问题,这些都是微软等大型科技公司在招聘时经常考察的知识点。考生可能需要具备扎实的...

    Myschool(在线考试系统)

    C#是微软公司推出的面向对象的编程语言,广泛应用于Windows平台的软件开发,尤其是.NET框架下的应用程序。C#具有类型安全、垃圾回收、异常处理、面向对象等特性,适合开发大型、复杂的软件系统。 在这个在线考试...

    给C#的一部超经典的笔试题

    作为一门广泛应用于软件开发、游戏制作、Web应用程序等领域的编程语言,C#在众多公司中占据着核心地位。因此,掌握C#的基础知识以及能够解答相关的笔试题目,对于求职者来说至关重要。 【描述】:“c#大部分公司的...

Global site tag (gtag.js) - Google Analytics