--- tags: Linkedin-skill disqus: HackMD --- # Java Test ## Java #### Q1. Given the string "strawberries" saved in a variable called fruit, what would `fruit.substring(2, 5)` return? - [ ] rawb - [x] raw - [ ] awb - [ ] traw **Reasoning:** The substring method is accepting two arguments. - The first argument being the index to start(includes that char at 2) - and the second the index of the string to end the substring(excludes the char at 5). - Strings in Java are like arrays of chars. - Therefore, the method will return "raw" as those are the chars in indexes 2,3, and 4. - You can also take the ending index and subtract the beginning index from it, to determine how many chars will be included in the substring (5-2=3). #### Q2. How can you achieve runtime polymorphism in Java? - [ ] method overloading - [ ] method overrunning - [x] method overriding - [ ] method calling #### Q3. Given the following definitions, which of these expression will **NOT** evaluate to true? `boolean b1 = true, b2 = false; int i1 = 1, i2 = 2;` - [ ] `(i1 | i2) == 3` - [x] `i2 && b1` - [ ] `b1 || !b2` - [ ] `(i1 ^ i2) < 4` **Reasoning:** i2 && b1 is not allowed between int and boolean. #### Q4. What is the output of this code? ```java 1: class Main { 2: public static void main (String[] args) { 3: int array[] = {1, 2, 3, 4}; 4: for (int i = 0; i < array.size(); i++) { 5: System.out.print(array[i]); 6: } 7: } 8: } ``` - [x] It will not compile because of line 4. - [ ] It will not compile because of line 3. - [ ] 123 - [ ] 1234 **Reasoning:** array.size() is invalid, to get size or length of array array.length can be used. #### Q5. Which of the following can replace the CODE SNIPPET to make the code below print "Hello World"? ```java interface Interface1 { static void print() { System.out.print("Hello"); } } interface Interface2 { static void print() { System.out.print("World!"); } } ``` - [ ] `super1.print(); super2.print();` - [ ] `this.print();` - [ ] `super.print();` - [x] `Interface1.print(); Interface2.print();` [Reference](https://www.geeksforgeeks.org/static-method-in-interface-in-java/) #### Q6. What does the following code print? ```java String str = "abcde"; str.trim(); str.toUpperCase(); str.substring(3, 4); System.out.println(str); ``` - [ ] CD - [ ] CDE - [ ] D - [x] "abcde" **Reasoning:** You should assign the result of trim back to the String variable. Otherwise, it is not going to work, because strings in Java are immutable. #### Q7. What is the result of this code? ```java class Main { public static void main (String[] args){ System.out.println(print(1)); } static Exception print(int i){ if (i>0) { return new Exception(); } else { throw new RuntimeException(); } } } ``` - [ ] It will show a stack trace with a runtime exception. - [x] "java.lang.Exception" - [ ] It will run and throw an exception. - [ ] It will not compile. #### Q8. Which class can compile given these declarations? ```java interface One { default void method() { System.out.println("One"); } } interface Two { default void method () { System.out.println("One"); } } ``` - [ ] A ```java class Three implements One, Two { public void method() { super.One.method(); } } ``` - [ ] B ```java class Three implements One, Two { public void method() { One.method(); } } ``` - [ ] C ```java class Three implements One, Two { } ``` - [x] D ```java class Three implements One, Two { public void method() { One.super.method(); } } ``` #### Q9. What is the output of this code? ```java class Main { public static void main (String[] args) { List list = new ArrayList(); list.add("hello"); list.add(2); System.out.print(list.get(0) instanceof Object); System.out.print(list.get(1) instanceof Integer); } } ``` - [ ] The code does not compile. - [ ] truefalse - [x] truetrue - [ ] falsetrue #### Q10. Given the following two classes, what will be the output of the Main class? ```java package mypackage; public class Math { public static int abs(int num){ return num < 0 ? -num : num; } } package mypackage.elementary; public class Math { public static int abs (int num) { return -num; } } ``` ```java import mypackage.Math; import mypackage.elementary.*; class Main { public static void main (String args[]){ System.out.println(Math.abs(123)); } } ``` - [ ] Lines 1 and 2 generate compiler errors due to class name conflicts. - [ ] "-123" - [ ] It will throw an exception on line 5. - [x] "123" **Explanation:** The answer is "123". The `abs()` method evaluates to the one inside mypackage.Math class, because the import statements of the form: `import packageName.subPackage.*` is [Type-Import-on-Demand Declarations](https://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html#jls-7.5.2), which [never causes any other declaration to be shadowed](https://docs.oracle.com/javase/specs/jls/se7/html/jls-6.html#jls-6.4.1). #### Q11. What is the result of this code? ```java 1: class MainClass { 2: final String message() { 3: return "Hello!"; 4: } 5: } 6: class Main extends MainClass { 7: public static void main(String[] args) { 8: System.out.println(message()); 9: } 10: String message() { 11: return "World!"; 12: } 13: } ``` - [x] It will not compile because of line 10. - [ ] "Hello!" - [ ] It will not compile because of line 2. - [ ] "World!" **Explanation:** Compilation error at line 10 because of final methods cannot be overridden, and here message() is a final method, and also note that Non-static method message() cannot be referenced from a static context. #### Q12. Given this code, which command will output "2"? ```java class Main { public static void main(String[] args) { System.out.println(args[2]); } } ``` - [ ] `java Main 1 2 "3 4" 5` - [x] `java Main 1 "2" "2" 5` - [ ] `java Main.class 1 "2" 2 5` - [ ] `java Main 1 "2" "3 4" 5` #### Q13. What is the output of this code? ```java class Main { public static void main(String[] args){ int a = 123451234512345; System.out.println(a); } } ``` - [ ] "123451234512345" - [x] Nothing - this will not compile. - [ ] a negative integer value - [ ] "12345100000" **Reasoning:** The int type in Java can be used to represent any whole number from -2147483648 to 2147483647. Therefore, this code will not compile as the number assigned to 'a' is larger than the int type can hold. #### Q14. What is the output of this code? ```java class Main { public static void main (String[] args) { String message = "Hello world!"; String newMessage = message.substring(6, 12) + message.substring(12, 6); System.out.println(newMessage); } } ``` - [ ] The code does not compile. - [x] A runtime exception is thrown. - [ ] "world!!world" - [ ] "world!world!" #### Q15. How do you write a foreach loop that will iterate over ArrayList\<Pencil\>pencilCase? - [x] `for (Pencil pencil : pencilCase) {}` - [ ] `for (pencilCase.next()) {}` - [ ] `for (Pencil pencil : pencilCase.iterator()) {}` - [ ] `for (pencil in pencilCase) {}` #### Q16. What does this code print? ```java System.out.print("apple".compareTo("banana")); ``` - [ ] `0` - [ ] positive number - [x] negative number - [ ] compilation error #### Q17. You have an ArrayList of names that you want to sort alphabetically. Which approach would **NOT** work? - [ ] `names.sort(Comparator.comparing(String::toString))` - [ ] `Collections.sort(names)` - [x] `names.sort(List.DESCENDING)` - [ ] `names.stream().sorted((s1, s2) -> s1.compareTo(s2)).collect(Collectors.toList())` [Reference](https://www.scaler.com/topics/java/arraylist-in-java/) #### Q18. By implementing encapsulation, you cannot directly access the class's \_ properties unless you are writing code inside the class itself. - [x] private - [ ] protected - [ ] no-modifier - [ ] public #### Q19. Which is the most up-to-date way to instantiate the current date? - [ ] `new SimpleDateFormat("yyyy-MM-dd").format(new Date())` - [ ] `new Date(System.currentTimeMillis())` - [x] `LocalDate.now()` - [ ] `Calendar.getInstance().getTime()` **Explanation:** LocalDate is the newest class added in java 8 #### Q20. Fill in the blank to create a piece of code that will tell whether `int0` is divisible by `5`: `boolean isDivisibleBy5 = _____` - [ ] `int0 / 5 ? true: false` - [x] `int0 % 5 == 0` - [ ] `int0 % 5 != 5` - [ ] `Math.isDivisible(int0, 5)` #### Q21. How many times will this code print "Hello World!"? ```java class Main { public static void main(String[] args){ for (int i=0; i<10; i=i++){ i+=1; System.out.println("Hello World!"); } } } ``` - [x] 10 times - [ ] 9 times - [ ] 5 times - [ ] infinite number of times **Explanation:** Observe the loop increment. It's not an increment, it's an assignment(post). #### Q22. The runtime system starts your program by calling which function first? - [ ] print - [ ] iterative - [ ] hello - [x] main #### Q23. What code would you use in Constructor A to call Constructor B? ```java public class Jedi { /* Constructor A */ Jedi(String name, String species){} /* Constructor B */ Jedi(String name, String species, boolean followsTheDarkSide){} } ``` - [ ] Jedi(name, species, false) - [ ] new Jedi(name, species, false) - [x] this(name, species, false) - [ ] super(name, species, false) **Note:** This code won't compile, possibly broken code sample. [Reference](https://www.scaler.com/topics/java/constructor-in-java/) #### Q24. Which statement is **NOT** true? - [ ] An anonymous class may specify an abstract base class as its base type. - [x] An anonymous class does not require a zero-argument constructor. - [ ] An anonymous class may specify an interface as its base type. - [ ] An anonymous class may specify both an abstract class and interface as base types. #### Q25. What will this program print out to the console when executed? ```java import java.util.LinkedList; public class Main { public static void main(String[] args){ LinkedList<Integer> list = new LinkedList<>(); list.add(5); list.add(1); list.add(10); System.out.println(list); } } ``` - [x] [5, 1, 10] - [ ] [10, 5, 1] - [ ] [1, 5, 10] - [ ] [10, 1, 5] #### Q26. What is the output of this code? ```java class Main { public static void main(String[] args){ String message = "Hello"; for (int i = 0; i<message.length(); i++){ System.out.print(message.charAt(i+1)); } } } ``` - [ ] "Hello" - [x] A runtime exception is thrown. - [ ] The code does not compile. - [ ] "ello" #### Q27. Object-oriented programming is a style of programming where you organize your program around \_ and data, rather than \_ and logic. - [ ] functions; actions - [x] objects; actions - [ ] actions; functions - [ ] actions; objects #### Q28. What statement returns true if "nifty" is of type String? - [ ] `"nifty".getType().equals("String")` - [ ] `"nifty".getType() == String` - [ ] `"nifty".getClass().getSimpleName() == "String"` - [x] `"nifty" instanceof String` #### Q29. What is the output of this code? ```java import java.util.*; class Main { public static void main(String[] args) { List<Boolean> list = new ArrayList<>(); list.add(true); list.add(Boolean.parseBoolean("FalSe")); list.add(Boolean.TRUE); System.out.print(list.size()); System.out.print(list.get(1) instanceof Boolean); } } ``` - [ ] A runtime exception is thrown. - [ ] 3false - [ ] 2true - [x] 3true #### Q30. What is the result of this code? ```java 1: class Main { 2: Object message() { 3: return "Hello!"; 4: } 5: public static void main(String[] args) { 6: System.out.print(new Main().message()); 7: System.out.print(new Main2().message()); 8: } 9: } 10: class Main2 extends Main { 11: String message() { 12: return "World!"; 13: } 14: } ``` - [ ] It will not compile because of line 7. - [ ] Hello!Hello! - [x] Hello!World! - [ ] It will not compile because of line 11. #### Q31. What method can be used to create a new instance of an object? - [ ] another instance - [ ] field - [x] constructor - [ ] private method #### Q32. Which is the most reliable expression for testing whether the values of two string variables are the same? - [ ] string1 == string2 - [ ] string1 = string2 - [ ] string1.matches(string2) - [x] string1.equals(string2) #### Q33. Which letters will print when this code is run? ```java public static void main(String[] args) { try { System.out.println("A"); badMethod(); System.out.println("B"); } catch (Exception ex) { System.out.println("C"); } finally { System.out.println("D"); } } public static void badMethod() { throw new Error(); } ``` - [ ] A, B, and D - [ ] A, C, and D - [ ] C and D - [x] A and D **Explanation:** `Error` is not inherited from `Exception`. #### Q34. What is the output of this code? ```java class Main { static int count = 0; public static void main(String[] args) { if (count < 3) { count++; main(null); } else { return; } System.out.println("Hello World!"); } } ``` - [ ] It will throw a runtime exception. - [ ] It will not compile. - [x] It will print "Hello World!" three times. - [ ] It will run forever. #### Q35. What is the output of this code? ```java import java.util.*; class Main { public static void main(String[] args) { String[] array = {"abc", "2", "10", "0"}; List<String> list = Arrays.asList(array); Collections.sort(list); System.out.println(Arrays.toString(array)); } } ``` - [ ] `[abc, 0, 2, 10]` - [ ] The code does not compile. - [ ] `[abc, 2, 10, 0]` - [x] `[0, 10, 2, abc]` **Explanation:** The `java.util.Arrays.asList(T... a)` returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) #### Q36. What is the output of this code? ```java class Main { public static void main(String[] args) { String message = "Hello"; print(message); message += "World!"; print(message); } static void print(String message) { System.out.print(message); message += " "; } } ``` - [ ] Hello World! - [x] HelloHelloWorld! - [ ] Hello Hello World! - [ ] Hello HelloWorld! #### Q37. What is displayed when this code is compiled and executed? ```java public class Main { public static void main(String[] args) { int x = 5; x = 10; System.out.println(x); } } ``` - [ ] x - [ ] null - [x] 10 - [ ] 5 #### Q38. Which approach cannot be used to iterate over a List named _theList_? - [ ] A ```java for (int i = 0; i < theList.size(); i++) { System.out.println(theList.get(i)); } ``` - [ ] B ```java for (Object object : theList) { System.out.println(object); } ``` - [x] C ```java Iterator it = theList.iterator(); for (it.hasNext()) { System.out.println(it.next()); } ``` - [ ] D ```java theList.forEach(System.out::println); ``` **Explanation:** `for (it.hasNext())` should be `while (it.hasNext())`. #### Q39. What method signature will work with this code? `boolean healthyOrNot = isHealthy("avocado");` - [ ] public void isHealthy(String avocado) - [x] boolean isHealthy(String string) - [ ] public isHealthy("avocado") - [ ] private String isHealthy(String food) #### Q40. Which are valid keywords in a Java module descriptor (module-info.java)? - [ ] provides, employs - [ ] imports, exports - [ ] consumes, supplies - [x] requires, exports #### Q41. Which type of variable keeps a constant value once it is assigned? - [ ] non-static - [ ] static - [x] final - [ ] private #### Q42. How does the keyword `volatile` affect how a variable is handled? - [ ] It will be read by only one thread at a time. - [ ] It will be stored on the hard drive. - [x] It will never be cached by the CPU. - [ ] It will be preferentially garbage collected. #### Q43. What is the result of this code? ```java char smooch = 'x'; System.out.println((int) smooch); ``` - [ ] an alphanumeric character - [ ] a negative number - [x] a positive number - [ ] a ClassCastException #### Q44. You get a NullPointerException. What is the most likely cause? - [ ] A file that needs to be opened cannot be found. - [ ] A network connection has been lost in the middle of communications. - [ ] Your code has used up all available memory. - [x] The object you are using has not been instantiated. #### Q45. How would you fix this code so that it compiles? ```java public class Nosey { int age; public static void main(String[] args) { System.out.println("Your age is: " + age); } } ``` - [x] Make age static. - [ ] Make age global. - [ ] Make age public. - [ ] Initialize age to a number. #### Q46. Add a Duck called "Waddles" to the ArrayList **ducks**. ```java public class Duck { private String name; Duck(String name) {} } ``` - [ ] `Duck waddles = new Duck();` `ducks.add(waddles);` - [ ] `Duck duck = new Duck("Waddles");` `ducks.add(waddles);` - [x] `ducks.add(new Duck("Waddles"));` - [ ] `ducks.add(new Waddles());` #### Q47. If you encounter `UnsupportedClassVersionError` it means the code was `___` on a newer version of Java than the JRE `___` it. - [ ] executed; interpreting - [ ] executed; compiling - [x] compiled; executing - [ ] compiled, translating #### Q48. Given this class, how would you make the code compile? ```java public class TheClass { private final int x; } ``` - [ ] A ```java public TheClass() { x += 77; } ``` - [ ] B ```java public TheClass() { x = null; } ``` - [x] C ```java public TheClass() { x = 77; } ``` - [ ] D ```java private void setX(int x) { this.x = x; } public TheClass() { setX(77); } ``` **Explanation:** `final` class members are allowed to be assigned only in three places: declaration, constructor or an instance-initializer block. #### Q49. How many times f will be printed? ```java public class Solution { public static void main(String[] args) { for (int i = 44; i > 40; i--) { System.out.println("f"); } } } ``` - [x] 4 - [ ] 3 - [ ] 5 - [ ] A Runtime exception will be thrown #### Q50. Which statements about `abstract` classes are true? ``` 1. They can be instantiated. 2. They allow member variables and methods to be inherited by subclasses. 3. They can contain constructors. ``` - [ ] 1, 2, and 3 - [ ] only 3 - [x] 2 and 3 - [ ] only 2 #### Q51. Which keyword lets you call the constructor of a parent class? - [ ] parent - [x] super - [ ] this - [ ] new #### Q52. What is the result of this code? ```java 1: int a = 1; 2: int b = 0; 3: int c = a/b; 4: System.out.println(c); ``` - [x] It will throw an ArithmeticException. - [ ] It will run and output 0. - [ ] It will not compile because of line 3. - [ ] It will run and output infinity. #### Q53. Normally, to access a static member of a class such as Math.PI, you would need to specify the class "Math". What would be the best way to allow you to use simply "PI" in your code? - [x] Add a static import. - [ ] Declare local copies of the constant in your code. - [ ] This cannot be done. You must always qualify references to static members with the class form which they came from. - [ ] Put the static members in an interface and inherit from that interface. #### Q54. Which keyword lets you use an interface? - [ ] extends - [x] implements - [ ] inherits - [ ] import #### Q55. Why are ArrayLists better than arrays? - [x] You don't have to decide the size of an ArrayList when you first make it. - [ ] You can put more items into an ArrayList than into an array. - [ ] ArrayLists can hold more kinds of objects than arrays. - [ ] You don't have to decide the type of an ArrayList when you first make it. #### Q56. Declare a variable that holds the first four digits of Π - [ ] int pi = 3.141; - [ ] decimal pi = 3.141; - [x] double pi = 3.141; - [ ] float pi = 3.141; **Reasoning:** ```java public class TestReal { public static void main (String[] argv) { double pi = 3.14159265; //accuracy up to 15 digits float pi2 = 3.141F; //accuracy up to 6-7 digits System.out.println ("Pi=" + pi); System.out.println ("Pi2=" + pi2); } } ``` ``` The default Java type which Java will be using for a float variable will be double. So, even if you declare any variable as float, what the compiler has to actually do is to assign a double value to a float variable, which is not possible. So, to tell the compiler to treat this value as a float, that 'F' is used. ``` #### Q57. Use the magic power to cast a spell ```java public class MagicPower { void castSpell(String spell) {} } ``` - [x] `new MagicPower().castSpell("expecto patronum");` - [ ] `MagicPower magicPower = new MagicPower();` `magicPower.castSpell();` - [ ] `MagicPower.castSpell("expelliarmus");` - [ ] `new MagicPower.castSpell();` [Reference](https://stackoverflow.com/a/2042836/993246) #### Q58. What language construct serves as a blueprint containing an object's properties and functionality? - [ ] constructor - [ ] instance - [x] class - [ ] method #### Q59. What does this code print? ```java public static void main(String[] args) { int x=5,y=10; swapsies(x,y); System.out.println(x+" "+y); } static void swapsies(int a, int b) { int temp=a; a=b; b=temp; } ``` - [ ] 10 10 - [x] 5 10 - [ ] 10 5 - [ ] 5 5 #### Q60. What is the result of this code? ```java try { System.out.println("Hello World"); } catch (Exception e) { System.out.println("e"); } catch (ArithmeticException e) { System.out.println("e"); } finally { System.out.println("!"); } ``` - [ ] Hello World - [x] It will not compile because the second catch statement is unreachable - [ ] Hello World! - [ ] It will throw runtime exception #### Q61. Which is not a java keyword - [ ] finally - [ ] native - [ ] interface - [x] unsigned **Explanation:** `native` is a part of JNI interface. #### Q62. Which operator would you use to find the remainder after division? - [x] `%` - [ ] `//` - [ ] `/` - [ ] `DIV` [Reference](http://www.cs.ukzn.ac.za/~hughm/java/intro/week2/21.html) #### Q63. Which choice is a disadvantage of inheritance? - [ ] Overridden methods of the parent class cannot be reused. - [ ] Responsibilities are not evenly distributed between parent and child classes. - [x] Classes related by inheritance are tightly coupled to each other. - [ ] The internal state of the parent class is accessible to its children. [Reference](http://erpbasic.blogspot.com/2012/01/inheritance-advantages-and.html#:~:text=Main%20disadvantage%20of%20using%20inheritance,used%20independent%20of%20each%20other.&text=4.,case%20of%20using%20that%20method.) #### Q64. How would you declare and initialize an array of 10 ints? - [ ] `Array<Integer> numbers = new Array<Integer>(10);` - [ ] `Array[int] numbers = new Array[int](10);` - [x] `int[] numbers = new int[10];` - [ ] `int numbers[] = int[10];` #### Q65. Refactor this event handler to a lambda expression: ```java groucyButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Press me one more time.."); } }); ``` - [ ] `groucyButton.addActionListener(ActionListener listener -> System.out.println("Press me one more time..."));` - [x] `groucyButton.addActionListener((event) -> System.out.println("Press me one more time..."));` - [ ] `groucyButton.addActionListener(new ActionListener(ActionEvent e) {() -> System.out.println("Press me one more time...");});` - [ ] `groucyButton.addActionListener(() -> System.out.println("Press me one more time..."));` [Reference](https://www.codejava.net/java-core/the-java-language/java-8-lambda-listener-example) #### Q66. Which functional interfaces does Java provide to serve as data types for lambda expressions? - [ ] Observer, Observable - [ ] Collector, Builder - [ ] Filter, Map, Reduce - [x] Consumer, Predicate, Supplier [Reference](https://www.baeldung.com/java-8-functional-interfaces) #### Q67. What is a valid use of the hashCode() method? - [ ] encrypting user passwords - [x] deciding if two instances of a class are equal - [ ] enabling HashMap to find matches faster - [ ] moving objects from a List to a HashMap [Reference](https://www.baeldung.com/java-hashcode) #### Q68. What kind of relationship does "extends" denote? - [ ] uses-a - [x] is-a - [ ] has-a - [ ] was-a [Reference](https://www.c-sharpcorner.com/UploadFile/3614a6/is-a-and-has-a-relationship-in-java/) #### Q69. How do you force an object to be garbage collected? - [ ] Set object to null and call Runtime.gc() - [x] Set object to null and call System.gc() - [ ] Set object to null and call Runtime.getRuntime().runFinalization() - [ ] There is no way to force an object to be garbage collected [Reference](https://sematext.com/blog/java-garbage-collection/) #### Q70. Java programmers commonly use design patterns. Some examples are the **\_**, which helps create instances of a class, the **\_**, which ensures that only one instance of a class can be created; and the **\_**, which allows for a group of algorithms to be interchangeable. - [x] static factory method; singleton; strategy pattern - [ ] strategy pattern; static factory method; singleton - [ ] creation pattern; singleton; prototype pattern - [ ] singleton; strategy pattern; static factory method #### Q71. Using Java's Reflection API, you can use \_ to get the name of a class and \_ to retrieve an array of its methods. - [x] this.getClass().getSimpleName(); this.getClass().getDeclaredMethods() - [ ] this.getName(); this.getMethods() - [ ] Reflection.getName(this); Reflection.getMethods(this) - [ ] Reflection.getClass(this).getName(); Reflection.getClass(this).getMethods() #### Q72. Which is not a valid lambda expression? - [ ] `a -> false;` - [ ] `(a) -> false;` - [x] `String a -> false;` - [ ] `(String a) -> false;` #### Q73. Which access modifier makes variables and methods visible only in the class where they are declared? - [ ] public - [ ] protected - [ ] nonmodifier - [x] private #### Q74. What type of variable can be assigned to only once? - [ ] private - [ ] non-static - [x] final - [ ] static #### Q75. How would you convert a String to an Int? - [ ] `"21".intValue()` - [ ] `String.toInt("21")` - [x] `Integer.parseInt("21")` - [ ] `String.valueOf("21")` #### Q76. What method should be added to the Duck class to print the name Moby? ```java public class Duck { private String name; Duck(String name) { this.name = name; } public static void main(String[] args) { System.out.println(new Duck("Moby")); } } ``` - [x] `public String toString() { return name; } ` - [ ] `public void println() { System.out.println(name); } ` - [ ] `String toString() { return this.name; } ` - [ ] `public void toString() { System.out.println(this.name); } ` #### Q77. Which operator is used to concatenate Strings in Java - [x] `+` - [ ] `&` - [ ] `.` - [ ] `-` [Reference](https://www.techiedelight.com/concatenate-two-strings-java/) #### Q78. How many times does this loop print "exterminate"? ```java for (int i = 44; i > 40; i--) { System.out.println("exterminate"); } ``` - [ ] two - [x] four - [ ] three - [ ] five #### Q79. What is the value of myCharacter after line 3 is run? ```java 1: public class Main { 2: public static void main (String[] args) { 3: char myCharacter = "piper".charAt(3); 4: } 5: } ``` - [ ] p - [ ] r - [x] e - [ ] i #### Q80. When should you use a static method? - [ ] when your method is related to the object's characteristics - [x] when you want your method to be available independently of class instances - [ ] when your method uses an object's instance variable - [ ] when your method is dependent on the specific instance that calls it #### Q81. What phrase indicates that a function receives a copy of each argument passed to it rather than a reference to the objects themselves? - [ ] pass by reference - [ ] pass by occurrence - [x] pass by value - [ ] API call #### Q82. In Java, what is the scope of a method's argument or parameter? - [x] inside the method - [ ] both inside and outside the method - [ ] neither inside nor outside the method - [ ] outside the method #### Q83. What is the output of this code? ```java public class Main { public static void main (String[] args) { int[] sampleNumbers = {8, 5, 3, 1}; System.out.println(sampleNumbers[2]); } } ``` - [ ] 5 - [ ] 8 - [ ] 1 - [x] 3 #### Q84. Which change will make this code compile successfully? ```java 1: public class Main { 2: String MESSAGE ="Hello!"; 3: static void print(){ 4: System.out.println(message); 5: } 6: void print2(){} 7: } ``` - [ ] Change line 2 to `public static final String message` - [ ] Change line 6 to `public void print2(){}` - [ ] Remove the body of the `print2` method and add a semicolon. - [x] Remove the body of the `print` method. **Explanation:** Changing line 2 to `public static final String message` raises the error `message not initialized in the default constructor`. #### Q85. What is the output of this code? ```java import java.util.*; class Main { public static void main(String[] args) { String[] array = new String[]{"A", "B", "C"}; List<String> list1 = Arrays.asList(array); List<String> list2 = new ArrayList<>(Arrays.asList(array)); List<String> list3 = new ArrayList<>(Arrays.asList("A", new String("B"), "C")); System.out.print(list1.equals(list2)); System.out.print(list1.equals(list3)); } } ``` - [ ] falsefalse - [x] truetrue - [ ] falsetrue - [ ] truefalse #### Q86. Which code snippet is valid? - [ ] `ArrayList<String> words = new ArrayList<String>(){"Hello", "World"};` - [ ] `ArrayList words = Arrays.asList("Hello", "World");` - [ ] `ArrayList<String> words = {"Hello", "World"};` - [x] `ArrayList<String> words = new ArrayList<>(Arrays.asList("Hello", "World"));` #### Q87. What is the output of this code? ```java class Main { public static void main(String[] args) { StringBuilder sb = new StringBuilder("hello"); sb.deleteCharAt(0).insert(0, "H")." World!"; System.out.println(sb); } } ``` - [x] It will not compile. - [ ] "HelloWorld!" - [ ] "hello" - [ ] ???? #### Q88. How would you use the TaxCalculator to determine the amount of tax on $50? ```java class TaxCalculator { static calculate(total) { return total * .05; } } ``` - [x] TaxCalculator.calculate(50); - [ ] new TaxCalculator.calculate(50); - [ ] calculate(50); - [ ] new TaxCalculator.calculate($50); **Note:** This code won't compile, broken code sample. 1. [Reference](https://www.geeksforgeeks.org/static-methods-vs-instance-methods-java/) 2. [Code sample](https://replit.com/@mattheweller/EverlastingShadyBraces#TaxCalculator.java) #### Q89. Which characteristic does not apply to instances of java.util.HashSet? - [ ] uses hashcode of objects when inserted - [ ] contains unordred elements - [ ] contains unique elements - [x] contains sorted elements **Explanation:** HashSet makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time. [Reference](https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html) #### Q90. What is the output? ```java import java.util.*; public class Main { public static void main(String[] args) { PriorityQueue<Integer> queue = new PriorityQueue<>(); queue.add(4); queue.add(3); queue.add(2); queue.add(1); while (queue.isEmpty() == false) { System.out.printf("%d", queue.remove()); } } } ``` - [ ] 1 3 2 4 - [ ] 4 2 3 1 - [x] 1 2 3 4 - [ ] 4 3 2 1 #### Q91. What will this code print, assuming it is inside the main method of a class? `System.out.println("hello my friends".split(" ")[0]);` - [ ] my - [ ] hellomyfriends - [x] hello - [ ] friends #### Q92. You have an instance of type Map<String, Integer> named instruments containing the following key-value pairs: guitar=1200, cello=3000, and drum=2000. If you add the new key-value pair cello=4500 to the Map using the put method, how many elements do you have in the Map when you call instruments.size()? - [ ] 2 - [ ] When calling the put method, Java will throw an exception - [ ] 4 - [x] 3 #### Q93. Which class acts as root class for Java Exception hierarchy? - [ ] Clonable - [x] Throwable - [ ] Object - [ ] Serializable #### Q94. Which class does not implement the java.util.Collection interface? - [ ] java.util.Vector - [ ] java.util.ArrayList - [ ] java.util.HashSet - [x] java.util.HashMap **Explanation:** HashMap class implements Map interface. #### Q95. You have a variable of named `employees` of type `List<Employee>` containing multiple entries. The `Employee` type has a method `getName()` that returns the employee name. Which statement properly extracts a list of employee names? - [ ] `employees.collect(employee -> employee.getName());` - [ ] `employees.filter(Employee::getName).collect(Collectors.toUnmodifiableList());` - [x] `employees.stream().map(Employee::getName).collect(Collectors.toList());` - [ ] `employees.stream().collect((e) -> e.getName());` #### Q96. This code does not compile. What needs to be changed so that it does? ```java public enum Direction { EAST("E"), WEST("W"), NORTH("N"), SOUTH("S"); private final String shortCode; public String getShortCode() { return shortCode; } } ``` - [x] Add a constructor that accepts a `String` parameter and assigns it to the field `shortCode`. - [ ] Remove the `final` keyword for the field `shortCode`. - [ ] All enums need to be defined on a single line of code. - [ ] Add a setter method for the field `shortCode`. #### Q97. Which language feature ensures that objects implementing the `AutoCloseable` interface are closed when it completes? - [ ] try-catch-finally - [ ] try-finally-close - [x] try-with-resources - [ ] try-catch-close #### Q98. What code should go in line 3? ```java 1: class Main { 2: public static void main(String[] args) { 3: 4: array[0] = new int[]{1, 2, 3}; 5: array[1] = new int[]{4, 5, 6}; 6: array[2] = new int[]{7, 8, 9}; 7: for (int i = 0; i < 3; i++) 8: System.out.print(array[i][1]); //prints 258 9: } 10: } ``` - [ ] `int[][] array = new int[][];` - [x] `int[][] array = new int[3][3];` - [ ] `int[][] array = new int[2][2];` - [ ] `int[][] array = [][];` #### Q99. Is this an example of method overloading or overriding? ```java class Car { public void accelerate() {} } class Lambo extends Car { public void accelerate(int speedLimit) {} public void accelerate() {} } ``` - [ ] neither - [x] both - [ ] overloading - [ ] overriding #### Q100. Which choice is the best data type for working with money in Java? - [ ] float - [ ] String - [ ] double - [x] BigDecimal [Reference](https://www.scaler.com/topics/java/primitive-data-types/#types-of-primitive-data-types-in-java) #### Q101. Which statement about constructors is not true? - [ ] A class can have multiple constructors with a different parameter list. - [ ] You can call another constructor with `this` or `super`. - [ ] A constructor does not define a return value. - [x] Every class must explicitly define a constructor without parameters. #### Q102. What language feature allows types to be parameters on classes, interfaces, and methods in order to reuse the same code for different data types? - [ ] Regular Expressions - [ ] Reflection - [x] Generics - [ ] Concurrency #### Q103. What will be printed? ```java public class Berries{ String berry = "blue"; public static void main(String[] args) { new Berries().juicy("straw"); } void juicy(String berry){ this.berry = "rasp"; System.out.println(berry + "berry"); } } ``` - [ ] raspberry - [x] strawberry - [ ] blueberry - [ ] rasp #### Q104. What is the value of `forestCount` after this code executes? ```java Map<String, Integer> forestSpecies = new HashMap<>(); forestSpecies.put("Amazon", 30000); forestSpecies.put("Congo", 10000); forestSpecies.put("Daintree", 15000); forestSpecies.put("Amazon", 40000); int forestCount = forestSpecies.size(); ``` - [x] 3 - [ ] 4 - [ ] 2 - [ ] When calling the put method, Java will throw an exception #### Q105. What is a problem with this code? ```java import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Main { public static void main(String[] args) { List<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c")); for(String value :list) { if(value.equals("a")) { list.remove(value); } } System.out.println(list); // outputs [b,c] } } ``` - [ ] String should be compared using == method instead of equals. - [x] Modifying a collection while iterating through it can throw a ConcurrentModificationException. - [ ] The List interface does not allow an argument of type String to be passed to the remove method. - [ ] ArrayList does not implement the List interface. #### Q106. How do you convert this method into a lambda expression? ```java public int square(int x) { return x * x; } ``` - [ ] `Function<Integer, Integer> squareLambda = (int x) -> { x * x };` - [ ] `Function<Integer, Integer> squareLambda = () -> { return x * x };` - [x] `Function<Integer, Integer> squareLambda = x -> x * x;` - [ ] `Function<Integer, Integer> squareLambda = x -> return x * x;` #### Q107. Which choice is a valid implementation of this interface? ```java interface MyInterface { int foo(int x); } ``` - [ ] A ```java public class MyClass implements MyInterface { // .... public void foo(int x){ System.out.println(x); } } ``` - [ ] B ```java public class MyClass implements MyInterface { // .... public double foo(int x){ return x * 100; } } ``` - [x] C ```java public class MyClass implements MyInterface { // .... public int foo(int x){ return x * 100; } } ``` - [ ] D ```java public class MyClass implements MyInterface { // .... public int foo(){ return 100; } } ``` #### Q108. What is the result of this program? ```java interface Foo { int x = 10; } public class Main{ public static void main(String[] args) { Foo.x = 20; System.out.println(Foo.x); } } ``` - [ ] 10 - [ ] 20 - [ ] null - [x] An error will occur when compiling. #### Q109. Which statement must be inserted on line 1 to print the value true? ```java 1: 2: Optional<String> opt = Optional.of(val); 3: System.out.println(opt.isPresent()); ``` - [ ] `Integer val = 15;` - [x] `String val = "Sam";` - [ ] `String val = null;` - [ ] `Optional<String> val = Optional.empty();` #### Q110. What will this code print, assuming it is inside the main method of a class? ```java System.out.println(true && false || true); System.out.println(false || false && true); ``` - [ ] false </br> true - [ ] true </br> true - [x] true </br> false - [ ] false </br> false #### Q111. What will this code print? ```java List<String> list1 = new ArrayList<>(); list1.add("One"); list1.add("Two"); list1.add("Three"); List<String> list2 = new ArrayList<>(); list2.add("Two"); list1.remove(list2); System.out.println(list1); ``` - [ ] `[Two]` - [x] `[One, Two, Three]` - [ ] `[One, Three]` - [ ] `Two` #### Q112. Which code checks whether the characters in two Strings,named `time` and `money`, are the same? - [ ] `if(time <> money){}` - [x] `if(time.equals(money)){}` - [ ] `if(time == money){}` - [ ] `if(time = money){}` #### Q113. An **\_** is a serious issue thrown by the JVM that the JVM is unlikely to recover from. An **\_** is an unexpected event that an application may be able to deal with in order to continue execution. - [ ] exception,assertion - [ ] AbnormalException, AccidentalException - [x] error, exception - [ ] exception, error #### Q114. Which keyword would not be allowed here? ```java class Unicorn { _____ Unicorn(){} } ``` - [x] static - [ ] protected - [ ] public - [ ] void #### Q115. Which OOP concept is this code an example of? ```java List[] myLists = { new ArrayList<>(), new LinkedList<>(), new Stack<>(), new Vector<>(), }; for (List list : myLists){ list.clear(); } ``` - [ ] composition - [ ] generics - [x] polymorphism - [ ] encapsulation **Explanation:** switch between different implementations of the `List` interface. #### Q116. What does this code print? ```java String a = "bikini"; String b = new String("bikini"); String c = new String("bikini"); System.out.println(a == b); System.out.println(b == c); ``` - [ ] true; false - [x] false; false - [ ] false; true - [ ] true; true **Explanation:** `== operator` compares the object reference. `String a = "bikini"; String b = "bikini";` would result in True. Here new creates a new object, so false. Use `equals() method` to compare the content. #### Q117. What keyword is added to a method declaration to ensure that two threads do not simultaneously execute it on the same object instance? - [ ] native - [ ] volatile - [x] synchronized - [ ] lock [Reference](https://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html) #### Q118. Which is a valid type for this lambda function? ```java _____ oddOrEven = x -> { return x % 2 == 0 ? "even" : "odd"; }; ``` - [ ] `Function<Integer, Boolean>` - [ ] `Function<String>` - [x] `Function<Integer, String>` - [ ] `Function<Integer>` [Explaination](https://github.com/0nyr/java/tree/main/examples/lambda_function), [Reference](https://www.geeksforgeeks.org/function-interface-in-java-with-examples/) #### Q119. What is displayed when this code is compiled and executed? ```java import java.util.HashMap; public class Main { public static void main(String[] args) { HashMap<String, Integer> pantry = new HashMap<>(); pantry.put("Apples", 3); pantry.put("Oranges", 2); int currentApples = pantry.get("Apples"); pantry.put("Apples", currentApples + 4); System.out.println(pantry.get("Apples")); } } ``` - [ ] 6 - [ ] 3 - [ ] 4 - [x] 7 [Explanation](https://github.com/0nyr/java/tree/main/training/linkedin_assessment/what_is_displayed_0) #### Q120. What variable type should be declared for capitalize? ```shell List<String> songTitles = Arrays.asList("humble", "element", "dna"); _______ capitalize = (str) -> str.toUpperCase(); songTitles.stream().map(capitalize).forEach(System.out::println); ``` - [x] `Function<String, String>` - [ ] `Stream<String>` - [ ] `String<String, String>` - [ ] `Map<String, String>` [Explanation](https://github.com/0nyr/java/tree/main/training/linkedin_assessment/what_variable_type_0), [Reference](https://www.geeksforgeeks.org/function-interface-in-java-with-examples/) #### Q121. Which is the correct return type for the processFunction method? ```java _____ processFunction(Integer number, Function<Integer, String> lambda) { return lambda.apply(number); } ``` - [ ] `Integer` - [x] `String` - [ ] `Consumer` - [ ] `Function<Integer, String>` [Explanation](https://github.com/0nyr/java/tree/main/training/linkedin_assessment/which_return_type_0) #### Q122. What function could you use to replace slashes for dashes in a list of dates? ```java List<String> dates = new ArrayList<String>(); // missing code dates.replaceAll(replaceSlashes); ``` - [x] `UnaryOperator<String> replaceSlashes = date -> date.replace("/", "-");` - [ ] `Function<String, String> replaceSlashes = dates -> dates.replace("-", "/");` - [ ] `Map<String, String> replaceSlashes = dates.replace("/", "-");` - [ ] `Consumer<Date> replaceSlashes = date -> date.replace("/", "-");` **Explanation:** `replaceAll` method for any List<T> only accepts UnaryOperator<T> to pass every single element into it then put the result into the List<T> again. #### Q123. From which class do all other classes implicitly extend? - [x] `Object` - [ ] `Main` - [ ] `Java` - [ ] `Class` [Explanation](https://stackoverflow.com/questions/17187218/default-class-that-is-extended-by-all-classes-in-java) #### Q124. How do you create and run a Thread for this class? ```java import java.util.date; public class CurrentDateRunnable implements Runnable { @Override public void run () { while (true) { System.out.println("Current date: " + new Date()); try { Thread.sleep(5000); } catch (InterruptedException e) { throw new RuntimeException(e); } } } } ``` - [x] `Thread thread = new Thread(new CurrentDateRunnable()); thread.start();` - [ ] `new Thread(new CurrentDateRunnable()).join();` - [ ] `new CurrentDateRunnable().run();` - [ ] `new CurrentDateRunnable().start();` [Reference](https://www.w3schools.com/java/java_threads.asp) #### Q125. Which expression is a functional equivalent? ```java List<Integer> numbers = List.of(1,2,3,4); int total = 0; for (Integer x : numbers) { if (x % 2 == 0) total += x * x; } ``` - [ ] A ```java int total = numbers.stream() .transform(x -> x * x) .filter(x -> x % 2 == 0) .sum (); ``` - [ ] B ```java int total = numbers.stream() .filter(x -> x % 2 == 0) .collect(Collectors.toInt()); ``` - [ ] C ```java int total = numbers.stream() .mapToInt (x -> {if (x % 2 == 0) return x * x;}) .sum(); ``` - [x] D ```java int total = numbers.stream() .filter(x -> x % 2 == 0) .mapToInt(x -> x * x) .sum(); ``` **Explanation:** The given code in the question will give you the output 20 as total: ```java numbers // Input `List<Integer>` > [1, 2, 3, 4] .stream() // Converts input into `Stream<Integer>` .filter(x -> x % 2 == 0) // Filter even numbers and return `Stream<Integer>` > [2, 4] .mapToInt(x -> x * x) // Square the number, converts `Integer` to an `int`, and returns `IntStream` > [4, 16] .sum() // Returns the sum as `int` > 20 ``` #### Q126. Which is not one of the standard input/output streams provided by java.lang.System? - [x] print - [ ] out - [ ] err - [ ] in #### Q127. The compiler is complaining about this assignment of the variable pickle to the variable jar. How woulld you fix this? ```java double pickle = 2; int jar = pickle; ``` - [ ] Use the method toInt() to convert pickle before assigning it to jar. - [x] Cast pickle to an int before assigning it to jar. - [ ] Make pickle into a double by adding + ".0" - [ ] Use the new keyword to create a new Integer from pickle before assigning it to jar. [Reference](https://www.w3schools.com/java/java_type_casting.asp) #### Q128. What value should x have to make this loop execute 10 times? ```java for(int i=0; i<30; i+=x) {} ``` - [ ] 10 - [x] 3 - [ ] 1 - [ ] 0 #### Q129. The **\_** runs compiled Java code, while the **\_** compiles Java files. - [ ] IDE; JRE - [ ] JDK; IDE - [x] JRE; JDK - [ ] JDK; JRE [Reference](https://stackoverflow.com/questions/1906445/what-is-the-difference-between-jdk-and-jre) #### Q130. Which packages are part of Java Standard Edition - [ ] java.net - [ ] java.util - [ ] java.lang - [x] All above [Reference](https://docs.oracle.com/en/java/javase/11/docs/api/allpackages-index.html) #### Q131. What values for x and y will cause this code to print "btc"? ```java String buy = "bitcoin"; System.out.println(buy.substring(x, x+1) + buy.substring(y, y+2)) ``` - [x] int x = 0; int y = 2; - [ ] int x = 1; int y = 3; - [ ] int x = 0; int y = 3; - [ ] int x = 1; int y = 3; #### Q132. Which keyword would you add to make this method the entry point of the program? - [ ] exception - [ ] args - [x] static - [ ] String [Reference](https://www.geeksforgeeks.org/java-main-method-public-static-void-main-string-args/) #### Q133. You have a list of Bunny objects that you want to sort by weight using Collections.sort. What modification would you make to the Bunny class? - [x] Implement the comparable interface by overriding the compareTo method. - [ ] Add the keyword default to the weight variable. - [ ] Override the equals method inside the Bunny class. - [ ] Implement Sortable and override the sortBy method. [Reference](https://www.geeksforgeeks.org/how-to-override-compareto-method-in-java/) #### Q134. Identify the incorrect Java feature. - [ ] Object oriented - [x] Use of pointers - [ ] Dynamic - [ ] Architectural neural [Reference](https://www.interviewbit.com/blog/features-of-java/) #### Q135. What is the output of this code? ```java int yearsMarried = 2; switch (yearsMarried) { case 1: System.out.println("paper"); case 2: System.out.println("cotton"); case 3: System.out.println("leather"); default: System.out.println("I don't gotta buy gifts for nobody!"); } ``` - [ ] cotton - [ ] cotton <br> leather - [x] cotton <br> leather <br> I don't gotta buy gifts for nobody! - [ ] cotton <br> I don't gotta buy gifts for nobody! [Reference](https://stackoverflow.com/a/8564008) #### Q136. What language feature do these expressions demonstrate? ``` System.out::println Doggie::fetch ``` - [ ] condensed invocation - [ ] static references - [x] method references - [ ] bad code [Reference](https://stackoverflow.com/questions/31020269/what-is-the-use-of-system-outprintln-in-java-8) #### Q137. What is the difference between the wait() and sleep methods? - [ ] Only Threads can wait, but any Object can be put to sleep. - [x] A wait can be woken up by another Thread calling notify whereas a sleep cannot. - [ ] When things go wrong, sleep throws an IllegalMonitorStateException whereas wait throws an InterruptedException. - [ ] Sleep allows for multi-threading whereas wait does not. [Reference](https://docs.oracle.com/javase/tutorial/essential/concurrency/notify.html) #### Q138. Which is the right way to declare an enumeration of cats? - [ ] enum Cats (SPHYNX, SIAMESE, BENGAL); - [ ] enum Cats ("sphynx", "siamese", "bengal"); - [x] enum Cats {SPHYNX, SIAMESE, BENGAL} - [ ] enum Cats {"sphynx","siamese","bengal} #### Q139. What happens when this code is run? ```java List<String> horses = new ArrayList<String>(); horses.add (" Sea Biscuit "); System.out.println(horses.get(1).trim()); ``` - [ ] "Sea Biscuit" will be printed. - [ ] " Sea Biscuit " will be printed. - [x] An IndexOutOfBoundsException will be thrown. - [ ] A NullPointerException will be thrown. #### Q140. Which data structure would you choose to associate the amount of rainfall with each month? - [ ] Vector - [ ] LinkedList - [x] Map - [ ] Queue **Explanation:** > from @yktsang01 in #3915 thread Map because map is a key/value pair without creating new classes/objects. So can store the rainfall per month like `Map<java.time.Month, Double>`. The other options will most likely need some new class to be meaningful: ```java public class Rainfall { private java.time.Month month; private double rainfall; } Vector<Rainfall> LinkedList<Rainfall> Queue<Rainfall> ``` #### Q141. Among the following which contains date information? - [x] java.sql timestamp - [ ] java.io time - [ ] java.io.timestamp - [ ] java.sql.time #### Q142. What is the size of float and double in java? - [x] 32 and 64 - [ ] 32 and 32 - [ ] 64 and 64 - [ ] 64 and 32 #### Q143. When you pass an object reference as an argument to a method call what gets passed? - [ ] a reference to a copy - [x] a copy of the reference - [ ] the object itself - [ ] the original reference #### Q144. Which choice demonstrates a valid way to create a reference to a static function of another class? - [x] Function<Integer, Integer> funcReference = MyClass::myFunction; - [ ] Function<Integer, Integer> funcReference = MyClass.myFunction; - [ ] Function<Integer, Integer> funcReference = MyClass().myFunction(); - [ ] Function<Integer, Integer> funcReference = MyClass::myFunction(); #### Q145. What is UNICODE? - [ ] Unicode is used for external representation of words and strings - [ ] Unicode is used for internal representation of characters and strings - [x] Unicode is used for external representation of characters and strings - [ ] Unicode is used for internal representation of words and strings #### Q146. What kind of thread is the Garbage collector thread? - [ ] User thread - [x] Daemon thread - [ ] Both - [ ] None of these #### Q147. What is HashMap and Map? - [ ] HashMap is Interface and map is class that implements that - [ ] HashMap is class and map is interface that implements that - [ ] Map is class and Hashmap is interface that implements that - [x] Map is Interface and Hashmap is class that implements that #### Q148. What invokes a thread's run() method? - [ ] JVM invokes the thread's run() method when the thread is initially executed. - [ ] Main application running the thread. - [x] start() method of the thread class. - [ ] None of the above. **Explanation:** After a thread is started, via its `start()` method of the Thread class, the JVM invokes the thread's `run()` method when the thread is initially executed. #### Q149. What is true about a final class? - [ ] class declared final is a final class. - [ ] Final classes are created so the methods implemented by that class cannot be overriddden. - [ ] It can't be inherited. - [x] All of the above. **Explanation:** Final classes are created so the methods implemented by that class cannot be overridden. It can't be inherited. These classes are declared `final`. #### Q150. Which method can be used to find the highest value of x and y? - [ ] Math.largest(x,y) - [ ] Math.maxNum(x,y) - [x] Math.max(x,y) - [ ] Math.maximum(x,y) #### Q151. `void accept(T t)` is method of -? - [x] Consumer - [ ] Producer - [ ] Both - [ ] None #### Q152. Which of these does `Stream filter()` operates on? - [x] Predicate - [ ] Interface - [ ] Class - [ ] Methods #### Q153. Which of these does `Stream map()` operates on? - [ ] Class - [ ] Interface - [ ] Predicate - [x] Function #### Q154. What code is needed at line 8? ```java 1: class Main { 2: public static void main(String[] args) { 3: Map<String, Integer> map = new HashMap<>(); 4: map.put("a", 1); 5: map.put("b", 2); 6: map.put("c", 3); 7: int result = 0; 8: 9: result += entry.getValue(); 10: } 11: System.out.println(result); // outputs 6 12: } 13: } ``` - [ ] for(MapEntry<String, Integer> entry: map.entrySet()) { - [ ] for(String entry: map) { - [ ] for(Integer entry: map.values()) { - [x] for(Entry<String, Integer> entry: map.entrySet()) { #### Q155. What will print when Lambo is instantiated? ```java class Car { String color = "blue"; } class Lambo extends Car { String color = "white"; public Lambo() { System.out.println(super.color); System.out.println(this.color); System.out.println(color); } } ``` - [x] blue white white - [ ] blue white blue - [ ] white white white - [ ] white white blue ### Q156. Which command will run a FrogSounds app that someone emailed to you as a jar? - [ ] jar FrogSounds.java - [ ] javac FrogSounds.exe - [ ] jar cf FrogSounds.jar - [x] java -jar FrogSounds.jar #### Q157. What is the default value of short variable? - [x] 0 - [ ] 0.0 - [ ] null - [ ] undefined #### Q158. What will be the output of the following Java program? ```java class variable_scope { public static void main(String args[]) { int x; x = 5; { int y = 6; System.out.print(x + " " + y); } System.out.println(x + " " + y); } } ``` - [x] Compilation Error - [ ] Runtime Error - [ ] 5 6 5 6 - [ ] 5 6 5 **Explanation:** Scope of variable Y is limited. #### Q159. Subclasses of an abstract class are created using the keyword **\_**. - [x] extends - [ ] abstracts - [ ] interfaces - [ ] implements [Reference](https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html) #### Q160. What will be the output of the following program? ```java import java.util.Formatter; public class Course { public static void main(String[] args) { Formatter data = new Formatter(); data.format("course %s", "java "); System.out.println(data); data.format("tutorial %s", "Merit campus"); System.out.println(data); } } ``` - [ ] course java tutorial Merit campus - [x] course java course java tutorial Merit campus - [ ] Compilation Error - [ ] Runtime Error #### Q161. Calculate the time complexity of the following program. ```java void printUnorderedPairs(int[] arrayA, int[] arrayB){ for(int i = 0; i < arrayA.length; i++){ for(int j = 0; j < arrayB.length; j++){ if(arrayA[i] < arrayB[j]){ System.out.println(arrayA[i] + "," + arrayB[j]); } } } } ``` - [ ] O(N\*N) - [ ] O(1) - [x] O(AB) - [ ] O(A\*B) #### Q162. What do these expressions evaluate to? 1. true && false 2. true && false || true - [x] 1. false 2. true - [ ] 1. false 2. false - [ ] 1. true 2. false - [ ] 1. true 2. true [Reference](<http://englishonlineclub.com/pdf/Cracking%20the%20Coding%20Interview%20-%20189%20Programming%20Questions%20and%20Solutions%20(6th%20Edition)%20[EnglishOnlineClub.com].pdf>) //check page number 47 and example number 4.:-}