假期自测Java面试真题分享,看看你能得多少分?

Posted 江苏万和IT教育

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假期自测Java面试真题分享,看看你能得多少分?相关的知识,希望对你有一定的参考价值。

别放弃治疗,速速点 蓝字关注我们


这是一份Java面试题,来测试一下自己,看你能得多少分吧!

【假期自测】Java面试真题分享,看看你能得多少分?

【假期自测】Java面试真题分享,看看你能得多少分?

【假期自测】Java面试真题分享,看看你能得多少分?

【假期自测】Java面试真题分享,看看你能得多少分?

【假期自测】Java面试真题分享,看看你能得多少分?


参考答案


Java代码:

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.ArrayList;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;


/**

 * Created by ysc on 7/26/16.

 */

public class Interview {

    private static void one(){

        String str1 = "hello";

        String str2 = "he"+new String("llo");

        System.err.println(str1==str2);

        System.out.println("1. false");

    }

    private static void two(){

        int i = Integer.MAX_VALUE;

        System.err.println((i+1)<i);

        System.out.println("2. 存在一个i, 使得(i+1)<i");

    }

    private static void three(){

        System.err.println("gc is not a Java Thread, it is a native thread");

        Thread.getAllStackTraces().keySet().forEach(thread -> System.out.println(thread.getName()+"->"+thread.isDaemon()+" "+thread.getPriority()));

        System.out.println("3. gc线程是daemon线程");

    }

    private static volatile int count = 0;

    private static void four(){

        ExecutorService executorService = Executors.newCachedThreadPool();

        for(int j=0; j<10; j++){

            executorService.submit(()->{

                for(int i=0; i<1000000; i++){

                    count++;

                }

            });

        }

        System.out.println("count should be: "+10000000+", actual be: "+count);

        System.out.println("4. volatile不能保证线程安全");

    }

    private static void five(){

        ArrayList<Integer> list = new ArrayList<>(20);

        list.add(1);

        System.out.println("debug code, not execute grow method");

        System.out.println("5. list grow 0 times");

    }

    private static void six() {

        System.out.println("BufferedReader's constructor only accepts a Reader instance");

        System.out.println("6. new BufferedReader(new FileInputStream(\"a.dat\")); is wrong");

    }

    private static void seven() {

        try{

            if(true){

                throw new IOException();

            }

        }catch (FileNotFoundException e){

            System.out.print("FileNotFoundException!");

        }catch (IOException e){

            System.out.print("IOException!");

        }catch (Exception e){

            System.out.print("Exception!");

        }

        System.out.println("\n7. IOException!");

    }

    private static void eight() {

        System.out.println("String s;System.out.println(s); error: variable s might not have been initialized\nRecompile with -Xlint:unchecked for details.");

        System.out.println("8. 由于String s没有初始化, 代码不能编译通过");

    }

    private static void nine() {

        System.out.println("5"+2);

        System.out.println("9. 52");

    }

    private static void ten() {

        int i = 2;

        int result = 0;

        switch(i){

            case  1:

                result = result + i;

            case  2:

                result = result + i * 2;

            case  3:

                result = result + i * 3;

        }

        System.out.println("result="+result);

        System.out.println("10. 10");

    }

    private static class Null{

        public static void hello(){

            System.out.println("hello");

        }

        public static void main(String[] args) {

            ((Null)null).hello();

            Null _null = (Null)null;

            _null.hello();

        }

    }

    private static class StringExample1{

        String str = new String("good");

        char[] ch = {'a', 'b', 'c'};

        public void change(String str, char[] ch){

            str = "test ok";

            ch[0] = 'g';

        }


        public static void main(String[] args) {

            StringExample1 ex = new StringExample1();

            ex.change(ex.str, ex.ch);

            System.out.print(ex.str+" and ");

            System.out.print(ex.ch);

            System.out.println();

        }

    }

    private static class StringExample2{

        public static void change(String str){

            str = "welcome";

        }


        public static void main(String[] args) {

            String str = "1234";

            change(str);

            System.out.println(str);

        }

    }

    private static class ForLoop{

        static boolean foo(char c){

            System.out.print(c);

            return true;

        }


        public static void main(String[] args) {

            int i=0;

            for(foo('A');foo('B')&&(i<2);foo('C')){

                i++;

                foo('D');

            }

            System.out.println();

        }

    }

    private static class HelloA{

        public HelloA(){

            System.out.println("HelloA");

        }


        { System.out.println("I'm A class"); }


        static {

            System.out.println("static A");

        }

    }

    private static class HelloB extends HelloA{

        public HelloB(){

            System.out.println("HelloB");

        }


        { System.out.println("I'm B class"); }


        static {

            System.out.println("static B");

        }


        public static void main(String[] args) {

            System.out.println("main start");

            new HelloB();

            new HelloB();

            System.out.println("main end");

        }

    }

    public static void main(String[] args) {

        one();

        two();

        three();

        four();

        five();

        six();

        seven();

        eight();

        nine();

        ten();

        Null.main(null);

        StringExample1.main(null);

        StringExample2.main(null);

        ForLoop.main(null);

        HelloB.main(null);

    }

}





点击“阅读原文”

以上是关于假期自测Java面试真题分享,看看你能得多少分?的主要内容,如果未能解决你的问题,请参考以下文章

Java程序员勇面阿里京东等四厂,分享面试必问,你能掌握多少?

程序员高考卷曝光,你能得多少分?

测试面试 | 某互联网大厂测试面试真题,你能回答出多少?

面试是一门功课 这门功课你究竟能得多少分?

程序员高考卷曝光,你能得多少分?

10道棘手的Java面试题,看看你能答对几个?