宝兰德大数据面试题

宝兰德

宝兰德大数据面试题_第1张图片

 

答题须知:

1、笔试时间为30分钟;

2、请保持试题整洁,将答案写到答题纸上;

3、笔试题目请独立完成,不要使用任何参考书,不要请其他人协助完成;

4、答题完成后,请将答题纸和试卷本身均交给工作人员。

一 单选题(每题3分)

1、下面代码的运行结果是()

public class Test{ 
List a = null;
test(a);System.out.println(a.size());
} 
public static void test(List a){
a = new ArrayList();
a.add("abc");
}

A 0

B 1

C NullPointerException

D 以上都不是

 

1. 下面代码的运行结果是()

public class Test{
public static void main (String [] args){
int x = 2;
int y = 3;
System. out. print(xly);
System. out. print(",");
System. out. print(x&y);
System. out. print(",");
System. out. print(x^ y);
System. out. print(",");
System. out. print(ly<

A 3,2, 1, 12,-3

B 1,1,,12,1,4

C 3,2,0,12,-5

D 2,2,1,8,-3

 

2. 下面代码的运行结果是()

public class Test {
public static void main (String [] args){
Test t = new Test();
System.out.println(t.value);
}}
public String value{
int a = 5;
try{
throw new Exception();
}catch{
return “a=” + a;
}finally{
a = 7;
System.out.println(“a=” + a);
}}

A a=5 b=7

B a=7 b=5

C a=5 b=5

D a=7 b=7

3. 如下代码实现存在何种缺陷()

try{
FilelnputStream fis  = new FilelnputStream(new File("in.dat");                FileOutputStream fos  =  new FileOutputStream(new File("out,dat");
byte[]  buffer  = new  byte[1024];
int offset = 0;  remain=0;
int ret=0;
wlile((ret =fis.read(buffer))!=0){
fos.write(buffer,0,ret);
}fis.close();fos.close();}catch(Exception e){
e.printStackTrace();}

A 不存在任何缺陷

B 出现文件句柄泄露

C 死循环

D 出现文件句柄泄露并且抛出异常

5.如果我们指定了throw object:但该object不是Throwable 对象,下面说法正确的是()

A.throw 将是有效的

B.该参数将转换为Throwable对象,然后执行该语句

C.编译器将指出一个错误

D.它将引发一个异

6.下面代码执行的输出结果是()

public class Parent {
       static int a= 1;
       static
       {              a = 10;
              System.out.print("1");
       }       public Parent() {
              System.out.print("2");
       }       public static void main(String[]args)
       {              System.out.print("3");
              Parent c = new Child();
       }}public class Child extends Parent {
       static int a=2;
       static{
              a=20;
              System.out.print("4");
       }       public Child(){
       }}

A . 1324

B. 1342

C. 3124

D. 3142

7.下面关手锁的描过错误的是()

A.synchronized 可以给对象加锁

B.带有同步代码的程序发生异常,会释放锁

C.sleep()方法会释放锁

D.wait()方法会释放锁

8.已知一个多线程为myThread,除run方法外还包含一个方法void disp()。以下说法正确的是()

A. myThread mt = new myThread();mt.start();mt.disp();运行完线程体 run方法后再运行disp()方法

B. myThread mt = new my Thread();mt.disp();mt.start();运行完disp()后才能启动线程体run

C. myThread mt = new myThread();mt.start();mt.disp();线程体run一定会在disp结束前结束

D. myThread mt = new myThread();mt.start();mt.disp();mt.start()和mt.disp()两条命令,哪条放在前面哪条放在后面运行结果一样。

9. 哪种引用类型适用于缓存机制()

A.强引用

B.软引用

C.弱引用

D.幽灵引用

10. 关于内部类,说法错误的是()

A.匿名内部类可以继承其它类

B匿名内部类不能有构造函数

C.内部类中不允许定义静态变量

D.内部类有一个指向其外部类对象的引用

11. Class的常量池放在哪个JVM内存区域()

A.新生代

B.虚拟机栈

C.本地方法栈

D.方法区

12. 关于HotSpot垃圾回收器,下述说法错误的是()

A.堆分为新生代和老年代

B.新生代分为Eden和Survivor区

C.采用引用计数算法

D.采用分代回收算法

13.Java序列化,下述说法错误的是()

A. 静态变量序列化时不保存

B. Transient修饰的字段序列化时不保存

C. 其类方法的Signature改变后,子类的序列化ID发生变化

D. 反序列化后,对象的构造函数不被调用

14. Linux下查看进程占用的CPU的百分比,使用工具()

A. ps

B. cat

C. more

D. top

15.下面程序的运行结果()

public static void main(String[] args) {
              int num1 =0;
              int num2 =0;
              int num3 =0;
              int num4 =0;
              int num5 =0;
                           for (int i = 0; i < 5; i++) {
                     switch(i){
                     case 1:num1++;
                     case 2:num2++;
                     case 3:num3++;
                     case 4:num4++;
                     case 5:num5++;
                                         }              }              System.out.println(num1);
              System.out.println(num2);
              System.out.println(num3);
              System.out.println(num4);
              System.out.println(num5);
       } 

A. 4 4 4 4 4

B. 1 2 3 4 4

C. 1 1 1 1 0

D. 1 2 3 4 5

18. JVM内存里的哪个区域不可能发生OutOfMemaryError?()

A 程序计数器

B 堆

C方法区

D本地方法栈

19. 下面关于阻塞队列(java.util.concurrent.BlockingQueue)的说法不正确的是()

A 阻塞队列是线程安全的

B 阻塞队列的主要应用场景是“生产者-消费者”模型

C 阻塞队利里的元素不能为null

D阻塞队列的实现必须显式地设置容量

20.如果现在需要创建一组任务,它们并行地执行工作,然后在进行下一个步骤之前等待,直至所有任务都完成;而且这种控制可以重用多次。这种情形使用java.util.concurrent包引入的哪种同步工具最合适?()

A CountDownLatch

B CyclicBarrier

C Semaphore

D FutureTask

二、问答题

1. 在JAVA中,为什么其类型不能作为HashMap的键值,而只能是引用类型,把引用类型作为HashMap的键值,应该注意哪些地方?(7分)

2.编写一个工具类StringUtil,提供方法int compare(char[] v1, char[] v2) 方法,比如字符串v1,v2,如果按照字符顺序v1>v2则return1,v1=v2则return 0,v1

3.在多线程编程里,wat方法的通用调用方式是怎样的?(8分)

4.Java出现OutOfMemoryError(OOM错误)的原因有哪些?出现OOM错误后,怎么解决?(16分)

大数据培训

你可能感兴趣的:(大数据,面试)