Unlock 1000+ Java Interview Questions – Free PDF Guide for Developers
This post shares a comprehensive Java interview handbook containing over 1,000 questions covering MyBatis, Zookeeper, Dubbo, Redis, MySQL, concurrency, Spring, Kafka, micro‑services and more, hosted on GitHub with 30K+ stars, and explains how to obtain the latest PDF via a WeChat QR code.
The author has compiled a massive Java interview handbook with more than 1,000 questions (approximately 485 pages, 320,000 words) covering a wide range of backend technologies. The guide is available on GitHub and has attracted over 30,000 stars.
MyBatis Interview Questions
What is MyBatis?
Advantages of MyBatis
Disadvantages of MyBatis
Suitable scenarios for MyBatis
Differences between MyBatis and Hibernate
Difference between # and $
How to handle mismatched property and column names?
How to write fuzzy query with LIKE?
How does the DAO interface work with an XML mapper?
How does MyBatis perform pagination? What is the principle of pagination plugins?
What mapping forms does MyBatis use to wrap SQL results into target objects?
How to execute batch inserts?
How to obtain auto‑generated primary keys? How to pass multiple parameters in a mapper?
What is the purpose of dynamic SQL in MyBatis? How does it work? What dynamic SQL types exist?
Besides common select/insert/update/delete tags, what other tags exist in an XML mapper?
Why is MyBatis considered a semi‑automatic ORM tool? How does it differ from fully automatic tools?
How to implement one‑to‑one and one‑to‑many associations? How many ways?
Does MyBatis support lazy loading? If so, how?
What are first‑level and second‑level caches in MyBatis?
What is interface binding in MyBatis and how is it implemented?
Requirements for using MyBatis mapper interfaces?
Different ways to write a mapper?
Explain the plugin mechanism of MyBatis and how to develop plugins.
Zookeeper Interview Questions
What is Zookeeper?
What does Zookeeper provide?
Zookeeper file system
ZAB protocol
Four types of Znode data nodes
Watcher mechanism – data change notification
How does a client register a watcher?
How does the server handle watcher notifications?
Client callback watcher
ACL permission control mechanism
Chroot feature
Session management
Server roles
Server working states
Data synchronization
How does Zookeeper guarantee transaction order consistency?
Why does a distributed cluster need a master? How to handle node failures?
Difference between Zookeeper load balancing and Nginx load balancing
Deployment modes of Zookeeper
Minimum number of machines for a cluster and its rules
Can the cluster dynamically add machines?
Are watcher notifications permanent? Why not?
Java clients of Zookeeper
What is Chubby and how does it compare to Zookeeper?
Common Zookeeper commands
Relation between ZAB and Paxos algorithms
Typical application scenarios of Zookeeper
Dubbo Interview Questions
Why use Dubbo?
What are the layers of Dubbo’s overall architecture?
Default communication framework and alternatives
Is service invocation blocking?
Typical registry centers and alternatives
Default serialization framework and other options
How does Dubbo achieve service degradation and version compatibility?
How to solve long service call chains? Core configuration items?
Recommended Dubbo protocol
Can you directly connect to a specific service when multiple providers exist?
Draw the service registration and discovery flowchart
Dubbo cluster fault‑tolerance schemes
How to implement service downgrade and retry?
Common problems encountered when using Dubbo
Principle of Dubbo Monitor implementation
Design patterns used by Dubbo
How Dubbo configuration files are loaded into Spring
Difference between Dubbo SPI and Java SPI
Does Dubbo support distributed transactions?
Can Dubbo cache results?
How to ensure service upgrades are compatible with old versions
Essential Dubbo dependencies
What can Dubbo telnet command do?
Does Dubbo support service degradation?
How to gracefully shut down Dubbo?
Difference between Dubbo and Dubbox
Difference between Dubbo and Spring Cloud; other distributed frameworks?
Redis Interview Questions
What is Redis?
Data types in Redis
Benefits of using Redis
Advantages of Redis over Memcached
Differences between Memcached and Redis
Is Redis single‑process or single‑threaded?
Maximum size of a string value
Persistence mechanisms of Redis and their pros/cons
Common performance problems and solutions; expiration key deletion strategy
Redis eviction policies
Why does Redis keep all data in memory? Synchronization mechanisms?
Benefits of pipeline and why to use it
Experience with Redis cluster and its principles
When can a Redis cluster become unavailable?
Java clients for Redis and recommended one
Comparison of Jedis and Redisson
How to set and verify passwords in Redis
Concept of hash slots
Master‑slave replication model in Redis cluster
Potential data loss in Redis cluster and reasons
Replication mechanism in Redis cluster
Maximum number of nodes in a Redis cluster
How to choose a database in a cluster
Testing Redis connectivity
Understanding Redis transactions
Redis transaction commands
How to set key expiration and permanent validity
Memory optimization techniques for Redis
How the Redis eviction process works
Ways to reduce Redis memory usage
What happens when Redis memory is exhausted
Maximum number of keys per Redis instance and per data structure
Ensuring hot data stays in Redis when MySQL holds 20 M rows
Best scenarios for using Redis
How to efficiently delete a large number of keys with a common prefix
Considerations when setting the same expiration time for many keys
Using Redis as an asynchronous queue
Using Redis distributed locks
MySQL Interview Questions
Types of locks in MySQL
Different table types in MySQL
Difference between MyISAM and InnoDB
Four transaction isolation levels and their differences
Difference between CHAR and VARCHAR
Difference between primary key and candidate key
Purpose of myisamchk
Effect of defining a column as TIMESTAMP
How to view all indexes of a table
Meaning of % and _ in LIKE statements
Column comparison operators
Difference between BLOB and TEXT
Difference between mysql_fetch_array and mysql_fetch_object
Storage format of MyISAM tables
How to optimize DISTINCT queries
How to display the first 50 rows
Maximum number of columns that can be indexed
Difference between NOW() and CURRENT_DATE()
What are non‑standard string types?
What are common SQL functions?
Does MySQL support transactions?
Best field type for storing monetary values
Permission‑related tables in MySQL
Possible column string types
How to optimize a database that stores >5 M rows daily for three years
Lock optimization strategies
Underlying implementation and optimization of indexes
When an index cannot be used
Practical MySQL optimization methods
Methods to optimize a database
Impact of indexes, primary keys, unique keys, and composite indexes on performance
What is a transaction in a database?
Causes of SQL injection and prevention methods
Choosing appropriate data types for table fields
Storage engines
Importance of indexes in relational databases
Difference between outer join, inner join, and self‑join
Overview of MySQL transaction rollback mechanism
Components of SQL language
Types of integrity constraints
What is a lock?
What are views and cursors?
What is a stored procedure and how to call it?
Explanation of the three normal forms
Difference between base tables and views
Advantages of views
Meaning of HUI.L
Difference between primary key, foreign key, and index
How to enforce column value ranges
SQL statement optimization methods
Java Concurrency Interview Questions
Three essential elements of concurrent programming
Methods to achieve visibility
Value of multithreading
Ways to create threads
Comparison of three thread‑creation methods
Thread state transition diagram
Five basic thread states in Java
What is a thread pool? Creation methods?
Four ways to create thread pools
Advantages of thread pools
Common concurrent utility classes
Difference between CyclicBarrier and CountDownLatch
Purpose of synchronized
Purpose of volatile keyword
What is CAS?
Problems of CAS
What is Future?
What is AQS?
AQS supports two synchronization modes
What is ReentrantLock?
What is FutureTask?
Difference between synchronized and ReentrantLock
Optimistic lock vs pessimistic lock
How does thread B know thread A modified a variable?
Comparison of synchronized, volatile, CAS
Difference between sleep and wait
What is ThreadLocal and its use?
Why must notify/notifyAll be called inside a synchronized block?
Methods of thread synchronization
Thread scheduling strategies
Concurrency level of ConcurrentHashMap
How to find the thread using most CPU in Linux
Java deadlock and how to avoid it
Causes of deadlock
How to wake a blocked thread
How immutable objects help multithreading
What is thread context switching?
What happens when a thread pool queue is full?
Thread scheduling algorithm used by Java
What is a thread scheduler and time slicing?
What is a spin lock?
What is the Lock interface in java.util.concurrent.locks?
Thread‑safety of singleton pattern
Purpose of Semaphore
What is Executors class?
Which thread uses the constructor and static block of a thread class?
Which is better: synchronized method or block?
Exceptions caused by too many Java threads
Spring Interview Questions
What is Spring?
Benefits of using Spring framework
Modules that compose Spring
Core container (application context) module
BeanFactory and its implementations
XMLBeanFactory
Explain AOP module
Explain JBC abstract and DAD modules
Explain ORM integration module
Explain WEB module
Spring configuration files
What is Spring IoC container?
Advantages of IoC
Typical implementation of ApplicationContext
Difference between BeanFactory and ApplicationContext
What does a Spring application look like? Dependency injection
What is Spring’s dependency injection?
Different types of IoC (dependency injection) methods
Which DI method is recommended: constructor or setter?
What are Spring beans?
What does a Spring bean definition contain?
How to provide metadata to Spring container?
How to define bean scope?
Explain bean scopes supported by Spring
Are singleton beans thread‑safe?
Explain bean lifecycle in Spring
Important bean lifecycle methods and overriding them
What are internal beans in Spring?
How to inject a Java collection into Spring?
What is bean wiring?
What is autowiring?
Explain different autowiring modes
Limitations of autowiring
Can you inject null or empty string in Spring?
Java‑based Spring configuration examples
Annotation‑based container configuration
How to enable annotation wiring
@Required annotation
@Autowired annotation
@Qualifier annotation
How to use JDBC more effectively in Spring
JdbcTemplate
Spring’s support for DAO
How Spring integrates with Hibernate
Spring‑supported ORM
How to combine Spring and Hibernate via HibernateDaoSupport
Transaction management types supported by Spring
Advantages of Spring transaction management
Preferred transaction management type
Explain AOP
Aspect
Difference between concern and cross‑cutting concern in Spring AOP
Join point
Advice
Pointcut
What is introduction?
What is target object?
What is proxy?
Different types of automatic proxies
What is weaving and its variations?
XML‑based aspect implementation
Annotation‑based aspect implementation
What is Spring’s MVC framework?
DispatcherServlet
WebApplicationContext
Controller in Spring MVC
Kafka Interview Questions
How to get the list of topics
Producer and consumer command‑line tools
Is consumer push or pull?
How Kafka maintains consumer offset tracking
Explain master‑slave synchronization
Why a messaging system is needed; can MySQL replace it?
Role of Zookeeper in Kafka
Three transaction definitions for data transfer
Two conditions to determine if a Kafka node is alive
Three key differences between Kafka and traditional messaging systems
Three mechanisms of Kafka’s ACL
How to solve consumer dead‑lock issues
How to control consumer position
Ensuring ordered consumption in a distributed Kafka cluster
High‑availability mechanism of Kafka
How Kafka reduces data loss
How Kafka avoids duplicate consumption (e.g., for payment deduction)
Micro‑services Interview Questions
Understanding of micro‑services
Advantages of micro‑service architecture
Characteristics of micro‑services
Best practices for designing micro‑services
How micro‑service architecture works
Pros and cons of micro‑service architecture
Difference between monolith, SOA, and micro‑services
Challenges when using micro‑services
Difference between SOA and micro‑services
What is Domain‑Driven Design (DDD)?
Why DDD is needed
What is ubiquitous language?
What is cohesion?
What is coupling?
What is REST and its purpose?
Understanding of Spring Boot
What is Spring Boot’s executor?
What is Spring Cloud?
Problems solved by Spring Cloud
Purpose of @WebMvcTest in Spring MVC applications
Key points about testing micro‑services
Types of micro‑service testing
Understanding of distributed transactions
What is idempotence and where is it used?
What is a bounded context?
What is two‑factor authentication?
Credential types for two‑factor authentication
What is a client certificate?
Purpose of FACT in micro‑service architecture
What is OAuth?
What is Conway’s law?
What is contract testing?
What is end‑to‑end micro‑service testing?
Purpose of containers in micro‑services
What is DRY in micro‑service architecture?
What is consumer‑driven contract (CDC)?
Role of Web/RESTful APIs in micro‑services
Understanding of semantic monitoring in micro‑services
How to perform cross‑functional testing
How to eliminate nondeterminism in tests
Difference between mock and stub
Knowledge of Mike Cohn’s testing pyramid
Purpose of Docker
What is a canary release?
What is continuous integration (CI)?
What is continuous monitoring?
Role of an architect in micro‑service architecture
Can micro‑services be used to create state machines?
What is reactive scaling in micro‑services?
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java High-Performance Architecture
Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
