招商基金笔试

1.下面主程序中,实参a与形参x以引用调用(call by reference)的方式传递信息,实参   b与形参y以值调用(call by value)的方式传递信息,那么,从过程”compute”返回主程序后a和b的值分别为(A)                         

Main program

procedure compute(x,y)

a:=1;

x:=x+2*y

B:=2

y:=2*x+y

Compute(a,b)

Return;

 

A.5和 2

B.5和12

C.1和2

D.1和12

 

【解析】实际上,引用调用时,实参向形参传递的参数的地址,因此在子程序可以修改实参变量的值。相反,值调用时,子程序将不修改实参变量的值。子程序compute()的执行语句对x的修改结果就是a的值,即x=1+2*2=5y值的修改不影响b的值,因此b=2

 

2.Java语言具有许多优点和特点,下列选项中( )反映了Java程序并行机制的特点。(B)
 

A.安全性
B.多线程
C.跨平台
D.可移值

 

3.下列关于数据库系统基于日志的恢复的叙述中,( B)是正确的。
 

A.利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改前值可以进行REDO
B.利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改后值可以进行REDO
C.利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改前值可以进行REDO
D.利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改后值可以进行REDO

 

4.在视图上不能完成的操作是 (D)

 

A.更新视图数据

B.查询

C.在视图上定义新视图

D. 在视图上定义新的基本表

 

5.抽象类A及类B的定义如下: ()

Abstract class A

{Abstract int getinfo(){ }

}public  class B  extendsA

{private  int a=0 ;

public  int   getinfo()

{

           returna;

}

public static void main(Stringargs [ ])

{

B b=new B()

System out printIn(b.getinfo() );

}

{

关于上述程序代码描述的说明正确的是 ()

 

A.   第1行不能通过编译

B.   第3行不能通过编译

C.   程序通过编译,输出结果为: 0

D.   程序通过编译,但没有输出任何结果

 

6 、正则表达式([0-9]{3})-([a-z]{3})-([a-z]*?ab)与下列哪个字符串相匹配(D)

 

A、123-abc{3}-cab

B、123{3}-abc-cab

C、123-abc-cb

D、123-abc-ccab

 

7.以下语句输出的结果是:

Stringstr="1234";

intx=4,y=5;

str=str+(x+y);

System.out.println(str);

 

A.12349

B.123445

C.会产生编译错误

D.123+4+5

 

8.在Java中,关于final关键字的说法,正确的有(AC)。 
 

A)如果修饰变量,则一旦赋了值,就等同一个常量
B)如果修饰类,则该类只能被一个子类继承
C)如果修饰方法,则该方法不能在子类中被覆盖
D)如果修饰方法,则该方法所在的类不能被继承

 

9. 下列创建了几个对象(A) 

StringA,B,C

A='a';

B='b';

A=A+B;

StringBufferD=new StringBuffer(“abc”);

D=D.append(“567”);

 

A.4

B.6

C.5

D.3

 

10.定义字符串:String str=”abcdefg”;则str.substring(2,5).indexOf(‘d’)的结果是(A)

 

A.1

B.3

C.4

D.2

 

11.以下哪一行代码会进行垃圾回收(D)

1.public class MyClass{

2.public StringBuffer aMethod(){

3.StringBuffer sf = new 4.StringBuffer("Hello");

5.StringBuffer[] sf_arr = new StringBuffer[1];

6.sf_arr[0] = sf;

7.sf = null;

8.sf_arr[0] = null;

9.return sf;

} }

 

A.第3行

B.第8行

C.第5行

D.第7行

12.类Teacher和Student是类Person的子类最后一句语句的结果是(C)
Person p; 
Teacher t; 
Student s; 
//p, t and s are all non-null. 
if(t instanceof Person) { s = (Student)t;} 


A、将构造一个Student对象; 
B、表达式是合法的; 
C、表达式是错误的; 
D、编译时正确,但运行时错误。

 

13.在数据库设计中,符E-R图转换成关系数据模型的过程属于(C)

 

A.需求分析阶段

B.概念设计阶段

C.逻辑设计阶段

D.物理设计阶段

 

14.采用面向对象技术开发的应用系统的特点是(A)

 

A.重用性更强
B.运行速度更快
C.占用存储量小
D.维护更复杂

 

15.下面是关于子类调用父类构造函数的描述正确的是(B)

 

A.子类定义了自己的构造函数,就不会调用父类的构造函数.

B.子类必须通过super关键字调用父类没有参数的构造函数.

C.如果子类的构造函数没有通过super调用父类构造函数,那么子类会先调用父类不含参数的构造函数,再调用子类自己的构造函数.

D.创建子类对象时,先调用子类自己的构造函数,然后电泳父类的构造函数

 

16.评估下面的一组SQL语句,关于该组语句的哪个描述是正确的(A)

CREATETABLE dept

(    deptno      NUMBER(2),

      dname VARCHAR2(14),

      1oc      VARCNAR2(13)

);

ROLLBACK;

DESCRIBEDEPT

 

A.DESCRIBE DEPT语句将显示DEPT表的结构描述内容

B. ROLLBACK语句将释放DEPT占用的存储空间

C. DESCRIBE DEPT语句将只有在ROLLBACK之前引入一个COMMIT语句时,才会显示DEPT表的结构描述内容

D. DESCRIBE DEPT语句将返回一个错误ORA-04043: object DEPT does not exist.

 

17.关于线程的哪些叙述是对的(B)

A.一旦一个线程被创建,它就立即开始运行.

