美图2018秋招Java笔试题

单选题

1、关于垃圾回收算法G1,哪个说法是错误的( B  )。

A.  并行和并发,具有多线程操作能力

B.  不适用堆空间太大的场景

C.  G1停顿时间更加可预测

D.  不会对系统吞吐量产生较大影响

2、以下程序的执行结果是?( D  )

    class Base{
        final public void show() {
        System.out.println("Base::show() called");
        }
    }
    class Derived extends Base{
         public void show(){
          System.out.println("Derived::show()called");
          }
    }
    class Main{
         public static void main(String[] args) {
          Base b = new Derived();
            b.show();
          }
    }

A.  Derived::show()被调用

B.  Base::show()被调用

C.  Runtime Error

D.  Compiler Error

3、多线程中栈与堆是公有的还是私有的(D)

A.  栈私有,堆私有

B.  栈公有,堆私有

C.  栈公有,堆私有

D.  栈私有,堆公有

4、在SQL数据库一个班级表里只记录了100位同学的情况,那么对该表建立索引文件的描述正确的是(D)

A.  一定要,因为索引对于任何数据库表都是必要的

B.  没有必要,因为建立索引对任何数据库的性能都没有影响

C.  一定要,因为索引有助于加快搜索记录的进程

D.  不适宜,因为对少量记录的表进行索引实际上会产生不利的影响

5、Java垃圾回收算法CMS执行的顺序是( A  )

A.  初始标记->并发标记->并发预清理->重新标记->并发清理->并发重置

B.  初始标记->并发标记->重新标记->并发预清理->并发清理->并发重置

C.  初始标记->并发预清理->并发标记->重新标记->并发清理->并发重置

D.  初始标记->并发标记->重新标记->并发预清理->并发重置->并发清理

6、下列哪种情况会导致持久区jvm堆内存溢出(D) 

A.  循环上万次的字符串处理

B.  在一段代码申请上百M甚至上G的内存

C.  不断创建对象

D.  使用CGLIB技术直接操作字节码运行,生成大量的动态类

7、java.util.Comparator体现的设计模式是( B )

A.  Decorator

B.  Strategy

C.  Interpreter

D.  Command

8、什么样的数据结构被使用在功能redo-undo上?( D ) 

A.  queue

B.  Tree

C.  Graph

D.  stack

9、以下程序的输出是?( A  )

public class leftshift_operator {
      public static void main(String args[]){        
          byte x = 64;
          int i;
          byte y;
          i = x<<2;
          y = (byte)(x<<2);
          System.out.print(i+ " " +y);
      }
}

A.  256  0

B.  0  256

C.  64  0

D.  0  64

10、以下程序的运行结果是( D )

public static void main(String args[]){
        Thread t = new Thread(){
        public void run(){
          pong();
          }
        };
        t.run();
        System.out.print("ping");
    }
    static void pong(){
      System.out.print("pong");
    }

A.  pingpong

B.  都不输出

C.  pingpong和pongping都有可能

D.  Pongping

11、以下哪个协议将数据包拆分并发送到网络中的指定地址的?( D  )

A.  Proxy  Server

B.  DNS

C.  Socket

D.  TCIP/IP

12、以下说法正确的是( C  )

    class Base extends Exception{}
    class Derived extends Base{}
    public class Main {
    public static void main(String args[]){
    //some other stuff
    try {
    //some monitored code
       throw new Derived();
    } catch(Base b)  {
      System.out.println("Caught base class exception");
    } catch(Derived d){
      System.out.println("Caught derived class exception");
    }
    }
}
A.  捕获base class exception
B.  Compiler Error因为derived不是异常类
C.  Compiler Error因为base class exception在derived class之前被捕捉
D.  捕捉derived class exception
13、下列程序的返回值是,其中arr[] = {9,12,2,11,2,2,10,9,12,10,9,11,2}且n为arr的大小?( B )
int fun(int arr[],int n){
        int x = arr[0];
        for(int i=1;i<n;i++)
            x = x^arr[i];
        return x;
    }

A.  12

B.  9

C.  0

D.  2

14、哪一个关键字keywords必须用在处理异常当中?( D )

A.  finally

B.  throw

C.  catch

D.  try

15、java中String是线程安全的吗?( B )

A.  不是

B.  是

16、有如下程序:

  String  s1 = new String(“abc”);

  String  s2 = “abc”;

  String  s3 = “a” + “bc”;

下列哪项执行结果为false( C )

A.  S2 = S3

B.  S1.equals(s2)

C.  S1 = S2

D.  S1.compareTo(s3) ==0

17、下列程序完成什么功能?( A )

