30 Java Coding Questions to Assess Programming Skills

It’s not often that a Java developer gets through a programming interview without being evaluated for his coding skills. Many IT companies have the Java coding skill test hosted within their local intranet. And some still ask the candidates to prove their coding ability via an offline skill assessment method. Hence, a programmer should prepare himself for such faceoffs and keep looking for challenging Java coding questions.

The objective of such a coding skill assessment test is not to measure your knowledge of language syntax or the no. of functions you remember. But it’s for analyzing the programming logic you’ll apply and the design approach you choose. That’s why most of the time you’ll be given small coding snippets to brainstorm and figuring out the correct output. There are chances that you get a code with errors. And the interviewer would expect you to be smart enough to judge the coding error.

Wait for a while. If you are assuming that the interviewer will ignore the language semantics and other high-level characteristics, then it’s not going to happen. These are core concepts which even you require while writing and optimizing the code. For example, in Java, Serialization is an important subject to understand. A Java developer should know how to serialize or deserialize a class. And he should be wise enough to decide where to apply serialization.

Some more concepts that one should be comfortable with are Strings, Collection framework, and Multithreading in Java. You will need all of them in your arsenal if wish to be a real Java programmer. Also, believe that whatever knowledge we learn today becomes the bridge for getting on to the next level of technologies like J2EE, Maven, and Spring MVC.

Coming back to the topic of the day, the Thirty Java Coding Questions Challenge that we’ve prepared after doing a lot of filtering. All these questions would make you practice your Java skills and test your understanding of programming concepts and logical skills.

30 Java Coding Questions to Assess Programming Skills.

Question-1. Which of the following would the below Java coding snippet return as its output?

class Super {
    public int index = 1;
}

class App extends Super {

    public App(int index) {
        index = index;
    }

    public static void main(String args[]) {
        App myApp = new App(10);
        System.out.println(myApp.index);
    }
}

A. 0
B. 10
C. 1
D. Compile time error

Check correct option.
Answer. C

Question-2. Which of the following combinations would the below Java coding snippet print?

class TestApp {
    protected int x, y;
}

class Main {
    public static void main(String args[]) {
        TestApp app = new TestApp();
        System.out.println(app.x + " " + app.y);
    }
}

A. 0 1
B. 1 0
C. 0 0
D. null null

Check correct option.
Answer. C

Question-3. What would be the outcome of following Java coding snippet?

class TestApp {
    public static void main(String[] args) {
        for (int index = 0; 1; index++) {
            System.out.println("Welcome");
            break;
        }
    }
}

A. Welcome
B. Welcome Welcome
C. Type mismatch error
D. Run infinite-times

Check correct option.
Answer. C

Question-4. What would the below Java coding snippet print?

class TestApp {
    public static void main(String[] args) {
        for (int index = 0; true; index++) {
            System.out.println("Welcome");
            break;
        }
    }
}

A. Welcome
B. None
C. Type mismatch error
D. Run infinite times

Check correct option.
Answer. A

Question-5. Which of the following values would the below Java coding snippet print in results?

class TestApp {
    int i[] = { 0 };

    public static void main(String args[]) {
        int i[] = { 1 };
        alter(i);
        System.out.println(i[0]);
    }

    public static void alter(int i[]) {
        int j[] = { 2 };
        i = j;
    }
}

A. 0
B. 1
C. 2
D. Compilation error

Check correct option.
Answer. B

Question-6. Which of the following is the result of the following Java code?

class TestApp {

    String args[] = { "1", "2" };

    public static void main(String args[]) {
        if (args.length > 0)
            System.out.println(args.length);
    }
}

A. The program compiles but prints nothing.
B. The program fails to compile.
C. The program compiles and prints 2.
D. The program compiles and prints 0.

Check correct option.
Answer. A

Question-7. What is the result of the following Java coding snippet?

class TestApp {

    public static void main() {
        int odd = 1;
        if (odd) {
            System.out.println("odd");
        } else {
            System.out.println("even");
        }
    }
}

A. odd
B. even
C. Run-time exception
D. Type mismatch error