B.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行

C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面

D.一个线程可能因为不同的原因停止(cease)并进入就绪状态

 

18.设i,j为类X中定义的int型变量名,下列X类的构造方法中不正确的是(A)

 

A.void X(intk){i=k;}
B.X(int k){i+k;}
C.X(int m,int n){i=m;j=n}
D.X( ){i=0;j=0;}

 

19.下列方法定义中,正确的是(D)

 

A.int x(inta,b){return (a-b);}

B.doublex(int a,int b) {int w; w=a-b;}

C.doublex(a,b) {return b;}

D.int x(int a, int b) {return a-b;}

 

20.下面的语句的作用是(D)

Vector My Vector =new Vector(100,50);

A. 创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。
B. 创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。
C. 创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。
D. 创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增。

 

二,多选题;请将正确选项填在写在答题纸上.

1.   下关于主键和唯一索引的却别有哪些是正确的(BD)

A.  主键顺序为数据的物理顺序

B.  主键不能空,唯一索引可以为空

C.  主键:默认将是聚簇索引唯一索引: 默认将是非聚簇索引

D.  主键每个表只能有一个,唯一索引可以多个

 

2.   执行下列代码后,哪个结论是正确的(CD)

String[] s =new String[10];

A.  s[10]为””

B. s[9] 为0

C. s.length 为10

D. s[9] 为 null;

 

3.   多线程技术具有哪些优越性(ABC)

A.  创建速度快、系统开销小

B.  并行性高

C.  通信简洁、信息传送速度快

D.  安全性高

 

4.   List接口有哪些实现类(ABC)

A.  LinkedList

B.  ArrayList

C.  Vector

D.  HashMap

 

5.   下面那条语句编译不会出现错误(ABCD)

A.  Boolean b = new Boolean(“abcd”);

B.  int x = (int)(1.23);

C.  byt b = 127;

D.  float f = 123;

 

三、填空题

1、请输出E类中[代码1]~[代码2]的输出结果: (98.0 ~12)

classA{

double f(double x,double y){

    return x+y;

}

    staticint g(int n){

        return n*n;

    }

}

classBextendsA{

    double f(double x,double y){

        double m = super.f(x,y);

        return m+x*y;

    }

    staticint g(int n ){

        int m = A.g(n);

        return m+n;

    }

}

publicclassE{

    publicstaticvoid main(String args[]){

        B b = new B();

        System.out.println(b.f(10.0,8.0));    //【代码1

        System.out.println(b.g(3));    //【代码2

        A a = new B();

       System.out.println(a.f(10.0,8.0));    //【代码3

       System.out.println(a.g(3));    //【代码4

    }

}

 

【代码1】:98.0 【代码2】:12 。【代码3】:98.0 【代码4】:
代码1调用b对象的f方法,b对象是B类实例化的,调用的是B类自己的f方法,传入10.08.0后,用super关键字调用了父类的f方法,得到18.0赋值给m,最后返回18.0+10.0*8.0也就是98.0 
【代码2】调用B类中的静态方法g传入3,方法内又去调用父类中的g方法传入3,得到9赋值给m后,输出9+3也就是12 
【代码3a对象是上转型对象,上转型对象可以调用重写父类的方法以及父类派生的方法,所以a调用的f方法是它重写的方法,那么具体过程就跟【代码1】相同,答案为98.0 
【代码4】在于g方法是静态方法,静态方法是不允许被重写的,所以B类中的g方法相当于该类特有的方法,那么a调用的g方法实际上是父类的,输出结果为9

 

2.有一表EMPLOYEE_DEPARTMENT和他的样例数据如下

EMPNO   FIRSTNAME  LASTNAME   WORKDEPT   DEPTNAME

=========================================

000290   John         Parker        E11         Operations

000320   Ramlal      Mehta         E21         SoftwareSupport

000310   Maude       Setright        E11         Operations

其中:EMPNO为主关键字,表示雇员号,FIRSTNAME为雇员名,LAST为雇员性,WORKDEPT为雇员所在部门号,DEPTNAME为雇员所在部门名称。该表是否符合第三范式的要求?如果你认为不符合,请按本题中描述表和样例数据的格式给

出你认为符合第三范式的设计

 

第三范式:若每个非键列都独立于其他非键列,且只依赖于键,则表使用的是第三范式.

以下的示例中第一个表包含了EMPNO列和WORKDEPT,假定添加了DEPTNAME.这个新列依赖于WORKDEPT,但主键是EMPNO.该表违反了第三范式

EMPNO(PK)   FIRSTNAME  LASTNAME   WORKDEPT   DEPTNAME

000290       John          Parker       E11           InstallationMgmt

000320       Ramlal        Mehta       E21           SoftwareSupport

000310       Maude        Setright      E11           Operations

更改雇员JohnParkeDEPTNAME不会更改该部门的其他雇员的部门名称,注意,改后部门E11中有两个不同的部门名称

下面的表被定义为规范化的结果

EMPLOYEE

EMPNO(PK)   FIRSTNAME  LASTNAME   WORKDEPT

000290       John          Parker         E11

000320       Ramlal        Mehta         E21

000310       Maude        Setright        E11

DEPARTMENT

DEPTNO(PK)     DEPTNAME

E11             Operations

E21             Software Support

 

3.编程实现如下场景:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数  程序分析:利用循环,使用Map储存数据.

例如输入V&Viewvell001 vellBibi;

输出如下:

英文字母:17

空格:2

数字:3

其他字符:2

 

你可能感兴趣的:(java)