Question 1: What is the primary drawback of using auto-commit mode in high-traffic applications?
- Data inconsistency
- Increased network round trips
- Deadlocks
- Memory leaks
Explanation: Auto-commit commits every statement, increasing round trips.
This advanced JDBC quiz is designed for experienced Java developers preparing for senior backend and database-focused interviews. It covers transaction isolation, connection pooling, batch optimization, metadata internals, concurrency issues, performance tuning, and real-world JDBC production scenarios.
Explanation: Auto-commit commits every statement, increasing round trips.
Explanation: READ COMMITTED prevents dirty reads.
Explanation: SERIALIZABLE prevents phantom reads.
Explanation: Phantom reads occur when new rows appear between queries.
Explanation: JDBC objects are generally not thread-safe.
Explanation: Concurrent access may corrupt transaction state.
Explanation: Pooling avoids expensive connection creation.
Explanation: HikariCP is a high-performance JDBC pool.
Explanation: Leaked connections exhaust the pool.
Explanation: Transactions ensure atomic execution.
Explanation: Batching minimizes network calls.
Explanation: Batch execution stops and throws an exception.
Explanation: BatchUpdateException contains update counts.
Explanation: PreparedStatements can be reused efficiently.
Explanation: Open ResultSets hold DB resources.
Explanation: TYPE_SCROLL_SENSITIVE reflects DB changes.
Explanation: Data may change during traversal.
Explanation: DatabaseMetaData describes DB features.
Explanation: Version columns enable optimistic locking.
Explanation: Optimistic locking avoids heavy locks.
Explanation: getWarnings() retrieves SQLWarning.
Explanation: Statements are vulnerable to SQL injection.
Explanation: Fetch size enables streaming.
Explanation: It controls how many rows are fetched at once.
Explanation: Large fetch sizes increase memory usage.
Explanation: Connection controls commit and rollback.
Explanation: Uncommitted changes are rolled back.
Explanation: Validation detects broken connections early.
Explanation: It prevents resource leaks.
Explanation: Connections are costly to create.
Explanation: Pooling improves scalability.
Explanation: Long transactions hold locks longer.
Explanation: Higher isolation prevents lost updates.
Explanation: PreparedStatement batching is optimal.
Explanation: It returns affected row count.
Explanation: JDBC standardizes DB access.
Explanation: Vendor SQL limits portability.
Explanation: Pooling is critical for scalability.
Explanation: Connections not closed cause leaks.
Explanation: Active connections reflect pool health.
Explanation: BLOB/CLOB handle large data.
Explanation: Streams reduce memory usage.
Explanation: Query timeout limits execution time.
Explanation: cancel() stops query execution.
Explanation: Transactions enforce ACID.
Explanation: DAO layer improves maintainability.
Explanation: JDBC aims for scalable and reliable DB access.
This advanced JDBC quiz is designed for experienced Java developers preparing for senior backend and database-focused interviews. It covers transaction isolation, connection pooling, batch optimization, metadata internals, concurrency issues, performance tuning, and real-world JDBC production scenarios.