Check correct option.
Answer. D Note- Type mismatch: cannot convert from int to boolean.

Question-8. What would the following function yield when called?

public void test(boolean a, boolean b) {
    if (a) {
        System.out.println("A");
    } else if (a && b) {
        System.out.println("A && B");
    } else {
        if (!b) {
            System.out.println("!B");
        } else {
            System.out.println("None");
        }
    }
}

A. If a and b both are true, then the output is “A && B”.
B. If a is true and b is false, then the output is “!B”.
C. If a is false and b is true, then the output is “None”.
D. If a and b both are false, then the output is “None”.

Check correct option.
Answer. C

Question-9. What would the following Java coding snippet return as its output?

class TestApp {

    public static void main(String[] args) {
        class Tutorial {
            public String name;

            public Tutorial(String tutorial) {
                name = tutorial;
            }
        }

        Object obj = new Tutorial("Java Quiz");
        Tutorial tutorial = (Tutorial) obj;
        System.out.println(tutorial.name);
    }
}

A. An exception occurs while instantiating Tutorial class.
B. It’ll print “Java Quiz”.
C. The program will print null.
D. Compilation error at line number 13.

Check correct option.
Answer. B

Question-10. What does the following Java coding snippet print?

import java.io.CharArrayReader;
import java.io.IOException;

class TestApp {

