Which loop structure should be used when the number of iterations is known in advance?

  • do-while loop
  • for loop
  • if statement
  • while loop
The for loop is ideal when you know the number of iterations in advance. It consists of an initialization, condition, and increment/decrement statement. This loop is suitable for iterating over arrays, collections, or any situation where the number of iterations is predetermined.

What is the primary purpose of a constructor in Java?

  • To create objects of the class.
  • To define the class methods.
  • To initialize the class variables.
  • To provide a way to destroy objects of the class.
In Java, a constructor's primary purpose is to initialize the class's instance variables when an object is created. Constructors don't define class methods or create/destroy objects; that's not their primary role.

A ________ block will always execute, whether an exception is thrown or not.

  • catch
  • finally
  • throw
  • try
The finally block is used to define a block of code that always executes, regardless of whether an exception is thrown or not. It's commonly used for cleanup operations such as closing files or releasing resources.

The method getInputStream() returns an input stream that reads from the ________.

  • URL
  • output stream
  • remote object
  • socket
The getInputStream() method in Java returns an input stream that allows you to read data from the remote object referred to by the URL. This is commonly used in HTTP connections to read the response data from a server. The other options do not represent what this method returns.

Consider a scenario where you are designing a graphics system that includes different types of shapes (e.g., Circle, Rectangle). How would you decide between using an abstract class and an interface for defining common methods?

  • Use a concrete class and use inheritance to define common methods, as concrete classes can directly provide method implementations.
  • Use an abstract class with a base shape class and common methods, as abstract classes can provide both method implementations and fields.
  • Use an interface to define common methods, as interfaces allow for multiple inheritance and can be implemented by different shape classes.
  • Use both an abstract class and an interface, combining the advantages of both.
In this scenario, using an abstract class is appropriate because you can define common methods with default implementations in the base shape class. This provides code reusability and allows shape classes to inherit these methods. Interfaces can also be used, but they don't provide method implementations, making abstract classes a more suitable choice for this use case.

Which searching algorithm requires the data to be sorted to work effectively?

  • Binary Search
  • Linear Search
  • Merge Sort
  • Quick Sort
Binary Search is an algorithm that requires the data to be sorted in ascending or descending order for effective searching. It uses the divide and conquer method and is not suitable for unsorted data.

To update UI components from a non-JavaFX thread, use ________.

  • Platform.exit()
  • Platform.repaint()
  • Platform.runLater()
  • Platform.update()
To update UI components from a non-JavaFX thread in JavaFX, you should use the Platform.runLater() method. This method allows you to enqueue a Runnable object to be executed on the JavaFX Application Thread, ensuring that UI updates are performed on the correct thread to avoid concurrency issues.

Which method removes the first occurrence of the specified element from a LinkedList?

  • delete()
  • deleteFirst()
  • remove()
  • removeFirst()
The remove() method in a LinkedList is used to remove the first occurrence of the specified element. It takes the element as an argument and searches for its first occurrence, then removes it. removeFirst() is not a standard method in LinkedList. deleteFirst() and delete() are not valid methods for removing elements in a LinkedList.

How can you cancel a task submitted to ExecutorService using Future?

  • future.cancel(true)
  • future.interrupt()
  • future.shutdown()
  • future.stop()
In Java, you can cancel a task submitted to an ExecutorService using the cancel method on a Future object. The argument true passed to cancel(true) means an attempt to interrupt the task, while false means attempting a graceful cancellation. Using stop() and interrupt() is not recommended for canceling tasks, and shutdown() is used to shut down the entire ExecutorService, not to cancel a specific task.

The ________ class in Java creates an immutable sequence of characters.

  • CharArray
  • String
  • StringBuffer
  • StringBuilder
In Java, the String class creates an immutable sequence of characters. This means that once a string is created, its content cannot be changed. The other options, StringBuilder, StringBuffer, and CharArray, are used for mutable character sequences.