What is the role of FileWriter and FileReader in character streams when dealing with file I/O?

  • FileWriter and FileReader are used for binary data, not text data.
  • FileWriter and FileReader are used interchangeably, depending on whether you read or write data.
  • FileWriter is used for reading text data, and FileReader is used for writing text data.
  • FileWriter is used for writing text data to a file, and FileReader is used for reading text data.
FileWriter is used for writing text data to a file, while FileReader is used for reading text data from a file. These classes are specifically designed for character-based I/O operations and are suitable for working with text files. They automatically handle character encoding, making them convenient for text-based file operations.

You're tasked with creating a spinner loader animation that rotates 360 degrees indefinitely. How would you define this in the @keyframes rule?

  • @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
  • @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
  • @keyframes rotate { 0% { transform: rotate(0deg); } 360% { transform: rotate(360deg); } }
  • @keyframes rotate { from { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
To create a spinner loader animation that rotates 360 degrees indefinitely, you would define it using the @keyframes rule. The correct definition uses Option 2: @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }. This specifies a continuous rotation animation starting from 0 degrees and ending at 360 degrees, creating an infinite spinning effect.

Which of the following is the default value of an int variable declared as an instance variable?

  • 0
  • 1
  • -1
  • The default value depends on the specific situation.
In Java, the default value of an instance variable of type int is 0. This is true for all numeric types in Java. The other options are not the default values for int instance variables.

What will be the result of the following Stream operation: Stream.of("a", "b", "c").filter(e -> e.contains("b")).findFirst();?

  • null
  • a
  • b
  • c
In this Stream operation, we start with a stream of strings "a", "b", and "c". The filter operation filters the elements based on the condition e -> e.contains("b"), which checks if the string contains "b". It will return the first element that matches the condition, which is "b". So, the result of this operation is "b". The findFirst() method returns an Optional, which can be null if no elements match the condition.

If int[][] arr = new int[3][]; then arr[0] is a ________.

  • 1D array
  • 2D array
  • empty array
When you declare a two-dimensional array like int[][] arr = new int[3][];, arr[0] is a 1D array that can hold integers. In this declaration, you specify the number of rows (3), but the number of columns is left unspecified, so it's an array of arrays with no specific size.

The default value of an object reference declared as an instance variable is ________.

  • null
  • 0
  • FALSE
  • TRUE
The default value of an object reference declared as an instance variable in Java is "null." When you declare an instance variable for a class, it initially points to no object until you explicitly assign an object to it. "null" signifies the absence of an object reference.

What is the default value of a local variable of data type boolean in Java?

  • 1
  • 0
  • FALSE
  • TRUE
Local variables in Java don't have default values. They must be initialized before use. However, for class-level variables of boolean type, the default value is false.

How can SQL Injection be prevented when executing queries using JDBC?

  • Using Prepared Statements and Parameterized Queries
  • Using a plain SQL query string with user inputs
  • Escaping special characters manually in SQL queries
  • Using the executeUpdate() method instead of executeQuery()
SQL Injection can be prevented in Java when executing JDBC queries by using Prepared Statements and Parameterized Queries. These mechanisms ensure that user inputs are treated as data and not executable code, thus protecting against malicious SQL injection. Options 2 and 3 are not secure and can leave the application vulnerable to attacks. Option 4 is incorrect, as it relates to result sets and not prevention of SQL injection.

Envision a scenario where you need to design a chat server for thousands of concurrent connections. How would you design the server and what Java networking APIs would you use?

  • Implement a multi-threaded server using Java's ServerSocket and create a thread per connection.
  • Use Java NIO (New I/O) with non-blocking sockets and a selector to efficiently manage connections.
  • Use Java's SocketChannel and ServerSocketChannel with multi-threading to handle concurrent connections.
  • Utilize a single-threaded server using Java's Socket and a thread pool to manage connections.
To efficiently handle thousands of concurrent connections in a chat server, Java NIO (Option 2) with non-blocking sockets and a selector is the preferred choice. It allows a single thread to manage multiple connections efficiently. Options 1 and 4, which use traditional multi-threading with ServerSocket or a thread pool with Socket, may lead to high resource consumption and thread management overhead. Option 3, although it uses NIO, suggests multi-threading, which is less efficient than a single-threaded NIO with a selector for such high concurrency scenarios.

Envision a scenario where you need to update a user’s details and also log the changes in an audit table. This operation needs to ensure data integrity and consistency. How would you achieve this using JDBC?

  • Use a database transaction to wrap both the user's update and the audit log insertion, ensuring that both operations succeed or fail together.
  • Perform the user update first, and if it succeeds, log the change in the audit table as a separate transaction.
  • Use separate database connections for the user update and audit log insertion to ensure isolation.
  • Implement a manual synchronization mechanism to ensure consistency between user updates and audit log entries.
Ensuring data integrity and consistency in this scenario requires using a database transaction to wrap both the user's update and the audit log insertion. This ensures that both operations succeed or fail together, maintaining data consistency. Performing them as separate transactions (Option 2) can lead to inconsistencies if one operation succeeds and the other fails. Using separate connections (Option 3) is not necessary when using transactions. Manual synchronization (Option 4) is error-prone and not recommended for such scenarios.