int fun(int x, int y){
       if(y == 0)
    return 0;
    }

A.  x*y

B.  x+y

C.  x^y

D.  x+x*y

18、新建一个流对象,下面哪个选项的代码是错误的?( C)

A.  new BufferedWrite(new FileWriter(“a.txt”));

B.  new ObjectlnputStream(new FilelnputStream(“a.dat”));

C.  new BufferedReader(new FilelnputStream(“a.dat”));

D.  new GZIPOutputStream(new FileOutputStream(“a.zip”));

19、JDK新生代垃圾回收机制默认采用的是复制算法,影响该算法最关键的因素是( A  )

A.  对象存活率

B.  创建新对象的频率

C.  SurvivorRatio参数

D.  对象的大小

20、java.util.HashMap处理hash碰撞的方法是( A )

A.  拉链法

B.  线性探查法

C.  随机探测

D.  线性补偿探测法

多选题

1、以下哪些是运行时异常( ABCD )  

A.  java.lang.lndexOutOfBoundsException

B.  java.lang.NullPointerException

C.  java.util.ConcurrentModificationException

D.  java.time.format.DataTimeParseException

2、以下哪些能够保证线程安全( BC  )

A.  单例模式

B.  java.util.Hashtable

C.  synchronized

D.  volatile

3、垃圾回收算法CMS的缺点有哪些( ABC )

A.  需要更大的堆空间

B.  需要更多的CPU空间

C.  不会整理、压缩堆空间

D.  增加了回收的停顿时间

4、以下哪些属于工厂模式( ABC  )

A.  工厂方法模式

B.  简单工厂模式

C.  抽象工厂模式

D.  组合工厂模式

5、以下哪些语句可以正常创建Lock对象?( ABD )

A.  Lock lock = new ReentrantLock(true);

B.  Lock lock = new ReentrantLock();

C.  Lock lock = new Lock();

D.  Lock lock = new ReentrantLock(false);

6、以下程序的输出是( AC  )垃圾回收

public class Test {
    public static void main(String args[]) throws InterruptedException{
        Test t = new Test();
        //making t eligible for garbage collection
       t = null;
        //calling garbage collector
        System.gc();
        //waiting for gc to complete
        Thread.sleep(1000);
        System.out.println("end main");
        }
        @Override
        protected void finalize()
        {
        System.out.println("finalize method called");
        System.out.println(10/0);
        }
}

A.  end main

B.  其他所有

C.  finalize method called

D.  Throw java.lang.ArithmeticException:/by zero

7、哪些情况会触发FULL GC( ABCD )

A.  老年代空间不足

B.  统计得到的Minor GC晋升到旧生代的平均大小大于旧生代的剩余空间

C.  堆中分配很大的对象

D.  CMS GC时出现promotion failed和concurrent mode failure

8、以下哪些是spring的事物隔离级别:( ACD )

A.  PROPAGTION_SUPPORTS

B.  PROPAGATION_NESTED

C.  PROPAGATION_MANDATORY

D.  PROPAGATION_NEVER

9、下列关于java数组论述,正确的是:( ABCD )

A.  int[] x = {0};与int[] x = new int[1];的结果是完全等价的。

B.  String[] x = {“o” ,”k” ,”ok”);所创建的数组对象含有3个串对象。

C.  Int [] [] x = {{1},{1,2},{1,2,3},new int[1]};是正确语句。

D.  定义一个Java的多维数组变量,实际上是定义了将会指向数组对象的引用,该数组对象所包含的元素又将是另一个数组对象的引用。

10、以下哪些数据隔离级别会产生幻读( ABD )

A.  Read Uncommitted

B.  repeatable read

C.  Serializable

D.  read committed

编程题:

最长公共子串

时间限制:C/C++语言 1000MS;其他语言 3000MS

内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

有两个字符串(可能包含空格),请找出其中最长的公共连续子串, 输出其长度。

输入

给定两行字符串

输出

输出这两个字符串的最长公共连续子串的长度

样例输入

abcde

bcd

样例输出

3

bit位数计算

时间限制:C/C++语言 1000MS;其他语言 3000MS

内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

两个int32整数m和n的二进制表达,计算有多少个位(bit)不同?

输入

一行中给定两个数字

输出

输出这两个数字中bit不同的个数

样例输入

15 8

样例输出

3

个人资料
crazybean
等级:8
文章:61篇
访问:15.7w
排名: 5
上一篇: 今日头条2018校招Android方向(第三批)
下一篇:美图2018秋招前端试题
猜你感兴趣的圈子:
美图笔试面试圈
标签: derived、lock、标记、并发、清理、面试题
隐藏