美图2018秋招Java笔试题

美图2018秋招Java笔试题1单选题1、关于垃圾回收算法G1,哪个说法是错误的( B )。

  A.并行和并发,具有多线程操作能力 B.不适用堆空间太大的场景 C.G1停顿时间更加可预测 D.不会对系统吞吐量产生较大影响2、以下程序的执行结果是( D )class Base final public void show System.out.printlnBaseshow called; class Derived extends Base public void show System.out.printlnDerivedshowcalled; class Main public static void mainString args Base b new Derived; b.show; A.Derivedshow被调用 B.Baseshow被调用 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 mainString args byte x 64; int i; byte y; i x2; y bytex2; System.out.printi y; A.256 0 B.0 256 C.64 0 D.0 64 10、以下程序的运行结果是( D )public static void mainString args Thread t new Thread public void run pong; ; t.run; System.out.printping; static void pong System.out.printpong; 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 mainString args //some other stuff try //some monitored code throw new Derived; catchBase b System.out.printlnCaught base class exception; catchDerived d System.out.printlnCaught 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 funint arr,int n int x arr0; forint i1;in;i x xarri; 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.equalss2 C.S1 S2 D.SpareTos3 0 17、下列程序完成什么功能( A )int funint x,int y ify 0 return 0; A.x*y B.xy C.xy D.xx*y 18、新建一个流对象,下面哪个选项的代码是错误的( C 19、)A.new BufferedWritenew FileWriter“a.txt”; B.new ObjectlnputStreamnew FilelnputStream“a.dat”; C.new BufferedReadernew FilelnputStream“a.dat”; D.new GZIPOutputStreamnew 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.at.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 ReentrantLocktrue; B.Lock lock new ReentrantLock; C.Lock lock new Lock; D.Lock lock new ReentrantLockfalse; 6、以下程序的输出是( AC )垃圾回收 public class Test public static void mainString 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.sleep1000; System.out.printlnend main; Override protected void finalize System.out.printlnfinalize called; System.out.println10/0; A.end main B.其他所有 C.finalize 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 int1;的结果是完全等价的。

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

  C.Int x 1,1,2,1,2,3,new int1;是正确语句。

  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