    public static void main(String[] args) {
        String obj = "abcdef";
        int length = obj.length();
        char c[] = new char[length];
        obj.getChars(0, length, c, 0);
        CharArrayReader io_1 = new CharArrayReader(c);
        CharArrayReader io_2 = new CharArrayReader(c, 0, 3);
        int i;
        try {
            while ((i = io_1.read()) != -1) {
                System.out.print((char) i);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

A. abc
B. abcd
C. abcde
D. abcdef

Check correct option.
Answer. D

Question-11. What will be the output of following Java coding snippet?

import java.io.CharArrayReader;
import java.io.IOException;

class TestApp {

    public static void main(String[] args) {
        String obj = "abcdef";
        int length = obj.length();
        char c[] = new char[length];
        obj.getChars(0, length, c, 0);
        CharArrayReader io_1 = new CharArrayReader(c);
        CharArrayReader io_2 = new CharArrayReader(c, 0, 3);
        int i;
        try {
            while ((i = io_2.read()) != -1) {
                System.out.print((char) i);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

A. abc
B. abcd
C. abcde
D. abcdef

Check correct option.
Answer. A

Question-12. What would the following Java coding snippet return?

import java.io.CharArrayReader;
import java.io.IOException;

class TestApp {

    public static void main(String[] args) {
        String obj = "abcdef";
        int length = obj.length();
        char c[] = new char[length];
        obj.getChars(0, length, c, 0);
        CharArrayReader io_1 = new CharArrayReader(c);
        CharArrayReader io_2 = new CharArrayReader(c, 1, 4);
        int i, j;
        try {
            while ((i = io_1.read()) == (j = io_2.read())) {
                System.out.print((char) i);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

A. abc
B. abcd
C. abcde
D. abcdef
E. Nothing would get printed.

Check correct option.
Answer. E Note- Nothing would get printed. The CharArrayReader object contains string, whereas the object contains string. Since none of the char in the arrays matches, so the control would come out of the loop without printing anything.

Question-13. What is the outcome of the below Java code?

class TestApp {

    public static void main(String args[]) {
        System.out.println(test());
    }

    static float test() {
        static float x = 0.0;
        return ++x;
    }
}

A. 0.0
B. 1
C. 1.0
D. Compile time error

Check correct option.
Answer. D Note- The program would result in a compile error. Unlike C++, Java doesn’t support static variables declared as local. Though, a class can have static members to compute the number of function calls or other purposes.

Question-14. What does the following Java coding snippet yield?

class TestApp {

    static int index = 0;

    public static void main(String args[]) {
        System.out.println(test());
    }

    int test() {
        int index = 1;
        return index;
    }
}

A. 0
B. 1
C. Run-time error at line number 6
D. Compile time error

Check correct option.
Answer. D Note- In Java, non-static methods aren’t allowed to get called from a static method. If we turn test() to static, then the program will compile without any compiler error.

Question-15. Which of the following is the result of the below Java coding snippet?

class TestApp {

    public static void main(String args[]) {
        int bits;

        bits = -3 >> 1;
        bits = bits >>> 2;
        bits = bits << 1;
        System.out.println(bits);
    }
}

A. 1
B. 7
C. -2147483646
D. 2147483646

Check correct option.
Answer. D

Question-16. Which of the following is a result of the Java code given below?

class TestApp {

    public static void main(String args[]) {
        int index = 0;
        boolean flag = true;
        boolean reg1 = false, reg2;
        reg2 = (flag | ((index++) == 0));
        reg2 = (reg1 | ((index += 2) > 0));

        System.out.println(index);
    }
}

A. 0
B. 1
C. 2
D. 3

Check correct option.
Answer. D

Question-17. What would the following Java coding snippet display on execution?

Command-line: java TestApp 1 2 3 4 5

class TestApp {

    public static void main(String[] args) {

        System.out.println(args[1] + args[2] + args[3]);
    }
}

A. 1 2 3
B. 123
C. 234
D. Compilation Error

Check correct option.
Answer. C

Question-18. What would the below Java coding snippet print if input given is ?

Command-line: java TestApp abcqfghqbcd

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class TestApp {

    public static void main(String args[]) throws IOException {
        char bit;
        BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));
        do {
            bit = (char) obj.read();
            System.out.print(bit);
        } while (bit != 'q');
    }
}

A. abcqfgh
B. abc
C. abcq
D. abcqfghq

Check correct option.
Answer. C

Question-19. What would the following Java coding snippet yield on execution?

import java.io.File;

class TestApp {

    public static void main(String args[]) {
        File sys = new File("/java/system");
        System.out.print(sys.canWrite());
        System.out.print(" " + sys.canRead());
    }
}

A. true false
B. false true
C. true true
D. false false

Check correct option.
Answer. D

Question-20. What does the following Java coding snippet print as its output?

class Cluster {
}

class Node1 extends Cluster {
}

class Node2 extends Cluster {
}

public class TestApp {
    public static void main(String[] args) {
        Cluster tree = new Node1();
        if (tree instanceof Node1)
            System.out.println("Node1");
        else if (tree instanceof Cluster)
            System.out.println("Cluster");
        else if (tree instanceof Node2)
            System.out.println("Node2");
        else
            System.out.println("Unexpected");
    }
}

A. Cluster
B. Node1
C. Node2
D. Unexpected

Check correct option.
Answer. B

Question-21. Which of the following is the result of the below program?

public class SimpleTest {
    public static void stringReplace(String str) {
        str = str.replace('c', 'c');
    }

    public static void bufferReplace(StringBuffer str) {
        str.trimToSize();
    }

    public static void main(String args[]) {
        String myString = new String("cplus");
        StringBuffer myBuffer = new StringBuffer(" plus");
        stringReplace(myString);
        bufferReplace(myBuffer);
        System.out.println(myString + myBuffer);
    }
}

A. cplusplus
B. plus plus
C. cplus plus
D. c plus plus

Check correct option.
Answer. C

Question-22. Which of the following is the outcome of the below program? Assume the given input is <abc’def/’egh>.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleTest {

    public static void main(String args[]) throws IOException {
        char bit;
        BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
        do {
            bit = (char) console.read();
            System.out.print(bit);
        } while (bit != '\'');
    }

}

A. abc’
B. abcdef/’
C. abc’def/’egh
D. abcqfghq

Check correct option.
Answer. A

Question-23. Which of the following is the result of the below Java coding snippet?

import java.io.File;

public class SimpleTest {

    public static void main(String args[]) {
        File sys = new File("/MVC/system");
        System.out.print(sys.getParent());
        System.out.print(" " + sys.isFile());
    }

}

A. MVC true
B. MVC false
C. \MVC false
D. \MVC true

Check correct option.
Answer. C

Question-24. Which of the following would the below Java coding snippet return on execution?

public class SimpleTest {

    static int test;
    boolean final()
    {
        test++;
        return true;
    }

    public static void main(String[] args)
    {
        test=0; 
        if ((final() | final()) || final()) 
            test++; 
        System.out.println(test); 
    }
}

A. 1
B. 2
C. 3
D. Compilation error

Check correct option.
Answer. D Note- In Java, is a reserved keyword so the program will not compile.

Question-25. Which of the following values would the below Java coding snippet yield?

public class SimpleTest {

    public static void main(String[] args) {
        String text = "199";
        try {
            text = text.concat(".5");
            double decimal = Double.parseDouble(text);
            text = Double.toString(decimal);
            int status = (int) Math.ceil(Double.valueOf(text).doubleValue());
            System.out.println(status);
        } catch (NumberFormatException e) {
            System.out.println("Invalid number");
        }
    }
}

A. 199
B. 199.5 
C. 200
D. Invalid number

Check correct option.
Answer. C

Question-26. Which of the following combinations would the below program print?

public class SimpleTest {

    public static void main(String ags[]) {
        String initial = "ABCDEFG", after = "";
        after = initial = initial.replace('A', 'Z');
        System.out.println(initial + ", " + after);
    }
}

A. ABCDEFG, ABCDEFG
B. ABCDEFG, ZBCDEFG
C. ZBCDEFG, ABCDEFG
D. ZBCDEFG, ZBCDEFG

Check correct option.
Answer. D

Question-27. Which of the following values would the below Java coding snippet print?

public class SimpleTest {

    public static void main(String args[]) {
        String str = (String) returnStringAsArray()[-1 + 1 * 2];
        System.out.println(str);
    }

    public static Object[] returnStringAsArray() {
        return new String[] { "Java", "Quiz" };
    }
}

A. Java
B. ArrayIndexOutOfBoundsException
C. Quiz
D. Compilation error

Check correct option.
Answer. C

Question-28. What would the below Java coding snippet print on execution?

public class SimpleTest {

    public static void main(String args[]) {
        try {
            args[0] = "0";
            return;

        } catch (Exception e) {
            System.out.print("Exception");
        } finally {
            System.out.print("Final");
        }
    }
}

A. Exception
B. Final
C. ExceptionFinal
D. Compilation error

Check correct option.
Answer. C

Question-29. What does the following Java coding snippet print on execution?

public class SimpleTest {

    public static void main(String[] args) {
        int[] table = { 1, 2, 3, 4, 5 };
        table[1] = (table[2 * 1] == 2 - args.length) ? table[3] : 99;
        System.out.println(table[1]);
    }
}

A. Compilation fails.
B. 3
C. 2
D. 99

Check correct option.
Answer. D

Question-30. What would be the output of the below Java coding snippet upon execution?

import java.util.Random;

public class SimpleTest {

    static int count = 0;

    public static void main(String[] args) throws InterruptedException {
        Consumer test = new Consumer();
        Producer prod1 = new Producer(test, "thread-1");
        Producer prod2 = new Producer(test, "thread-2");
        prod1.start();
        prod2.start();
    }
}

class Producer extends Thread {
    Consumer test;
    String message;

    Producer(Consumer test, String msg) {
        this.test = test;
        message = msg;
    }

    public void run() {
        Random rand = new Random();
        int randomNum = rand.nextInt((1000 - 10) + 1) + 10;
        System.out.println(message);
    }
}

class Consumer {
    private int count = 0;

    public int nextCounter() {
        synchronized (this) {
            count++;
            return count;
        }
    }
}

A. Runtime Exception
B. thread-1 thread-2
C. thread-2 thread-1
D. Sometimes thread-2 will precede thread-1.

Check correct option.
Answer. D

Keep Practicing Java and Brace for a New Java Coding Challenge!

All the Best,

TechBeamers.

2 Comments

  1. rgdoms Reply
    • Meenakshi Agarwal Reply